在项目中写了两个表的触发器分别是cd表。
   触发本触发器的条件是:插入的语句的projectid(企业编号)>0并且cdxm(长贷项目)=‘借款金额’时,同时在本表中插入一条projectid和marketid、cdje(长贷金额)相同,marketyear=插入的marketyear(发生年份)+插入的zq(账期),长贷项目为‘应还金额’的数据记录。
写法如下:修改本错误主要看cd表。
if (select projectid from inserted )>0
begin
if(select cdxm from inserted)='借款金额'
begin
insert into cd    
select projectid,marketid,convert(int,marketyear)+convert(int,zq),
'应还金额',cdje,0 from inserted    
end

end
      根据sql跟踪,错误提示为第一行和第三行,应修改为:
Code
if exists(select projectid from inserted    where projectid>0)
begin
insert into cd    
select projectid,marketid,convert(int,marketyear)+convert(int,zq),
'应还金额',cdje,0 from inserted where    cdxm='借款金额' and projectid>0
end
使用exists关键字,判断是否包含结果集,这样就防止了第一行返回多条记录,同时将cdxm放入到内部限制,而不是用if,返回多结果集了。
问题是解决了,令我奇怪的是,我还有一个表,写法如一个段代码,内容基本类型,就不报错,很奇怪呀!sql也有表里不一的情况呀!