国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

sqlserver中delete、update中使用表別名和oracle的區別

2024-08-31 00:47:28
字體:
來源:轉載
供稿:網友

昨天發現程序中數據分析的結果不對,重新進行分析后,原數據仍在,有值的字段被累計。心說,不對啊,是重新生成記錄后才分析的啊。難道忘了DELETE了?查代碼,發現有刪除語句。于是在查詢分析器中執行,報錯。反復試幾次,明白了,Delete From不認表名別名!回頭想下,當初程序改完后主要是在Oracle中測的,SQLServer一直沒細測。

之所以要用別名,是因為where條件中需要用到子查詢寫一些條件,下面不寫那么復雜,僅說明一下問題。

結論:

(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

兩點經驗:

1、測試要全面;
2、要自信,寫程序時考慮的情況挺全的。

update情況

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

執行失敗

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

執行成功

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙门县| 潜山县| 句容市| 九寨沟县| 额尔古纳市| 黄骅市| 镇赉县| 江口县| 永吉县| 大石桥市| 陆丰市| 漳州市| 柳林县| 三河市| 梅州市| 师宗县| 阜康市| 河南省| 陆川县| 扎鲁特旗| 垣曲县| 三都| 阜南县| 富民县| 新沂市| 六枝特区| 怀安县| 唐河县| 渑池县| 横峰县| 泌阳县| 台州市| 赣榆县| 济宁市| 安徽省| 古丈县| 丹巴县| 兰溪市| 通道| 北安市| 禹城市|