国产探花免费观看_亚洲丰满少妇自慰呻吟_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

執行成功

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿尔山市| 沭阳县| 桐乡市| 莲花县| 汕尾市| 闻喜县| 兴海县| 泰顺县| 汕尾市| 宝丰县| 乌兰察布市| 福泉市| 巩留县| 云龙县| 昭觉县| 雷山县| 桐柏县| 乌拉特前旗| 年辖:市辖区| 敖汉旗| 东兰县| 连云港市| 麻栗坡县| 建水县| 蓬溪县| 翼城县| 广灵县| 禹城市| 宁国市| 墨玉县| 奈曼旗| 肇东市| 广饶县| 汤阴县| 托克托县| 全椒县| 勐海县| 兰州市| 大埔县| 马边| 勃利县|