SQL错误(102):" ="附近的语法不正确

时间:2018-05-26 08:00:51

标签: sql sql-server azure stored-procedures azure-sql-database

我无法在此处找到错误:

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上设置的。

3 个答案:

答案 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

希望这有帮助!