我无法在此处找到错误:
CREATE PROCEDURE sp_update_sync @sync_no varchar(50), @status INT
AS
BEGIN
UPDATE dbo.table_sync
SET sync_end_time = GETDATE()
SET sync_status = @status
WHERE sync_no = @sync_no
END
我有一个类似的脚本有效:
CREATE PROCEDURE sp_write_watermark @Last_ROW_NO_SYNC INT, @TableName
varchar(50)
AS
BEGIN
UPDATE dbo.watermarktable
SET WatermarkValue = @Last_ROW_NO_SYNC
WHERE TableName = @TableName
END
语法是一样的,但上面的语法仍显示错误!
SQL Server是在azure上设置的。
答案 0 :(得分:2)
您多次添加SET子句
CREATE PROCEDURE sp_update_sync @sync_no varchar(50), @status INT
AS
BEGIN
UPDATE dbo.table_sync
SET sync_end_time = GETDATE()
,sync_status = @status
WHERE sync_no = @sync_no
END
答案 1 :(得分:2)
您只需要一次设置关键字,例如
CREATE PROCEDURE sp_update_sync @sync_no varchar(50), @status INT
AS
BEGIN
UPDATE dbo.table_sync
SET sync_end_time = GETDATE(),
Sync_status = @status
WHERE sync_no = @sync_no
END
答案 2 :(得分:1)
您在问题中写的第一个存储过程有两个SET条款不正确...
CREATE PROCEDURE sp_update_sync @sync_no
varchar(50), @status INT
AS
BEGIN
UPDATE dbo.table_sync
SET sync_end_time = GETDATE(),
sync_status = @status
WHERE sync_no = @sync_no
END
希望这有帮助!