帮我看看这句什么意思select @count = count(*) from Temp where AssessID = @AssessID 
 if @count =  0
 begin
 insert into Clock
 values(@ID,@AssessID,@ClockTime,@Time,@Late)它本在这个存储过程里面:ALTER  procedure [dbo].[proc_Addtab1] 
(@ID int=0, 
@AssessID varchar(20)=null, 
@ClockTime varchar(20)=null, 
@Time varchar(20)=null, 
@Late varchar(20)=null) 
as declare @count int 
declare cur_test cursor LOCAL FORWARD_ONLY STATIC  READ_ONLY  for 
select * from Temp open cur_test fetch cur_test into @ID,@AssessID,@ClockTime,@Time,@Late 
while(@@fetch_status=0) 
begin 
select @count = count(*) from Temp where AssessID = @AssessID and [Time]=@Time 
if @count =  0 
begin 
insert into Clock 
values(@ID,@AssessID,@ClockTime,@Time,@Late) 
end ---这句要提出来
fetch next from cur_test into @ID,@AssessID,@ClockTime,@Time,@Late 
end --这两句也要提出来
close cur_test 
deallocate cur_test 
go

解决方案 »

  1.   

    select @count = count(*) from Temp where AssessID = @AssessID 
    --判断Temp 表中AssessID = @AssessID 的记录条数并将结果放在@count里
     if @count =  0
    --如果没有记录
     begin
     insert into Clock
     values(@ID,@AssessID,@ClockTime,@Time,@Late)
    --则向Clock表中插入一条记录
      

  2.   

    --查询AssessID=@AssessID时表中记录数,并赋给@count 
    select @count = count(*) from Temp where AssessID = @AssessID if @count = 0  --当表中没有记录的时候,插入@AssessID相关的数据
    begin  
    insert into Clock values(@ID,@AssessID,@ClockTime,@Time,@Late) 
      

  3.   

    select @count = count(*) from Temp where AssessID = @AssessID 
    --查询Temp 表中AssessID = @AssessID 的记录条数
     if @count =  0----判断有没有记录,如果没有的话则插入一条记录
     begin
     insert into Clock
     values(@ID,@AssessID,@ClockTime,@Time,@Late)
      

  4.   

    但是我插入失败啊 是不是存储过程有问题啊
    是不是赋值有问题啊@count  
      

  5.   

    有自增列?
    set identity_insert   tablename on
    .....执行你的语句
    set identity_insert   tablename  off