日期:2014-05-18  浏览次数:20595 次

帮忙看下这条sql语句为什么偶尔部分执行
求高手看下
我在一张表上添加了触发器,偶尔会发生sd_ord表执行成功 可是sd_prj表就没有执行,下面的其他语句也执行成功.
什么情况会发生这种问题,求教
----------------------------------------
select @id=id from inserted --获取插入id
SELECT @recipeID=id,@prj=prj,@sht=prj,@spec=spec,@ctm_txt=ctm,@p_fac=fac,@clr=clr,@qty=qty,@clr=clr FROM dbo.recipe_temp WHERE id=@id
----临时表
create table #c_list_table
(
prj NVARCHAR(50),
mtrsht NVARCHAR(50),
mtrname NVARCHAR(100),
lotNO VARCHAR(50),
qty FLOAT,
rtyp INT,
hx INT 
)

----------------写入生产单信息-------------------------

--导入合同信息
DELETE sd_ord WHERE sht =@prj

INSERT INTO dbo.sd_ord (sht,spec,ctm_txt) VALUES(@sht,@spec,@ctm_txt) sd_ord表

--导入生产单信息
--DELETE sd_prj WHERE prj =@prj AND clr=@clr
SELECT @prjCount = COUNT(*) FROM dbo.sd_prj WHERE prj =@prj AND clr=@clr
IF @prjCount=0
BEGIN
INSERT INTO dbo.sd_prj (ord,prj,p_fac,clr,qty) VALUES (@recipeID,@prj,@p_fac,@clr,@qty) sd_ord表


END

.............................

------解决方案--------------------
没有看见触发器在哪里?
------解决方案--------------------
楼主的语句不支持 批量插入啊,你这只支持,一次插入一条数据