[英]Oracle SQL Error ORA-00933
我試圖確定列是否是oracle數據庫中的主鍵。
我有以下sql:
SELECT cols.column_name
FROM all_constraints as cons, all_cons_columns as cols
WHERE (cols.table_name = 'TABLE_NAME'
AND cols.columnName= 'SRC_CODE'
AND cons.constraint_type = 'P'
AND cons.constraint_name = cols.constraint_name
AND cons.owner = cols.owner
AND cons.status = 'ENABLED'
AND lower(cons.owner)='resmaid')
ORDER BY cols.table_name
我收到以下錯誤:
Caused by: java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:837)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:445)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:193)
at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:852)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1153)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1275)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1477)
at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:392)
曾經有一段時間,該sql可能已經起作用了,無法記住何時(大約2年前)。
這很緊急,因為我需要連接到該數據庫並進行一些數據插入。
提前致謝
我已經解決了。
兩件事情。 1.刪除表名別名中使用的“ AS”。2. where子句中的column_name拼寫錯誤
請看下面
SELECT cols.column_name
FROM all_constraints cons,
all_cons_columns cols
WHERE (cols.table_name = 'TABLE_NAME'
AND cols.column_Name = 'SRC_CODE'
AND cons.constraint_type = 'P'
AND cons.constraint_name = cols.constraint_name
AND cons.owner = cols.owner
AND cons.status = 'ENABLED'
AND lower(cons.owner) = 'resmaid')
ORDER BY cols.table_name;
SELECT cols.column_name
--modify FROM all_constraints as cons, all_cons_columns as cols
FROM all_constraints cons, all_cons_columns cols
WHERE (cols.table_name = 'TABLE_NAME'
--modify AND cols.columnName= 'SRC_CODE'
AND cols.column_name= 'SRC_CODE'
AND cons.constraint_type = 'P'
AND cons.constraint_name = cols.constraint_name
AND cons.owner = cols.owner
AND cons.status = 'ENABLED'
AND lower(cons.owner)='resmaid')
ORDER BY cols.table_name
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.