视频中的IF EXIST Drop Table导致关键字“IF”附近的语法不正确。信息

时间:2012-10-01 17:24:46

标签: sql sql-server tsql

我视图中的以下代码产生错误消息关键字“IF”附近的语法不正确

ALTER VIEW [dbo].[IDW_vwGetProductOutPut] 
AS  
IF EXISTS
( SELECT * FROM tempdb.dbo.sysobjects 
  WHERE ID = OBJECT_ID(N'tempdb..#TempPackaging')) 
BEGIN
    DROP TABLE #TempPackaging 
END  . . . . . .     

--code to create temp table goes here . .  and so on

我该如何编码呢?

2 个答案:

答案 0 :(得分:6)

view只能包含SELECT语句,你拥有的更像是stored procedure

CREATE PROC [dbo].[IDW_spGetProductOutPut] 
AS  
IF EXISTS
( SELECT * FROM tempdb.dbo.sysobjects 
  WHERE ID = OBJECT_ID(N'tempdb..#TempPackaging')) 
BEGIN
    DROP TABLE #TempPackaging 
END  . . . . . .     

--code to create temp table goes here . .  and so on

答案 1 :(得分:0)

我不相信SQL Server可以使用此功能。作为一种解决方法,您可能希望在存储过程中执行逻辑。