Skip to content

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 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