久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

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

瀏覽:166日期: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
主站蜘蛛池模板: 阿拉善左旗| 永康市| 偏关县| 马公市| 开江县| 江川县| 丹阳市| 凌源市| 浦城县| 晋中市| 克拉玛依市| 蓝山县| 陆川县| 宣城市| 黄骅市| 白水县| 乐昌市| 威海市| 东宁县| 正宁县| 铅山县| 岫岩| 吉安市| 延边| 陵川县| 常州市| 龙里县| 巴青县| 商都县| 绥滨县| 孙吴县| 安图县| 仁寿县| 兴海县| 弥勒县| 大关县| 光山县| 闽侯县| 深泽县| 克拉玛依市| 华阴市|