欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

sqlserver中delete、update中使用表別名和oracle的區(qū)別

 更新時(shí)間:2013年03月26日 16:40:28   作者:  
之所以要用別名,是因?yàn)閣here條件中需要用到子查詢寫(xiě)一些條件,下面不寫(xiě)那么復(fù)雜,僅說(shuō)明一下問(wèn)題

昨天發(fā)現(xiàn)程序中數(shù)據(jù)分析的結(jié)果不對(duì),重新進(jìn)行分析后,原數(shù)據(jù)仍在,有值的字段被累計(jì)。心說(shuō),不對(duì)啊,是重新生成記錄后才分析的啊。難道忘了DELETE了?查代碼,發(fā)現(xiàn)有刪除語(yǔ)句。于是在查詢分析器中執(zhí)行,報(bào)錯(cuò)。反復(fù)試幾次,明白了,Delete From不認(rèn)表名別名!回頭想下,當(dāng)初程序改完后主要是在Oracle中測(cè)的,SQLServer一直沒(méi)細(xì)測(cè)。

之所以要用別名,是因?yàn)閣here條件中需要用到子查詢寫(xiě)一些條件,下面不寫(xiě)那么復(fù)雜,僅說(shuō)明一下問(wèn)題。

結(jié)論:

(ORACLE適用)    DELETE FROM TABLEA A WHERE A.FIELD1=10
(SQLSERVER適用) DELETE TABLEA FROM TABLEA A WHERE A.FIELD1=10
(Ora\SQL均適用) DELETE FROM TABLEA WHERE TABLEA.FIELD1=10

兩點(diǎn)經(jīng)驗(yàn):

1、測(cè)試要全面;
2、要自信,寫(xiě)程序時(shí)考慮的情況挺全的。

update情況

update T_report a  
      set a.status='1'
   where a.report_Seq=1234

執(zhí)行失敗

update a
      set a.status='1'
    from T_report a
where a.report_Seq=1234

執(zhí)行成功

所以要做通用的程序,做好不使用別名

相關(guān)文章

最新評(píng)論