2011-09-30 21 views
0

當我嘗試創建存儲過程以截斷表並重新設置種子時,我收到了不正確的語法。這裏是我的代碼截斷sproc上的EXECUTE AS - 錯誤語法

CREATE PROCEDURE [dbo].[_TransportZipporah_Purge] 

WITH EXECUTE AS owner 
AS 
TRUNCATE TABLE [dbo].[*tablename*]; 
GO 
DBCC CHECKIDENT ('dbo.*tablename*', RESEED, 0); 

正如我從MSDN直接得到這個,我會認爲這是對的。
我使用的數據庫服務器是:SQL Server 2008 v10.0.4064.0

任何人都可以幫忙嗎? 在此先感謝 Scott

+0

這是因爲使用的服務器是2000不支持EXECUTE AS ...由於SPROC是在2008年開發的,因此不得不重新考慮查詢/解決方案。 通過僅爲該表創建具有ddlAdmin權限的新用戶來解決。因此省略了EXECUTE AS的需要。這將確保我可以通過安全性仍然可以跨越sql server版平臺功能。 – Scott

回答

1

語法是正確的 - 但不能在proc中有GO語句。

+0

我已經從SPROC中刪除了GO,並且仍然在關鍵字'EXECUTE'附近獲得了錯誤的語法。 – Scott