ORA-00933: SQL command not properly ended
Oracle found extra clauses or syntax it doesn’t support at the end of a statement.
SQL command not properly ended Meaning
Classic causes: LIMIT (use FETCH FIRST), AS before table aliases, a trailing semicolon sent through JDBC/drivers, or JOIN syntax errors.
Common causes
- LIMIT clause (MySQL syntax)
- AS keyword for table aliases
- Trailing semicolon in driver SQL
- ORDER BY in subqueries/inserts
⚡ Quick fix
- Use FETCH FIRST n ROWS ONLY (12c+)
- Remove AS from table aliases
- Strip trailing semicolons in application SQL
Detailed fix by platform
SQL
SELECT * FROM orders o ORDER BY created_at DESC FETCH FIRST 10 ROWS ONLY;
How to diagnose
- Statement — What follows the main clause?
- Recent change — Did it start after a deploy, upgrade, or configuration change? Compare with the last working version.
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
Most viewed in SQL
- SQLite syntax error sqlite3.OperationalError: near "x": syntax error
- unable to open database sqlite3.OperationalError: unable to open database file
- pool timeout Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. All pooled connections were in use and max pool size was reached.
Other ways to find it
Where this error sits
Origin: Data. Errors that are often confused with or caused by this one (click to open):
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 14 Oct 2026