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