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

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

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

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

昨天發現程序中數據分析的結果不對,重新進行分析后,原數據仍在,有值的字段被累計。心說,不對啊,是重新生成記錄后才分析的啊。難道忘了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

執行成功

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 合水县| 福海县| 乐都县| 溧水县| 寿光市| 桦川县| 马关县| 礼泉县| 天峨县| 聂拉木县| 吉林省| 浦东新区| 灌阳县| 宣恩县| 洪湖市| 阳山县| 德安县| 杭锦旗| 景洪市| 合作市| 灌南县| 乃东县| 明水县| 左贡县| 定陶县| 石河子市| 新泰市| 兰溪市| 迁安市| 松阳县| 舞钢市| 高邑县| 连山| 武川县| 涟水县| 长治市| 宾川县| 德清县| 会昌县| 太湖县| 安康市|