Skip to content

Oracle SQL Parser Support in GSP

Explore the Oracle SQL Parser product page

This page documents the SQL syntax support for Oracle in the General SQL Parser.

Syntax Coverage Corpus

GSP tests Oracle syntax against 182 documented constructs grouped into 7 categories, each cross-referenced to the documentation that defines it (163 distinct source pages).

Parse coverage

Measured against GSP Java 4.2.8 on 2026-08-31 (UTC) (artifact sha256 1117856ef134). Each construct below carries the complete set of examples from the Oracle documentation; a construct counts as fully covered only when every one of its examples parses. Percentages are pass rates over this documented-example corpus — not a percentage of the entire SQL dialect.

Constructs fully parsed Individual statements parsed
All constructs 182 of 182 (100%) 319 of 319 (100%)
SELECT (queries) 17 of 17 (100%) 19 of 19 (100%)
DML (INSERT / UPDATE / DELETE / MERGE) 6 of 6 (100%) 21 of 21 (100%)
Stored procedures 6 of 6 (100%) 6 of 6 (100%)

Statements are split using the parser's own statement splitter, so multi-statement examples and procedure bodies are counted correctly. The SELECT, DML and stored-procedure rows classify each statement by its parsed statement type: a construct is counted in a row when its examples contain at least one statement of that class, and is fully parsed when all of them parse. Stored procedures covers CREATE PROCEDURE / FUNCTION / PACKAGE / TRIGGER definitions and anonymous blocks.

Machine-readable: dialect data (JSON) · all-dialect matrix · coverage matrix overview

All 182 constructs

Construct Category Parses Specified in
ADMINISTER KEY MANAGEMENT all 2 Oracle docs
ANALYZE all 3 Oracle docs
ASSOCIATE STATISTICS all 2 Oracle docs
AUDIT all 3 Oracle docs
CALL all 1 Oracle docs
COMMENT all 2 Oracle docs
EXPLAIN PLAN all 1 Oracle docs
FLASHBACK DATABASE all 1 Oracle docs
FLASHBACK TABLE all 1 Oracle docs
GRANT all 9 Oracle docs
INSERT all 9 Oracle docs
LOCK TABLE all 2 Oracle docs
MERGE all 2 Oracle docs
NOAUDIT (Traditional Auditing) all 3 Oracle docs
NOAUDIT (Unified Auditing) all 2 Oracle docs
PURGE all 2 Oracle docs
RENAME all 1 Oracle docs
REVOKE all 3 Oracle docs
ROLLBACK all 3 Oracle docs
SAVEPOINT all 8 Oracle docs
TRUNCATE CLUSTER all 1 Oracle docs
TRUNCATE TABLE all 2 Oracle docs
UPDATE all 1 Oracle docs
UPDATE all 6 Oracle docs
ALTER ANALYTIC VIEW ALERT all 2 Oracle docs
ALTER ATTRIBUTE DIMENSION ALERT all 1 Oracle docs
ALTER AUDIT POLICY ALERT all 3 Oracle docs
ALTER CLUSTER ALERT all 3 Oracle docs
ALTER DATABASE ALERT all 3 Oracle docs
ALTER DATABASE DICTIONARY ALERT all 2 Oracle docs
ALTER DATABASE LINK ALERT all 4 Oracle docs
ALTER DIMENSION ALERT all 2 Oracle docs
ALTER DISKGROUP ALERT all 4 Oracle docs
ALTER DISKGROUP ALERT all 4 Oracle docs
ALTER FUNCTION ALERT all 1 Oracle docs
ALTER HIERARCHY ALERT all 1 Oracle docs
ALTER INDEX ALERT all 4 Oracle docs
ALTER INDEXTYPE ALERT all 1 Oracle docs
ALTER INMEMORY JOIN GROUP ALERT all 2 Oracle docs
ALTER JAVA ALERT all 1 Oracle docs
ALTER LIBRARY ALERT all 1 Oracle docs
ALTER LOCKDOWN PROFILE ALERT all 3 Oracle docs
ALTER MATERIALIZED VIEW ALERT all 3 Oracle docs
ALTER MATERIALIZED VIEW LOG ALERT all 2 Oracle docs
ALTER MATERIALIZED ZONEMAP ALERT all 2 Oracle docs
ALTER OPERATOR ALERT all 1 Oracle docs
ALTER OUTLINE ALERT all 1 Oracle docs
ALTER PACKAGE ALERT all 1 Oracle docs
ALTER PLUGGABLE DATABASE ALERT all 3 Oracle docs
ALTER PMEM FILESTORE ALERT all 3 Oracle docs
ALTER PROCEDURE ALERT all 1 Oracle docs
ALTER PROFILE ALERT all 3 Oracle docs
ALTER RESOURCE COST ALERT all 2 Oracle docs
ALTER ROLE ALERT all 3 Oracle docs
ALTER ROLLBACK SEGMENT ALERT all 2 Oracle docs
ALTER SEQUENCE ALERT all 2 Oracle docs
ALTER SESSION ALERT all 3 Oracle docs
ALTER SYNONYM ALERT all 3 Oracle docs
ALTER SYSTEM ALERT all 4 Oracle docs
ALTER TABLE ALERT all 2 Oracle docs
ALTER TABLESPACE ALERT all 3 Oracle docs
ALTER TABLESPACE SET ALERT all 1 Oracle docs
ALTER TRIGGER ALERT all 1 Oracle docs
ALTER TYPE ALERT all 1 Oracle docs
ALTER USER ALERT all 3 Oracle docs
ALTER VIEW ALERT all 1 Oracle docs
CREATE ANALYTIC VIEW CREATE all 1 Oracle docs
CREATE ATTRIBUTE DIMENSION CREATE all 1 Oracle docs
CREATE AUDIT POLICY CREATE all 3 Oracle docs
CREATE CLUSTER CREATE all 3 Oracle docs
CREATE CONTEXT CREATE all 2 Oracle docs
CREATE CONTROLFILE CREATE all 1 Oracle docs
CREATE DATABASE CREATE all 1 Oracle docs
CREATE DATABASE LINK CREATE all 2 Oracle docs
CREATE DIMENSION CREATE all 2 Oracle docs
CREATE DIMENSION CREATE all 2 Oracle docs
CREATE DISKGROUP CREATE all 1 Oracle docs
CREATE EDITION CREATE all 1 Oracle docs
CREATE FLASHBACK ARCHIVE CREATE all 1 Oracle docs
CREATE FUNCTION CREATE all 1 Oracle docs
CREATE HIERARCHY CREATE all 2 Oracle docs
CREATE INDEX CREATE all 2 Oracle docs
CREATE INDEXTYPE CREATE all 1 Oracle docs
CREATE INMEMORY JOIN GROUP CREATE all 2 Oracle docs
CREATE JAVA CREATE all 3 Oracle docs
CREATE LIBRARY CREATE all 3 Oracle docs
CREATE LOCKDOWN PROFILE CREATE all 1 Oracle docs
CREATE MATERIALIZED VIEW CREATE all 2 Oracle docs
CREATE MATERIALIZED VIEW LOG CREATE all 2 Oracle docs
CREATE MATERIALIZED ZONEMAP CREATE all 2 Oracle docs
CREATE OPERATOR CREATE all 1 Oracle docs
CREATE OUTLINE CREATE all 2 Oracle docs
CREATE PACKAGE CREATE all 1 Oracle docs
CREATE PACKAGE BODY CREATE all 1 Oracle docs
CREATE PFILE CREATE all 1 Oracle docs
CREATE PLUGGABLE DATABASE CREATE all 2 Oracle docs
CREATE PMEM FILESTORE CREATE all 1 Oracle docs
CREATE PROCEDURE CREATE all 1 Oracle docs
CREATE PROFILE CREATE all 2 Oracle docs
CREATE RESTORE POINT CREATE all 1 Oracle docs
CREATE ROLE CREATE all 3 Oracle docs
CREATE ROLLBACK SEGMENT CREATE all 1 Oracle docs
CREATE SCHEMA CREATE all 1 Oracle docs
CREATE SEQUENCE CREATE all 1 Oracle docs
CREATE SPFILE CREATE all 1 Oracle docs
CREATE SYNONYM CREATE all 1 Oracle docs
CREATE TABLE CREATE all 2 Oracle docs
CREATE TABLESPACE CREATE all 2 Oracle docs
CREATE TABLESPACE SET CREATE all 1 Oracle docs
CREATE TRIGGER CREATE all 1 Oracle docs
CREATE TYPE CREATE all 2 Oracle docs
CREATE TYPE BODY Statement CREATE all 2 Oracle docs
CREATE USER CREATE all 1 Oracle docs
CREATE VIEW CREATE all 2 Oracle docs
DELETE DML all 2 Oracle docs
DISASSOCIATE STATISTICS DML all 1 Oracle docs
DROP ANALYTIC VIEW DROP all 1 Oracle docs
DROP ATTRIBUTE DIMENSION DROP all 1 Oracle docs
DROP CLUSTER DROP all 2 Oracle docs
DROP CONTEXT DROP all 1 Oracle docs
DROP DATABASE DROP all 1 Oracle docs
DROP DATABASE LINK DROP all 1 Oracle docs
DROP DIMENSION DROP all 1 Oracle docs
DROP DIRECTORY DROP all 1 Oracle docs
DROP DISKGROUP DROP all 1 Oracle docs
DROP EDITION DROP all 1 Oracle docs
DROP FLASHBACK ARCHIVE DROP all 1 Oracle docs
DROP FUNCTION DROP all 1 Oracle docs
DROP FUNCTION Statement DROP all 1 Oracle docs
DROP HIERARCHY DROP all 1 Oracle docs
DROP INDEX DROP all 1 Oracle docs
DROP INDEXTYPE DROP all 1 Oracle docs
DROP INMEMORY JOIN GROUP DROP all 1 Oracle docs
DROP JAVA DROP all 1 Oracle docs
DROP LIBRARY DROP all 1 Oracle docs
DROP LIBRARY Statement DROP all 1 Oracle docs
DROP LOCKDOWN PROFILE DROP all 1 Oracle docs
DROP MATERIALIZED VIEW DROP all 2 Oracle docs
DROP MATERIALIZED VIEW LOG DROP all 1 Oracle docs
DROP MATERIALIZED ZONEMAP DROP all 1 Oracle docs
DROP OPERATOR DROP all 1 Oracle docs
DROP OUTLINE DROP all 1 Oracle docs
DROP PACKAGE DROP all 1 Oracle docs
DROP PACKAGE Statement DROP all 1 Oracle docs
DROP PLUGGABLE DATABASE DROP all 1 Oracle docs
DROP PMEM FILESTORE DROP all 1 Oracle docs
DROP PROCEDURE DROP all 1 Oracle docs
DROP PROCEDURE Statement DROP all 1 Oracle docs
DROP PROFILE DROP all 1 Oracle docs
DROP RESTORE POINT DROP all 1 Oracle docs
DROP ROLE DROP all 1 Oracle docs
DROP ROLLBACK SEGMENT DROP all 1 Oracle docs
DROP SEQUENCE DROP all 1 Oracle docs
DROP SYNONYM DROP all 1 Oracle docs
DROP TABLE DROP all 1 Oracle docs
DROP TABLESPACE DROP all 2 Oracle docs
DROP TABLESPACE SET DROP all 1 Oracle docs
DROP TRIGGER DROP all 1 Oracle docs
DROP TRIGGER Statement DROP all 1 Oracle docs
DROP TYPE DROP all 1 Oracle docs
DROP TYPE BODY DROP all 1 Oracle docs
DROP TYPE BODY Statement DROP all 1 Oracle docs
DROP TYPE Statement DROP all 1 Oracle docs
DROP USER DROP all 1 Oracle docs
DROP VIEW DROP all 1 Oracle docs
FULL OUTER JOIN SELECT all 1 Oracle docs
INNER JOIN SELECT all 1 Oracle docs
JOIN SELECT all 1 Oracle docs
LEFT OUTER JOIN SELECT all 1 Oracle docs
OUTER JOIN SELECT all 1 Oracle docs
SELECT SELECT all 1 Oracle docs
SELECT FROM SELECT all 1 Oracle docs
SELECT FROM WHERE SELECT all 2 Oracle docs
SELECT FOR UPDATE SELECT all 1 Oracle docs
SELECT FROM HAVING SELECT all 1 Oracle docs
SELECT GROUP BY SELECT all 2 Oracle docs
SELECT ORDER BY SELECT all 1 Oracle docs
SELECT UNION SELECT all 1 Oracle docs
SELECT WITH SELECT all 1 Oracle docs
SET CONSTRAINT[S] SET all 2 Oracle docs
SET ROLE SET all 3 Oracle docs
SET TRANSACTION SET all 4 Oracle docs

Key Features Supported

  • Standard SQL operations (SELECT, INSERT, UPDATE, DELETE)
  • Oracle-specific data types and functions
  • PL/SQL stored procedures and packages
  • Advanced analytical functions
  • Hierarchical queries (CONNECT BY)
  • Partitioning and advanced indexing