SQL存储过程

时间:2018-06-28 14:58:27

标签: sql sql-server stored-procedures procedure

此代码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

1 个答案:

答案 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子句是正确的选择。也许您应该问另一个问题,包括样本数据,预期结果以及要完成的工作的说明。