数据库中的表
paperTitle:
   questionType   questionID
填空题:
题号 题目 答案 ...... 
其他几种类型题和这一样
  
现在我写的SQL
exec(' insert into ' +@paperTitle+ ' (questionID) select top ' +@number+ ' 题号 From ' +@questionType+ ' where 章节 in ( ' +@ZJ+ ' ) Order By NewID() ')
exec("update "+@paperTitle+" set questionType= '" +@questionType+"'")
问:能不能只更新刚刚插入行的数据,而不用update所有行的数据

解决方案 »

  1.   

    exec("update "+@paperTitle+" set questionType= '" +@questionType+"' where 题号=???")
      

  2.   

    能不能只更新刚刚插入行的数据,而不用update所有行的数据
    --------------------------------------------------------将随机获取的数据追加到临时表中,更新完后,再追加到正式表中。
      

  3.   

    合成一句exec(' insert into ' +@paperTitle+ ' (questionID,questionType) select top ' +@number+ ' 题号,'''+@questionType+''' From ' +@questionType+ ' where 章节 in ( ' +@ZJ+ ' ) Order By NewID() ')
      

  4.   

    exec("update "+@paperTitle+" set questionType= '" +@questionType+"' where questionID in (select questionID from inserted)")
      

  5.   

    你的插入語句似乎有問題,但是不清楚你及格表的情況,所以不好做更改,只在你原句的基礎上改的,自己做適當調整。另外,你的@number是字符型的嗎??否則照你那麼寫應該有錯誤的。
      

  6.   

    coolingpipe(冷箫轻笛) ( ) 信誉:100  2006-06-06 11:34:00  得分: 0  
     
     
       exec("update "+@paperTitle+" set questionType= '" +@questionType+"' where questionID in (select questionID from inserted)")  
     
    ----------------------------------------------
    他不是在觸發器中寫的,所以不能借用Inserted表的。
      

  7.   

    paoluo(一天到晚游泳的鱼) 收到!呵呵,想当然了。大意了大意了...多谢指正!
      

  8.   

    TO  coolingpipe(冷箫轻笛)     对象名 'inserted' 无效。
      

  9.   

    paoluo(一天到晚游泳的鱼)  真厉害 不仅能解决问题 还能看出别人的问题所在