創建過程中的DB我想執行使用node-mssql
,在SQL Server執行2017年精這個(簡體)查詢:SQL服務器:不使用[GO]
USE [Journal]
[GO]
CREATE PROCEDURE [dbo].[EventDelete]
@NotificationID INT
AS
DELETE Notification
WHERE NotificationID = @NotificationID
[GO]
node-mssql
使用[GO]
聲明語法錯誤,需要分號,所以我試試這個:
USE [Journal];
CREATE PROCEDURE [dbo].[EventDelete]
@NotificationID INT
AS
DELETE Notification
WHERE NotificationID = @NotificationID;
現在,我們得到的錯誤:
CREATE/ALTER PROCEDURE' must be the first statement in a query batch.
因此,讓我們試試這個:
CREATE PROCEDURE [Journal].[dbo].[EventDelete]
@NotificationID INT
AS
DELETE Notification
WHERE NotificationID = @NotificationID;
現在,我們得到
RequestError: 'CREATE/ALTER PROCEDURE' does not allow specifying the database name as a prefix to the object name.
自然離不開它會嘗試連接到主錯誤的任何DB聲明:
CREATE PROCEDURE permission denied in database 'master'.
在大多數語言/環境中,人們可以(並且通常會)指定建立連接時要使用的數據庫。這是一個很好的開發習慣,原因很多 - 這只是一個。 – SMor
好點,連接設置爲Master;將程序添加到不同的DB應該斷開並重新連接? – Tobin