国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Oracle ORA-00904:標識符無效解決方法(太坑了!!)

瀏覽:172日期:2023-03-12 15:25:11
目錄
  • 問題描述
  • 原因分析:
  • 解決方案:
  • 總結

ORA-00904:標識符無效 解決辦法(Oracle字段名區分大小寫的坑)

問題描述

我在使用jpa或者mybatis集成Oracle進行where查詢的時候發現一直出現:
java.sql.SQLSyntaxErrorException: ORA-00904: “USER0_”.“PWD”: 標識符無效

下面是問題代碼:

	@Test    void test01(){User user =  userDao.findByPwd("ccat");System.out.println("user = " + user);    }

再來看看我的dao層代碼塊和實體代碼塊

數據接口的設計如下圖

原因分析:

在這里我們可以看到整體的代碼邏輯是沒有問題的,但是再看看數據表結構發現:pwd 字段為小寫,其實PL自動生成的創建表的腳本中,表名和字段名都加了雙引號。雙引號在Oracle中表示區分大小寫,Oracle是嚴格區分大小寫的,未使用雙引號時默認全部大寫??赡芎芏嗳硕紩`認為oracle是不區分大小寫的,原因是我們在寫查詢語句的時候,大小寫無所謂,結果都是一樣的,這只是個表面現象,只要你不使用雙引號表示區分大小寫,oracle會默認把你寫的腳本全部轉換為大寫的。

解決方案:

下面是問題代碼:到這里大家我想大家應該明白了,怎么使Oracle區分大小寫了,就是使用雙引號。

1.將數據表中的字段名改為大寫。

2.經過網上的一番查找,正如上面所講,如果我們不加雙引號,那么Oracle會默認把表名和字段名全部轉換為大寫形式。

最簡單的查詢語句:SELECT *
FROM t_user
WHERE “pwd” =‘ccat’;

這樣我們就能查出想要的數據啦。

總結

到此這篇關于Oracle ORA-00904:標識符無效解決的文章就介紹到這了,更多相關ORA-00904:標識符無效內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Oracle
主站蜘蛛池模板: 田林县| 镇安县| 社会| 甘泉县| 金塔县| 阿拉善右旗| 永昌县| 中阳县| 新巴尔虎左旗| 淮安市| 郧西县| 张家界市| 贺州市| 张家界市| 鹤山市| 葫芦岛市| 托克逊县| 巴彦淖尔市| 兰溪市| 公主岭市| 子长县| 泽库县| 徐汇区| 甘孜县| 高陵县| 阳城县| 会泽县| 延长县| 平塘县| 岗巴县| 彰武县| 潼南县| 丰都县| 郎溪县| 蒲城县| 襄汾县| 肇庆市| 三亚市| 申扎县| 广州市| 天全县|