怎麼解決ora-00904: invalid identifier標識符無效
是我沒看懂還是什麼,你的句子裏面好像沒A2啊 ,怎麼提示ORA-00904: "A2"."T3": invalid identifier。 MERGE INTO teb1@zzxxcc te1 USING (select t1 tt1, t2 tt2,t3 tt3 from tes1) te2 ON (te1.cl1 = te2.tt1 ) WHEN MATCHED THEN UPDATE SET
使用oracle作爲數據庫引擎,在執行sql的時候,出現錯誤ORA-00904: invalid identifier,也就是標識符無效。
材料/工具
方法
大部分情況下,此錯誤是由於引用了不存在的列名導致的。
我前陣子也遇到了類似的問題。你可以去檢查下你的數據庫,是不是少了一些字段。或者對比一下字段是不是字符什麼的打錯了。 然後可以檢查一下, 是不是你的列裏少了一個跟主鍵名字一樣的字段。在數據庫中,要有一列是與主鍵的名字相同的列纔可以
先確定數據庫中引用到的列和自己sql中書寫的列名是否一致。如有不同,修改過來,重新測試應該可以解決問題。
這是你SQL語句的問題,出現ORA-00904是數據庫傳過來的錯誤.你把你的SQL語句放到數據庫裏面查一下是一樣的錯,不是你代碼的錯誤.應該是字段不存在或者字段值是字符類型的,你沒有加上引號 , 根據你回覆一樓的.應該是那個字段是int類型的.而你卻給它
對於某些工具生成的sql,可能導致列明和期望不符的情況,有些工具生成的列名會帶有雙引號,從而導致此錯誤。
SELECT 'Next Month' AS date_title, ADD_MONTHS(sysdate,1) AS date_value FROM dual 函數名是 ADD_MONTHS 不是 add_month
擴展閱讀,以下內容您可能還感興趣。
ORACLE 數據庫報錯 ORA-00904: "A2"."T3": invalid identifier
是我沒看來懂還是什麼,你的句子源裏面好知像沒A2啊 ,怎麼提示ORA-00904: "A2"."T3": invalid identifier。道
MERGE INTO teb1@zzxxcc te1
USING (select t1 tt1, t2 tt2,t3 tt3 from tes1) te2
ON (te1.cl1 = te2.tt1 )
WHEN MATCHED THEN
UPDATE
SET
te1.cl2 = te2.tt2,
te1.cl3 = te2.tt3
WHEN NOT MATCHED THEN
INSERT
VALUES (te2.tt1 ,te2.tt2 ,te2.tt3 ) ;更多追問追答追問我就是這個意思。。這個A2 從哪裏來的我也不知道。
我這個SQL 語句 就這麼長。 我用TOAD ORACLE 10G
這個系統老 說A2。T3. 。。。我也沒看見 A2在哪裏。
但是 如果我把 USING (select t1 tt1, t2 tt2,t3 tt3 from tes1) te2 改成
USING (select t1 , t2 ,t3 from tes1) te2 這樣
把字段的 別名 全部去掉 就不會出現問題。。追答MERGE INTO TEB1 TE1
USING (SELECT T1 TT1, T2 TT2, T3 TT3 FROM TEST1) TE2
ON (TE1.CL1 = TE2.TT1)
WHEN MATCHED THEN
UPDATE SET TE1.CL2 = TE2.TT2, TE1.CL3 = TE2.TT3
WHEN NOT MATCHED THEN
INSERT (TE1.CL1, TE1.CL2, TE1.CL3) VALUES (TE2.TT1, TE2.TT2, TE2.TT3);
這是我在PL/SQL驗證通過的,跟你那個比起來也沒什麼差別
不過這表TE1是本地的,你可以試下本地建一個跟TE1完全一樣的表試試看追問MERGE INTO TEB1 TE1 這麼寫我這裏也沒問題。
MERGE INTO teb1@zzxxcc te1 但是必須要DBLINK
因爲我這裏需要 跨數據庫作業。
而且我這個SQL語句是從別人寫好的SQL PROCEDURE 中 簡化過來的。
正常的程序中的。
看樣子 問題是出現在 跨數據庫。和別名這部分了。追答建議你單獨拿出來運行一下,不要在函數或者過程裏面測試,那個A2太詭異了。追問恩。這個我就是單獨拿出來自己寫的。
沒有寫PROCEDURE
只寫了MERGE 這部分。
呵呵。等有了答案 我這裏貼出來 !
謝謝你了
java.sql.SQLSyntaxErrorException: ORA-00904: "PAGENOW1": 標識符無效
1、字段名或者表名百寫錯了,仔細檢查覈對一下,如果實在是沒有發度現錯的地方就有可能是第二種情況了
2、你的問字段包含了oracle的關鍵字,把報錯的字段用雙引號括起答來試試
應該是你這句"select * from (select a1.*,rownum rn from(select * from login)a1 where rownum<=pageSize*pageNow) where rn>=(pageNow-1)*pageSize+1"sql寫錯了內,你在檢查下。你用sqldevelper拼寫的時候有沒有提容示什麼錯誤嗎?
希望能夠幫到你
ORA-00904: : invalid identifier
看下是不是編碼的問題
Caused by: java.sql.BatchUpdateException: ORA-00904: "TESTID": 標識符無效.
我前陣子也遇到了類似zhidao的問題。你可以去檢查下你的數據庫,是不是少了一些字段。或者對比一下字段是不是字符什麼的打錯了。
然後可以檢查一回下, 是不是你的列裏少了一個跟主鍵名字一樣的字段。在數據庫中,要有一列是與主鍵的名字相同的列纔可以進行正確的識別。你的問題就是無法識別到有這個列,說明就是缺少這個列。那你就看看添加一個列,然後名字與主鍵答的相同。
數據庫連接成功... java.sql.SQLException: ORA-00904: "SYS": invalid identifier at oracle.jdbc.driver
這是你SQL語句的問題,出現ORA-00904是數據庫傳過來的錯誤.你把你的SQL語句放到數據庫裏面查一下copy是一樣的錯,不是你代碼的錯誤.應該是字段不存在或者字段值是字符類型的zd,你沒有加上引號 ,
根據你回覆一樓的.應該是那個字段是int類型的.而你卻給它字符類型的追問這是建的表:USERID NUMBER,USERNAME VARCHAR2, PASSWORD VARCHAR2,給username插入abc查詢就出錯,插入123查詢沒問題。追答我說的是你插入語句問題 字段的值要用引號..如果是你用String拼起來的話,要記得拼上單引號..你調試的時候把SQL語句拷出來看一下.例如:
INSERT INTO 表(USERNAME) VALUES ( ' MYNAME ' )
用String拼的話要是 String SQL="INSERT INTO 表(USERNAME) VALUES ( ' "+ MYNAME +" ' );
如果你直接用 INSERT INTO 表(USERNAME) VALUES ( "+ MYNAME ")" 就會把MYNAME當作是數字類型插入,然後就報錯了
參數比較多的話建議用佔位符,這樣比較不容易出現SQL錯誤..
-
跳繩1000下消耗多少卡路里
跳繩是現在很多女性朋友比較喜歡的運動,不但能強身健體,而且還有減肥效果。跳繩是一項有氧運動,連續性跳繩的主要能源是脂肪而不是糖類,所以,可以燃燒掉體內的大量脂肪,對減肥、降血脂具有積極作用。跳繩還可以讓血液獲得更多的氧氣,使心血管系統保持強壯和健康。每個...
-
乾土豆粉怎樣快速泡開
乾土豆粉是用土豆磨成粉然後經過加工製作出來的粉條,它與紅薯粉、米粉一樣,可以存儲一定的時間。吃的時候首先用熱水泡開,然後再用冷水冷卻,土豆粉就會一條一條的分開,不會互相粘在一起。土豆粉不同的吃法,泡開所需要的時間也是不一樣的,如果要用來涼拌,那泡的時間要長...
-
windows10關閉自動維護
同進按住【Win】鍵和【R】鍵打開運行,輸入【regedit】,點擊【確定】進去之後,依次點擊【HKEY_LOCAL_MACHINE】->【SOFTWARE】->【Microsoft】->【WindowsNT】->【CurrentVersion】->【Schedule】->【Maintenance】;在【Maintenance】上鼠標右鍵,選擇【新建】->【DWO...
-
怎麼看蘋果手機型號
1、在蘋果手機找到“設置”圖標,點擊進入。2、進入設置頁面後,從下往上滑動,找到“通用”,點擊進入。3、進入通用頁面後,找到“關於本機”點擊進入。4、進入關於本機頁面後,會顯示關於手機的詳細信息,其中就有“型號名稱”。5、顯示的型號名稱,就是蘋果手機的型號。...
相關文章
- win10吃雞提示failedto initialize steam應該怎麼辦
- 開機invalid partition table怎麼解決
- 怎麼解決Failed to load,the JNIshared library
- adb server is,out of date。killing的解決辦法
- Win10 1709吃雞提示failed to initialize steam
- unhandled access,violation writing的解決方法是什麼
- QQ啓動時:Initialization,failure:0x0000000C
- 解決unable to find a,version of runtime to的方法
- 500 internal,server error怎麼解決
- ORA-01031,insufficientprivileges