我想用這樣的存儲過程創建或更新視圖更新視圖:創建/使用存儲過程
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'。 –