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

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

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

瀏覽:148日期: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
主站蜘蛛池模板: 安宁市| 霸州市| 安远县| 盐源县| 郴州市| 临桂县| 五常市| 阿拉善左旗| 广南县| 白玉县| 宜宾县| 山东省| 南平市| 大化| 日喀则市| 大渡口区| 清新县| 寻甸| 双牌县| 喀什市| 扎赉特旗| 长沙县| 广南县| 郁南县| 郓城县| 汝城县| 元江| 沅陵县| 翼城县| 汤原县| 前郭尔| 旬阳县| 禹州市| 辽宁省| 济宁市| 岳普湖县| 秭归县| 甘洛县| 麻阳| 区。| 屯门区|