在sqlserver中视图怎么调用存储过程?

yishide_weixiao 2012-04-19 06:36:42
如题
...全文
4142 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
取个名还重名 2014-09-10
  • 打赏
  • 举报
回复
可以调用函数
zhyimsdn 2013-08-08
  • 打赏
  • 举报
回复
在视图中使用 存储过程返回的数据集 例子
Create VIEW vwGetAtAGlanceReport
AS
SELECT *
FROM OPENROWSET('SQLNCLI',
'DRIVER={SQL Server};SERVER=192.168.0.13;UID=sa;PWD=sa;Trusted_Connection=no',
'SET FMTONLY OFF; SET NOCOUNT ON; EXEC PieroTest.dbo.SP_GetAtAGlanceReport')
参考: http://www.cnblogs.com/2zhyi/p/3245997.html
冰封千年箭 2012-04-20
  • 打赏
  • 举报
回复
晕。视图是虚拟表。
存储过程的DBMS端的微程序。
视图只是经过SQL检验过的SQL语句。结果是一个行集或表的映射。
存储过程是一段dbms检验过的程序。是多条T-sql语句组成的程序代码。在dbms里运行。
这是有区别的。
除非在视图中设置触发器启动存储过程。
我在看来。视图就是一张表。调用就用Select
存储过程是程序更象炸蛋。存在。但必须要触发。
楼上说的触发器、其它存储过程、作业等。都是要点火触发这个过程的。必须要有个点火点才成。
liyangfd 2012-04-19
  • 打赏
  • 举报
回复
你调用存储过程有用。。。。
Felixzhaowenzhong 2012-04-19
  • 打赏
  • 举报
回复
视图是不能调用存储过程的。

可以调用存储过程的对象有: 触发器、存储过程、作业
孤独加百列 2012-04-19
  • 打赏
  • 举报
回复
貌似不可以,不过你可以将存储过程里的语句封装成函数然后在视图中调用
给你个函数实例和语句中调用

--创建函数实例
Create Table Test3(aa int,bb nvarchar(200))
go
Insert INTO Test3 values(1,'广东省深圳市深圳火车站深圳火车站') -- 这行有重复的
Insert INTO Test3 values(2,'北京市海淀区委')
Insert INTO Test3 values(3,'广东省深圳市广东省深圳市火车站') -- 这行有重复的
Insert INTO Test3 values(4,'我家住在黄土高坡')
Insert INTO Test3 values(5,'湖南省长沙市万家丽路123号万家丽路123号') -- 这行有重复的


GO

CREATE FUNCTION CheckString(@str nvarchar(200))
RETURNS integer
AS
BEGIN


DECLARE @Length INT
DECLARE @Point INT
DECLARE @Substring NVARCHAR(100)
DECLARE @SubPoint INT
DECLARE @Gap INT
DECLARE @DoHave INT
DECLARE @StrTemp NVARCHAR(100)

SET @Point = 1
SET @Gap = 5
SET @DoHave = 0
SET @Length = LEN(@Str)

WHILE @Gap + @Point <= @Length
BEGIN
SET @StrTemp = @Str
WHILE @Point + @Gap <= @Length
BEGIN
SET @Substring = SUBSTRING(@Str,@Point,@Gap)
SET @StrTemp = REPLACE(@Str,@Substring,'')
IF LEN(@StrTemp) < @Length - @Gap
BEGIN
SET @DoHave = 1
SET @Point = @Length
END
SET @Gap = @Gap + 1
END
SET @Point = @Point + 1
SET @Gap = 5
END

RETURN @DoHave

END


SELECT * FROM Test3 WHERE dbo.CheckString(bb) > 0


内容概要:本文围绕不确定环境下的多式联运路径优化问题展开研究,提出并实现了基于AFO算法、遗传算法(GA)和粒子群优化算法(PSO)的三种智能优化方法,并借助Matlab平台完成算法编程与仿真。研究构建了考虑时间、成本、转运风险等多重不确定因素的路径优化模型,系统比较了AFO、GA、PSO三种算法在收敛速度、全局寻优能力和稳定性方面的表现,同时引入Matlab自带的全局优化搜索器作为基准对照,深入分析各算法在复杂物流网络的适用边界与性能差异。研究表明,AFO算法在解决此类组合优化问题时展现出更快的收敛效率和更强的局部规避能力。; 适合人群:具备一定Matlab编程基础与运筹优化知识,从事物流工程、交通运输规划、智能算法开发等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于多式联运、综合货运网络的路径决策支持系统构建;②为不确定性条件下复杂路径规划问题提供智能算法选型依据与技术实现方案;③支持科研人员复现主流优化算法并开展横向性能对比实验,推动算法改进与实际落地。; 阅读建议:建议读者结合提供的Matlab代码逐模块分析算法实现流程,重点理解目标函数设计、约束条件处理及参数敏感性分析部分,可通过调整问题规模与算法参数进行对比实验,进一步拓展至动态路径规划或大规模网络优化等延伸场景。

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧