创建存储过程时"Incorrect syntax near '.'"错误消息



我正试图在单个存储过程中执行插入和更新操作。请帮忙。然而,我一直收到这个错误消息:

Msg 102,Level 15,State 1,Procedure InsertUpdate,Line 39[Batch Start Line 623]
"附近的语法不正确

以下是示例查询:

CREATE PROCEDURE [dbo].[InsertUpdate]
@Action VARCHAR(10)
AS
BEGIN
IF @Action = 'INSERT'
BEGIN
INSERT INTO t1 (t1.col1, t1.col2, t1.col3)
SELECT t2.col1, t2.col2, t2.col3
FROM t1 
INNER JOIN t2 on t1.col1 = t2.col1
WHERE t2.col1 IS NULL
END
IF @Action = 'UPDATE'
BEGIN
SET t1.col2 = CAST(t2.col2 as nvarchar(6)),
t1.col3 = CAST(t2.col3 as tinyint)
FROM t1 
INNER JOIN t2 ON t1.col1 = t2.col1
END
END;

非常感谢

此逻辑是不允许的:

SET t1.col2 = CAST(t2.col2 as nvarchar(6)),
t1.col3 = CAST(t2.col3 as tinyint)
FROM t1 inner join t2 on t1.col1 = t2.col1

大概,你打算:

UPDATE t1
SET t1.col2 = CAST(t2.col2 as nvarchar(6)),
t1.col3 = CAST(t2.col3 as tinyint)
FROM t1 inner join
t2 
on t1.col1 = t2.col1

相关内容

最新更新