我想用这样的存储过程创建或更新视图更新视图:创建/使用存储过程
CREATE PROC Proc_Get_Ready_Weapons
AS
BEGIN
IF EXISTS(select * FROM sys.views where name = 'dbo.vwGetReadyWeapons')
BEGIN
EXEC ('CREATE VIEW dbo.vwGetReadyWeapons ... rest of view')
END
ELSE
BEGIN
EXEC ('CREATE OR REPLACE VIEW dbo.vwGetReadyWeapons ... rest of view')
END
IF @@ROWCOUNT = 0
PRINT 'Warning: No rows were updated'
END
但收到此错误:
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'OR'.
Warning: No rows were updated
这里有一些令人畏惧的事情。首先,无论视图是否存在,您都执行相同的代码。 –
你确定检查'@@ ROWCOUNT'是否视图是否被创建或更新的有效测试?我可能会在这里使用'TRY/CATCH'。 –