我試圖在SQL Server 2012中使用傳遞查詢來創建存儲過程,使用MS Access 2010中訪問SQL傳遞查詢(創建SP)錯誤
IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = N'SCHtest')
EXECUTE sp_executesql N'create schema SCHtest'
GO
CREATE PROCEDURE [SCHtest].[SQLLrtest_2]
AS
BEGIN
INSERT INTO [dbo].[UploadTest] (.....)
在訪問我得到這個錯誤:
Run time error '3146':
[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax nera 'GO'. (#102)
[Microsoft][ODBC SQL Server Driver][SQL Server]'CREATE/ALTER PROCEDURE' must be
the first statement in a query batch. (#111)
如果我將代碼複製粘貼到SQL Server - 一切正常!
由於在錯誤中寫入,如果我刪除IF語句和GO,在Access和SQL中都起作用。如何在不刪除IF語句的情況下工作?
任何幫助,高度讚賞!
Edgaras
'它不是一個T-SQL命令GO'僅是管理工作室, (http://stackoverflow.com/questions/2668529/t-sql-go-statement)所以刪除它,那麼當你嘗試創建sp時,你會得到另一個錯誤,請看這裏http://stackoverflow.com/questions/55506/how-do-i-conditionally-create-a-stored-procedure-in-sql-server –
@亞歷克斯:這應該是答案:)作爲一個方面的說明,您的個人資料網站(endjinn.com)給出了一個虛擬目錄列表被拒絕的結果。 – mellamokb