我想使用node-mssql
在 SQL Server 2017 中执行的这个(简化的)查询:
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' 必须是查询批处理中的第一条语句。
所以让我们试试这个:
CREATE PROCEDURE [Journal].[dbo].[EventDelete]
@NotificationID INT
AS
DELETE Notification
WHERE NotificationID = @NotificationID;
现在我们得到
RequestError:“CREATE/ALTER PROCEDURE”不允许将数据库名称指定为对象名称的前缀。
自然地,没有任何 DB 声明,它会尝试附加到主错误:
数据库“master”中的 CREATE PROCEDURE 权限被拒绝。