【发布时间】:2019-02-08 15:13:33
【问题描述】:
我一直在尝试创建如下存储过程,但我不断收到这些错误:
消息 137,级别 15,状态 1,过程 PKG_BNLX5_INSERT_DMBATCHERRLOG,第 164 行
必须声明标量变量“@V_ERR_REC”。消息 137,级别 15,状态 1,过程 PKG_BNLX5_INSERT_DMBATCHERRLOG,第 165 行
必须声明标量变量“@V_ERR_REC”。消息 137,级别 15,状态 1,过程 PKG_BNLX5_INSERT_DMBATCHERRLOG,第 166 行
必须声明标量变量“@V_ERR_REC”。消息 137,级别 15,状态 1,过程 PKG_BNLX5_INSERT_DMBATCHERRLOG,第 167 行
必须声明标量变量“@V_ERR_REC”。
.......
消息 102,级别 15,状态 1,过程 PKG_BNLX5_INSERT_DMBATCHERRLOG,第 172 行
'@V_ERR_REC' 附近的语法不正确。
代码:
CREATE PROCEDURE "PKG_BNLX5_INSERT_DMBATCHERRLOG"
(@IN_PROCNAME VARCHAR(4000),
@IN_TARNAME VARCHAR(4000),
@IN_CURSOR VARCHAR(4000),
@IN_UNIQUE_NUMBER FLOAT,
@IN_SQLCODE VARCHAR(4000),
@IN_SQLERRM VARCHAR(4000),
@IN_REMARK VARCHAR(4000))
AS
BEGIN
SET NOCOUNT ON;
SET @V_ERR_REC.PROCNAME = @IN_PROCNAME;
SET @V_ERR_REC.TARNAME = @IN_TARNAME;
SET @V_ERR_REC.CURSOR = @IN_CURSOR;
SET @V_ERR_REC.UNIQUE_NUMBER = @IN_UNIQUE_NUMBER;
SET @V_ERR_REC.DATIME = GETDATE();
SET @V_ERR_REC.ERRCODE = @IN_SQLCODE;
SET @V_ERR_REC.ERRDESC = @IN_SQLERRM;
SET @V_ERR_REC.REMARK = @IN_REMARK;
INSERT INTO VM1DTA.DMBATCHERRLOG VALUES @V_ERR_REC;
COMMIT;
END;
【问题讨论】:
-
我没有 SQL Server 知识,但猜测(错误消息告诉你!)你没有声明 @V_ERR_REC 记录。
标签: sql sql-server stored-procedures