Sybase SQL Parser Support in GSP¶
Explore the Sybase SQL Parser product page
This page documents the SQL syntax support for Sybase in the General SQL Parser.
Which Sybase vendor should I use?¶
sybase is the permissive union of the whole historical Sybase family. It
accepts Transact-SQL (Adaptive Server Enterprise) and Watcom-SQL (SQL Anywhere,
IQ) together, which is what you want for scripts of mixed or unknown origin. It
is fully supported and its behaviour is unchanged.
If you know which product the SQL targets, the per-product vendors are stricter
and will tell you when a statement belongs to a different member of the
family — for example that DUMP TRANSACTION is ASE syntax and SQL Anywhere
wants BACKUP instead.
| Vendor | Alias | Use it for | Rejects |
|---|---|---|---|
sybasease |
ase |
SAP Adaptive Server Enterprise — Transact-SQL only | Watcom-SQL procedure forms, Sybase IQ DDL |
sqlanywhere |
asa |
SAP SQL Anywhere — Watcom-SQL and Transact-SQL, chosen per statement | ASE-only statements, Sybase IQ DDL |
sybaseiq |
iq |
SAP Sybase IQ — the SQL Anywhere language plus IQ column-store DDL | ASE-only statements |
sybase |
— | mixed or unknown-origin Sybase SQL | nothing in the family |
Why the split exists: SQL Anywhere selects Watcom-SQL or Transact-SQL per statement, so a single valid schema dump can contain both. The family is therefore separated by product, not by dialect — a dialect split would leave a real SQL Anywhere script parseable by neither half.
Syntax Coverage Corpus¶
GSP tests Sybase syntax against 123 documented constructs grouped into 80 categories, each cross-referenced to the documentation that defines it (3 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 Sybase 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 | 111 of 123 (90%) | 296 of 335 (88%) |
| SELECT (queries) | 8 of 8 (100%) | 15 of 15 (100%) |
| DML (INSERT / UPDATE / DELETE / MERGE) | 5 of 5 (100%) | 16 of 16 (100%) |
| Stored procedures | 0 of 4 (0%) | 4 of 9 (44%) |
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 123 constructs¶
| Construct | Category | Parses | Specified in |
|---|---|---|---|
ALLOCATE DESCRIPTOR |
ALLOCATE DESCRIPTOR | all 1 | SAP docs |
ALTER DATABASE |
ALTER | all 3 | SAP docs |
ALTER DBSPACE |
ALTER | all 6 | SAP docs |
ALTER DOMAIN |
ALTER | all 1 | SAP docs |
ALTER EVENT |
ALTER | all 1 | SAP docs |
ALTER FUNCTION |
ALTER | all 1 | SAP docs |
ALTER INDEX |
ALTER | all 4 | SAP docs |
ALTER LOGIN POLICY |
ALTER | all 1 | SAP docs |
ALTER PROCEDURE |
ALTER | all 1 | SAP docs |
ALTER SERVER |
ALTER | all 4 | SAP docs |
ALTER SERVICE |
ALTER | all 2 | SAP docs |
ALTER TABLE |
ALTER | all 17 | SAP docs |
ALTER USER |
ALTER | all 1 | SAP docs |
ALTER VIEW |
ALTER | all 1 | SAP docs |
BACKUP |
BACKUP | all 4 | SAP docs |
BEGIN PARALLEL IQ … END PARALLEL IQ |
BEGIN PARALLEL IQ … END PARALLEL IQ | 0 of 2 | SAP docs |
BEGIN TRANSACTION |
BEGIN TRANSACTION | all 1 | SAP docs |
BEGIN … END |
BEGIN … END | 1 of 4 | SAP docs |
CALL |
CALL | all 2 | SAP docs |
CASE |
CASE | 5 of 7 | SAP docs |
CHECKPOINT |
CHECKPOINT | all 1 | SAP docs |
CLEAR |
CLEAR | all 1 | SAP docs |
CLOSE |
CLOSE | all 3 | SAP docs |
COMMENT |
COMMENT | all 2 | SAP docs |
COMMIT |
COMMIT | all 1 | SAP docs |
CONFIGURE |
CONFIGURE | all 1 | SAP docs |
CONNECT |
CONNECT | all 7 | — |
CREATE DATABASE |
CREATE | all 6 | SAP docs |
CREATE DBSPACE |
CREATE | all 5 | SAP docs |
CREATE DOMAIN |
CREATE | all 1 | SAP docs |
CREATE EVENT |
CREATE | 9 of 12 | SAP docs |
CREATE EXISTING TABLE |
CREATE | all 1 | SAP docs |
CREATE EXTERNLOGIN |
CREATE | all 1 | SAP docs |
CREATE FUNCTION |
CREATE | 1 of 3 | SAP docs |
CREATE INDEX |
CREATE | all 6 | SAP docs |
CREATE JOIN INDEX |
CREATE | all 2 | SAP docs |
CREATE LOGIN POLICY |
CREATE | all 1 | SAP docs |
CREATE MESSAGE |
CREATE | all 1 | SAP docs |
CREATE PROCEDURE |
CREATE | 3 of 5 | SAP docs |
CREATE SCHEMA |
CREATE | all 1 | SAP docs |
CREATE SERVER |
CREATE | all 3 | SAP docs |
CREATE SERVICE |
CREATE | all 2 | SAP docs |
CREATE TABLE |
CREATE | all 18 | — |
CREATE USER |
CREATE | all 3 | SAP docs |
CREATE VARIABLE |
CREATE | all 1 | SAP docs |
CREATE VIEW |
CREATE | all 2 | SAP docs |
DEALLOCATE DESCRIPTOR |
DEALLOCATE DESCRIPTOR | all 1 | SAP docs |
Declaration section |
Declaration section | 0 of 6 | — |
DECLARE |
DECLARE | all 1 | SAP docs |
DECLARE CURSOR |
DECLARE CURSOR | all 4 | SAP docs |
DECLARE LOCAL TEMPORARY TABLE |
DECLARE LOCAL TEMPORARY TABLE | all 3 | SAP docs |
DELETE |
DELETE | all 3 | SAP docs |
DESCRIBE |
DESCRIBE | all 1 | SAP docs |
DISCONNECT |
DISCONNECT | all 1 | SAP docs |
DROP |
DROP | all 2 | SAP docs |
DROP CONNECTION |
DROP | all 1 | SAP docs |
DROP DATABASE |
DROP | all 3 | SAP docs |
DROP EXTERNLOGIN |
DROP | all 1 | SAP docs |
DROP LOGIN POLICY |
DROP | all 1 | SAP docs |
DROP SERVER |
DROP | all 1 | SAP docs |
DROP SERVICE |
DROP | all 1 | SAP docs |
DROP STATEMENT |
DROP | all 2 | SAP docs |
DROP USER |
DROP | all 1 | SAP docs |
DROP VARIABLE |
DROP | all 1 | SAP docs |
EXECUTE |
EXECUTE | all 4 | SAP docs |
EXECUTE IMMEDIATE |
EXECUTE IMMEDIATE | all 1 | SAP docs |
EXIT |
EXIT | all 1 | SAP docs |
FETCH |
FETCH | all 1 | SAP docs |
FOR |
FOR | 2 of 4 | SAP docs |
FORWARD TO |
FORWARD TO | all 4 | SAP docs |
FROM |
FROM | all 1 | SAP docs |
GET DESCRIPTOR |
GET DESCRIPTOR | all 1 | SAP docs |
GOTO |
GOTO | all 6 | SAP docs |
GRANT |
GRANT | all 5 | SAP docs |
IF |
IF | 2 of 12 | SAP docs |
INCLUDE |
INCLUDE | all 1 | SAP docs |
INSERT |
INSERT | all 3 | SAP docs |
INSTALL JAVA |
INSTALL JAVA | all 2 | SAP docs |
IQ UTILITIES |
IQ UTILITIES | all 1 | SAP docs |
LEAVE |
LEAVE | 1 of 2 | SAP docs |
LOAD TABLE |
LOAD TABLE | all 7 | SAP docs |
LOCK TABLE |
LOCK TABLE | all 2 | SAP docs |
LOOP |
LOOP | 3 of 7 | SAP docs |
MESSAGE |
MESSAGE | all 3 | SAP docs |
OPEN |
OPEN | all 2 | SAP docs |
OUTPUT |
OUTPUT | all 2 | SAP docs |
PARAMETERS |
PARAMETERS | all 1 | SAP docs |
PREPARE |
PREPARE | all 1 | SAP docs |
PRINT |
all 2 | SAP docs | |
PUT |
PUT | all 1 | SAP docs |
RAISERROR |
RAISERROR | all 1 | SAP docs |
READ |
READ | all 2 | SAP docs |
RELEASE SAVEPOINT |
RELEASE SAVEPOINT | all 1 | SAP docs |
REMOVE |
REMOVE | all 1 | SAP docs |
RESIGNAL |
RESIGNAL | all 1 | SAP docs |
RESTORE |
RESTORE | all 4 | SAP docs |
RESUME |
RESUME | all 1 | SAP docs |
RETURN |
RETURN | all 1 | SAP docs |
REVOKE |
REVOKE | all 8 | SAP docs |
ROLLBACK |
ROLLBACK | all 2 | SAP docs |
ROLLBACK TO SAVEPOINT |
ROLLBACK TO SAVEPOINT | all 1 | SAP docs |
SAVEPOINT |
SAVEPOINT | all 1 | SAP docs |
SELECT |
SELECT | all 6 | SAP docs |
SET |
SET | all 2 | SAP docs |
SET CONNECTION |
SET | all 2 | SAP docs |
SET DESCRIPTOR |
SET | all 1 | SAP docs |
SET OPTION |
SET | all 4 | SAP docs |
SET SQLCA |
SET | all 1 | SAP docs |
SIGNAL |
SIGNAL | all 1 | SAP docs |
START DATABASE |
START DATABASE | all 2 | SAP docs |
START ENGINE |
START ENGINE | all 2 | SAP docs |
START JAVA |
START JAVA | all 1 | SAP docs |
STOP DATABASE |
STOP DATABASE | all 1 | SAP docs |
STOP ENGINE |
STOP ENGINE | all 1 | SAP docs |
STOP JAVA |
STOP JAVA | all 1 | SAP docs |
SYNCHRONIZE JOIN INDEX |
SYNCHRONIZE JOIN INDEX | all 1 | SAP docs |
TRIGGER EVENT |
TRIGGER EVENT | all 1 | SAP docs |
TRUNCATE TABLE |
TRUNCATE | all 1 | SAP docs |
UNION |
UNION | all 1 | SAP docs |
UPDATE |
UPDATE | all 8 | SAP docs |
WAITFOR |
WAITFOR | all 3 | SAP docs |
WHENEVER |
WHENEVER | 3 of 5 | SAP docs |
WHILE |
WHILE | all 1 | SAP docs |
Key Features Supported¶
- Standard SQL operations (SELECT, INSERT, UPDATE, DELETE)
- Sybase-specific functions and data types
- Stored procedures and triggers
- Transaction management features
- Advanced indexing and partitioning
- Replication and high-availability