此代码sql服务器有什么问题?
语法错误:消息102,级别15,状态1,第6行,'('附近的语法不正确。
BEGIN TRAN
exec trn_siparis_insert 'Database',348
exec trn_boyutlu_siparis_olustur , @siparis_id=Select id FROM TABLE.dbo.siparis where kayit_tarihi=(SELECT MAX(kayit_tarihi) FROM TABLE.dbo.siparis ) , @TargetDb=Database
COMMIT TRAN
答案 0 :(得分:1)
我不知道这是否是特定错误,但这是错误的:
exec trn_boyutlu_siparis_olustur , @siparis_id=Select id FROM TABLE.dbo.siparis where kayit_tarihi=(SELECT MAX(kayit_tarihi) FROM TABLE.dbo.siparis ) , @TargetDb=Database
也许您的意图是
declare @siparis_id int;
Select @siparis_id = id
from TABLE.dbo.siparis
where kayit_tarihi = (SELECT MAX(kayit_tarihi) FROM TABLE.dbo.siparis );
exec trn_boyutlu_siparis_olustur @siparis_id=@siparis_id, @TargetDb='Database'
我怀疑您所做的一切都没有经过深思熟虑。如果要捕获insert
返回的ID,那么output
子句是正确的选择。也许您应该问另一个问题,包括样本数据,预期结果以及要完成的工作的说明。