向表格中插入記錄(insert into)時候,報異常,提示:ORA-00928: 缺失 SELECT 關鍵字(missing SELECT keyword)
原因:
1、如網上大部分出現的類似,是因爲列名上不能添加單引號:
如寫成INSERT INTO USERTAB ('uniPositionCode','transferGroupName','appCode','appName','transferPort','cfg_network','transferProtocol','transferip','insideState') VALUES('01330000','1','20','4343','9513','0','9513','0.0.0.0','0') 就會報錯;
2、另一個原因可能是你的Oracle數據庫表名或列名屬於sql中的保留字,如表名寫成PASSWORD,有列名寫成USER
最常見的oracle保留字有這些:
ACCESS ADD ALL ALTER AND ANY AS ASC AUDIT BETWEEN BY CHAR
CHECK CLUSTER COLUMN COMMENT COMPRESS CONNECT CREATE CURRENT
DATE DECIMAL DEFAULT DELETE DESC DISTINCT DROP ELSE EXCLUSIVE
EXISTS FILE FLOAT FOR FROM GRANT GROUP HAVING IDENTIFIED
IMMEDIATE IN INCREMENT INDEX INITIAL INSERT INTEGER INTERSECT
INTO IS LEVEL LIKE LOCK LONG MAXEXTENTS MINUS MLSLABEL MODE
MODIFY NOAUDIT NOCOMPRESS NOT NOWAIT NULL NUMBER OF OFFLINE ON
ONLINE OPTION OR ORDER PCTFREE PRIOR PRIVILEGES PUBLIC RAW
RENAME RESOURCE REVOKE ROW ROWID ROWNUM ROWS SELECT SESSION
SET SHARE SIZE SMALLINT START SUCCESSFUL SYNONYM SYSDATE TABLE
THEN TO TRIGGER UID UNION UNIQUE UPDATE USER VALIDATE VALUES
VARCHAR VARCHAR2 VIEW WHENEVER WHERE WITH
ps:使用hibernate,只有修改配置文件,在列名上加"[]"如下:
<id name="uid" type="java.lang.String">
<column name="[UID]" />
<generator class="assigned" />
</id>
原文鏈接:http://www.linuxidc.com/Linux/2011-06/36749.htm