首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

如何创建带参数的视图,项目里面刚开始创建存储过程,后来想改成视图

2013-10-01 
怎么创建带参数的视图,项目里面刚开始创建存储过程,后来想改成视图。ALTER PROCEDURE [dbo].[GetNrequestIt

怎么创建带参数的视图,项目里面刚开始创建存储过程,后来想改成视图。
ALTER PROCEDURE [dbo].[GetNrequestItemByNFNo]
@nrequestformno varchar(100)
 AS

  SELECT 
      NRequestItemno
      ,[ItemSource]
      ,[NRequestFormNo]
      ,[BarCodeFormNo]
      ,[TollItemNo]
      ,[formno]
      ,[ParItemNo]
 ,(select cname from testitem where itemno=a.paritemno) as itemnamecw
 ,(select orderno from testitem where itemno=a.paritemno) as orderno
FROM dbo.NRequestItem a 
where nrequestformno=@nrequestformno
怎么添加视图。
[解决办法]
视图不可以带参数,以你的要求,分两步走:先建视图,再用存储过程调用


create view vie_NRequestItem
as 
SELECT 
      NRequestItemno
      ,[ItemSource]
      ,[NRequestFormNo]
      ,[BarCodeFormNo]
      ,[TollItemNo]
      ,[formno]
      ,[ParItemNo]
 ,(select cname from testitem where itemno=a.paritemno) as itemnamecw
 ,(select orderno from testitem where itemno=a.paritemno) as orderno
FROM dbo.NRequestItem



ALTER PROCEDURE [dbo].[GetNrequestItemByNFNo]
@nrequestformno varchar(100)
AS
SELECT *
FROM vie_NRequestItem a 
where nrequestformno=@nrequestformno
go

[解决办法]
你只要看看联机丛书就知道视图不能带参数的。还有,从常规效率、灵活性上来说,视图远不如存储过程,视图更适合权限管理。每个特性要合理使用,而不是想用就用

热点排行