本帖最后由 corsak 于 2020-10-30 08:34 编辑
没整明白,有大侠指点一下么?代码如下:
- ALTER PROCEDURE [dbo].[p_GetV_view]
- @仓库ID AS bigint
- AS
- BEGIN
- DECLARE @sqlstr1 varchar(255)
- DECLARE @sqlstr2 varchar(255)
- SELECT @sqlstr1='IF EXISTS (SELECT 1 FROM sys.VIEWS WHERE NAME=''临时视图'') DROP VIEW 临时视图'--判断视图是否存在,存在则删除
- SELECT @sqlstr2='CREATE VIEW 临时视图 AS SELECT * FROM [dbo].[TY_资源库] where 物品编码 not in (select 编号 from CK_库存表 where 仓库ID<>@仓库ID)' --创建视图
- EXEC (@sqlstr1)
- EXEC (@sqlstr2)
- END
复制代码 出错信息如下:
- Msg 137, Level 15, State 2, Server WIN10-20190527R\MSSQLSERVER1, Procedure 临时视图, Line 1
- 必须声明标量变量 "@仓库ID"。
- Procedure execution failed
- [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]必须声明标量变量 "@仓库ID"。 (137)
- 时间: 0.006s
复制代码
|