在sql 2005中创
create table voteMaster
(
voteID int primary key, --编号
voteTitle nvarchar(100) not null, --项目
voteSum int default 0 --总票数
)
insert into voteMaster values(1,'班长',0)
insert into voteMaster values(2,'学习委员',0)create table voteDetails 
(
voteID int ,
voteDetailsID int not null,
voteItem nvarchar(20) not null,
voteNum int default 0,
primary key(voteID,voteDetailsID),
   foreign key(voteID)references voteMaster(voteID)
)
insert into voteDetails values(1,1,'正文',0)
insert into voteDetails values(1,2,'大明',0)
insert into voteDetails values(1,3,'王雷',0)
insert into voteDetails values(2,1,'小明',0)
insert into voteDetails values(2,2,'李白',0)
insert into voteDetails values(2,3,'陈五',0)
insert into voteDetails values(2,4,'李三',0)
执行
create trigger updateMaster on voteDetails for update
as
if update(votenum)
begin
update voteMaster 
  set voteSum=voteSum+1 
  where voteID=(select voteID from Inserted)
end是出现错误
主要错误 0x80040E14,次要错误 25501
> create trigger updateMaster on voteDetails for update
IF UPDATE(voteNum)
as
begin
update voteMaster set voteSum=voteSum+1 where voteID=(select voteID from Inserted)
end
 [ 1,8,trigger ]
帮忙改下

写了

解决方案 »

  1.   

    测试了你的代码没有问题啊。1> create trigger updateMaster on voteDetails for update
    2> as
    3> if update(votenum)
    4> begin
    5>      update voteMaster
    6> set voteSum=voteSum+1
    7> where voteID=(select voteID from Inserted)
    8> end
    9> go
      

  2.   

    我是在sql 2005中写的
    执行之后
    主要错误 0x80040E14,次要错误 25501
    > create trigger updateMaster on voteDetails for update 
     as 
     if update(votenum) 
     begin 
          update voteMaster 
     set voteSum=voteSum+1 
     where voteID=(select voteID from Inserted) 
     end
     [ 1,8,trigger ]
      

  3.   

    换到sqlcmd 命令行中来执行。然后贴出你的错误信息。
      

  4.   

    create trigger updateMaster on voteDetails for update 
    as 
    begin 
      update voteMaster 
      set voteSum = voteSum + 1 
      where voteID = (select voteID from Inserted) 
    end 
      

  5.   

     create trigger updateMaster on voteDetails 
    for update as
    IF UPDATE(voteNum) 
     
    begin 
    update voteMaster set voteSum=voteSum+1 where voteID=(select voteID from Inserted) 
    end