我的存储过程结构如下所示,我收到一个错误
关键字'BEGIN'附近的语法不正确.
如果我删除BEGIN TRAN
和COMMIT TRAN
语句然后存储过程运行正常.我不确定我做错了什么.任何人都可以帮助我理解什么是错的,什么应该是正确的方法?
Create PROCEDURE proc_name(param1,param2,param3)
AS
Begin
with cte(col1, col2, col3)
AS
(
Select col1
,col2
,col3
from table1
)
Begin Tran
Update table2
set col1 = 'text'
from table2 inner join cte on cte.hmy = table2.hmy
where some condition
update table3
set date = ''
from table3 inner join cte on cte.hmy = table3.hmy
where some different condition
COMMIT TRAN
END
Run Code Online (Sandbox Code Playgroud)
PS请忽略查询逻辑.我尝试通过删除业务逻辑来简化代码.