【发布时间】:2020-11-24 15:10:47
【问题描述】:
当使用 MS SQL 中存储的 Proc 将新行插入或更新到表中时,我正在尝试获取列的系统日期时间。我怎样才能实现它? 我试过下面的代码
CREATE PROCEDUCE test_Cl_INSERT
@SRC_ID int,
@CREATED_BY datatime
AS
BEGIN
INSERT into dbo.CL_Batch(SRC_ID, Created_BY)
VALUES(@SRC_ID, CURRENT_TIMESTAMP)
END
EXEC dbo.test_Cl_INSERT
@SRC_ID=44
错误:@CREATED_BY 参数丢失
【问题讨论】:
-
考虑到您在过程中没有引用
@CREATED_BY,为什么需要它? -
"END" 不会终止存储过程的代码,因此 EXEC 语句也是过程的一部分。
-
我这里提到的代码是示例一。我的表中有很多列。
-
@SM我将分别执行Stored proc和EXEC语句!
-
“我在这里提到的代码是示例一。我的表中有很多列。” 这并没有改变我的说法。在您给出的示例中,您没有引用
@CREATED_BY,因此没有任何意义。只有当您不将其包含在您的EXEC语句中时,才会进一步巩固这一点。如果您上面给出的示例不能代表您拥有的实际代码,请发布 有代表性的内容。
标签: sql-server mssql-jdbc