Saud Meethal
Saud Meethal

Reputation: 61

SQL Error (102): incorrect syntax near "="

I'm unable to locate the error here:

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

I had a similar script which worked:

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

The syntax is just the same, but still the one above shows an error!

The SQL Server is setup on azure.

Upvotes: 0

Views: 7226

Answers (3)

N00b Pr0grammer
N00b Pr0grammer

Reputation: 4647

The first Stored Procedure that you've written in the question had two SET clauses which is not correct...

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

Hope this helps!

Upvotes: 1

Paddy
Paddy

Reputation: 33867

You only need the set key word a single time, e.g.

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

Upvotes: 3

Suresh Prajapati
Suresh Prajapati

Reputation: 4477

You added SET clause more than once

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

Upvotes: 3

Related Questions