SQL中Delete語句表名不能用別名?!
昨天發現程式中資料分析的結果不對,重新進行分析後,原資料仍在,有值的欄位被累計。心說,不對啊,是重新生成記錄後才分析的啊。難道忘了DELETE了?查程式碼,發現有刪除語句。於是在查詢分析器中執行,報錯。反覆試幾次,明白了,Delete From不認表名別名!回頭想下,當初程式改完後主要是在Oracle中測的,SQLServer/MYSQL一直沒細測。
之所以要用別名,是因為where條件中需要用到子查詢寫一些條件,下面不寫那麼複雜,僅說明一下問題。
結論:
(ORACLE適用) DELETE FROM TABLEA A WHERE A.FIELD1=10
(SQLSERVER/MYSQL適用) DELETE TABLEA FROM TABLEA A WHERE A.FIELD1=10
(Ora/SQL均適用) DELETE FROM TABLEA WHERE TABLEA.FIELD1=10
相關推薦
SQL中Delete語句表名不能用別名?!
昨天發現程式中資料分析的結果不對,重新進行分析後,原資料仍在,有值的欄位被累計。心說,不對啊,是重新生成記錄後才分析的啊。難道忘了DELETE了?查程式碼,發現有刪除語句。於是在查詢分析器中執行,報錯。反覆試幾次,明白了,Delete From不認表名別名!回頭想下,當初程
用sql獲取資料庫中所有的表名的方法:
1、oracle下:select table_name from all_tables; 2、MySQL下:select table_name from information_schema.tables where table_schema='csdb' and table_type='base
sql中為表名起別名的重要性
無論是使用原生的sql還是框架中的sql語句有些情況下是要必須為表名起一個別名的,什麼情況下呢?就是在欄位名與資料庫中的關鍵字衝突的時候。 在使用Hibernate的時候有時候會遇到這樣的問題:各種配置都正確,就是不能自動的生成資料庫的表。這時假如實體名為Test,使
解析HiveSql語句中的所有表名
今天有個需求,解析我們hivesql語句中的表名,用來分析資料倉庫中所有表的使用頻率。 hive中有個語法分析器可以將sql語法轉換成語法樹,並且可以將語法樹轉換為字串。 例如一個hive的sql語句如下: select t1.c1,t1.c2,t2.c1
SQL中like語句萬用字元、轉義符與括號的使用
https://blog.csdn.net/kpchen_0508/article/details/45167481 可以搜尋萬用字元字元。有兩種方法可指定平常用作萬用字元的字元: 使用 ESCAPE 關鍵字定義轉義符。在模式中,當轉義符置於萬用字元之前時,該萬用字
Sql Server資料庫中的更新表名、列名、列值
更新表名: execsp_rename'舊錶名','新表名' 更新列名: exec sp_rename '表名.[欄位原名]','欄位新名','column'
查詢SQL資料庫中所有的表名及行數
SELECT a.name, b.rows FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.id WHERE (a.type = ‘u’) AND (b.indid IN (0, 1))
MySQL 獲取資料庫中的所有表名和列名
sql語句在MySQL獲取資料庫裡的所有表名: select table_name from information_schema.tables where table_schema='資料庫名' sql語句在MySQL獲取資料庫表的所有列名: select column_name
關於mysql中delete語句
實際專案中有時會手動刪除一些髒資料,難免使用delete語句,但是在查詢的時候一直有給表起別名的習慣,在操作delete的時候開始出現問題, 一開始 DELETE FROM t_user_order o WHERE o.order_code = 990000000執行報錯
SQL中DQL語句:select * from tb_name為什麼不介意使用,而建議使用select 欄位1,欄位2...欄位n from tb_name
首先,其實select 欄位1,欄位2...欄位N from tb_name語句是select * from tb_name的優化。 1、執行效率。做一個實驗 select top 10000 gid,fariqi,reader,title from tgo
spring-data-jpa @Query註解中delete語句報錯
專案中需要刪除掉表中的一些資料 @Query("delete from EngineerServices es where es.engineerId = ?1") int deleteByEgId(String engineerId); 但是提示了
powerdesigner 中建立的表名及欄位大小
設定powerdesigner 中建立的表名及欄位大小寫格式 因為用powerdesigner 建立表的時候 表明及欄位名使用的都是小寫,所以生成的腳步表名和列名都加上的雙引號。 解決方式有以下幾種: 1/在powerdesigner裡的表名和欄位名都用大寫,建表的指令碼就不會有“”了。
linux中修改mysql表名大小寫敏感
在mysql啟動引數檔案中配置mysql對大小寫不敏感。 引數檔案位置:/etc/my.cnf 1.用rpm包安裝的MySQL是不會安裝/etc/my.cnf檔案的, 至於為什麼沒有這個檔案而MySQL卻也能正常啟動和作用,在點有兩個說法, 第一種說法,my.cn
SQL中SELECT語句詳解
本篇文章講述SQL語句中的SELECT查詢語句,以供參考,如有錯誤或不當之處還望大神們告知。 簡單查詢SELECT-FROM 用於無條件查詢單張表中的行或列 假設有表如圖所示 查詢名字叫 ‘葉清逸’ 的記錄: select * from T
SQL Server "DROP TABLE 表名 CASCADE" 顯示"CASCADE"附近有語法錯誤的原因
在學習資料庫的過程中提到了使用CASCADE關鍵字來強制刪除已被引用的關係(及其引用方)。 在實踐過程中,使用SQL Server執行“ DROP TABLE Course CASCADE”卻被提示有語法錯誤。 事實上報錯的原因在於SQL Server不支援在刪除過程中使用
mysqldump匯出sql中insert語句的問題
今天有同事問,mysqldump怎麼樣才能夠將匯出的sql中,每條記錄對應一個insert語句,預設總是匯出一個長的insert語句,如下所示:[[email protected] ~]$ mysqldump --compact -uroot test t1&g
sql中while語句多層迴圈例項
while語句是SQL中最常見的迴圈語句之一,下面就將為您介紹sql中while語句多層迴圈的例項,供您參考,希望對您學習SQL中的迴圈語句能夠有所幫助。 DECLARE @Name nvarchar(20); DECLARE @Type varchar(20); DECL
詳細介紹—獲取ACCESS資料庫中所有的表名(ODBC + MFC實現)解決方法
網上關於獲取ACCESS資料庫中所有的表名的文章挺多的,但是說的不是很詳細,對於初學者來說很難看懂(我也是初學者呵呵),研究了很久,自己弄懂後,覺得很有必要做個詳細的介紹,以免其他初學者向我一樣,因為研究這個東西走很多彎路從而浪費過多寶貴的時間。 獲取ACCESS資料庫中
MySQL資料庫中庫、表名、欄位的大小寫問題
在使用MySQL建庫的過程中發現了一個問題,無論怎麼建立庫,創建出來的庫名都是小寫的。然後上網查了一下資料。 在MySQL中,資料庫和表都是對應目錄下的一個或多個檔案。因此,作業系統的大小寫是否敏感
sql中delete,drop ,truncate三者的區別
sql中delete,drop ,truncate都代表刪除,但3者又有一些區別 1. truncate和 delete只刪除資料不刪除表的結構(定義) drop語句將刪除表的結構被依賴的約束(constrain),觸發器(trigger),索引(index); 依賴於