3.2 SQL Platform Support
Table 3-1 provides a listing of the SQL
statements, the platforms that support them, and the degree to which
they support them. The following list offers useful tips for reading
Table 3-1, as well as what each abbreviation
stands for. The sections that follow describe the commands from the
table in detail:
The first column contains the alphabetized SQL commands. The SQL statement class for each command is indicated in the second
column. The subsequent columns list the vendor's level of
support:
- Supported (S)
-
The platform supports the SQL2003 standard for the particular command.
- Supported, with variations (SWV)
-
The platform supports the SQL2003 standard for the particular
command, using vendor-specific code or syntax.
- Supported, with limitations (SWL)
-
The platform supports some but not all of the functions specified by
the SQL2003 standard for the particular command.
- Not supported (NS)
-
The platform does not support the particular command according to the
SQL2003 standard.
Remember that even if a specific SQL2003 command is listed as
"Not supported," the platform
usually has alternative coding or syntax to enact the same command or
function. Therefore, be sure to read the discussion and examples for
each command later in this chapter. Likewise, a few of the commands
in Table 3-1 are not found in the SQL2003
standard, and these have been indicated with the term
"Non-ANSI" under the heading
"SQL2003 class" in the table.
Conversely, a few ANSI commands in the table (such as
CREATE DOMAIN and ALTER
DOMAIN) are not currently supported by any of the database
platforms covered in this text. Since this book focuses on the
implementation of the SQL language, unsupported ANSI
commands are shown in Table 3-1 but are not
documented elsewhere in the book.
Table 3-1. Alphabetical quick SQL command reference
SQL2003 Command
|
SQL2003 class
|
DB2
v8.1
|
MySQL
v4.0
|
Oracle v10g
|
Postgre SQL v7.2
|
SQL
Server
2000
|
---|
ALL/ANY/SOME
|
SQL-data
|
S
|
NS
|
S
|
S
|
S
|
BETWEEN
|
SQL-data
|
S
|
S
|
S
|
S
|
S
|
ALTER DATABASE
|
SQL-schema
|
SWV
|
SWV
|
SWV
|
SWV
|
SWV
|
ALTER DOMAIN
|
SQL-schema
|
NS
|
NS
|
NS
|
NS
|
NS
|
ALTER FUNCTION
|
SQL-schema
|
SWV
|
SWL
|
SWV
|
SWL
|
SWV
|
ALTER INDEX
|
Non-ANSI
|
SWV
|
SWV
|
SWV
|
SWV
|
SWV
|
ALTER METHOD
|
SQL-schema
|
SWV
|
NS
|
NS
|
NS
|
NS
|
ALTER
PROCEDURE
|
SQL-schema
|
SWV
|
SWL
|
SWV
|
SWL
|
SWV
|
ALTER TABLE
|
SQL-schema
|
SWV
|
SWV
|
SWV
|
SWV
|
SWV
|
ALTER TRIGGER
|
Non-ANSI
|
SWV
|
NS T
|
SWV
|
SWV
|
SWV
|
ALTER TYPE
|
SQL-schema
|
SWV
|
NS
|
SWV
|
NS
|
NS
|
ALTER VIEW
|
Non-ANSI
|
SWV
|
NS
|
SWV
|
SWV
|
SWV
|
CALL
|
SQL-control
|
SWV
|
NS T
|
SWV
|
NS
|
NS
|
CLOSE CURSOR
|
SQL-data
|
SWV
|
NS
|
S
|
S
|
SWV
|
COMMIT
|
SQL-transaction
|
S
|
SWV
|
SWV
|
SWV
|
SWV
|
CONNECT
|
SQL-connection
|
SWV
|
NS
|
S
|
NS
|
SWV
|
CREATE DATABASE
|
Non-ANSI
|
SWV
|
SWV
|
SWV
|
SWV
|
SWV
|
CREATE DOMAIN
|
SQL-schema
|
NS
|
NS
|
NS
|
NS
|
NS
|
CREATE FUNCTION
|
SQL-schema
|
SWV
|
SWL
|
SWV
|
SWL
|
SWV
|
CREATE INDEX
|
Non-ANSI
|
SWV
|
SWV
|
SWV
|
SWV
|
SWV
|
CREATE METHOD
|
SQL-schema
|
SWV
|
NS
|
NS
|
NS
|
NS
|
CREATE PROCEDURE
|
SQL-schema
|
S
|
NS
|
S
|
NS
|
S
|
CREATE ROLE
|
SQL-schema
|
NS
|
NS
|
SWV
|
NS
|
NS
|
CREATE SCHEMA
|
SQL-schema
|
SWL
|
NS
|
SWV
|
NS
|
SWL
|
CREATE TABLE
|
SQL-schema
|
SWV
|
SWV
|
SWV
|
SWV
|
SWV
|
CREATE TRIGGER
|
SQL-schema
|
SWV
|
NS
|
SWV
|
SWV
|
SWV
|
CREATE TYPE
|
SQL-schema
|
SWV
|
NS
|
SWL
|
SWV
|
NS
|
CREATE VIEW
|
SQL-schema
|
SWV
|
NS
|
SWV
|
SWV
|
SWV
|
DECLARE CURSOR
|
SQL-data
|
SWL
|
NS
|
SWL
|
SWL
|
SWL
|
DELETE
|
SQL-data
|
SWV
|
SWV
|
SWV
|
S
|
SWL
|
DISCONNECT
|
SQL-connection
|
SWL
|
NS
|
SWL
|
NS
|
SWL
|
DROP DATABASE
|
Non-ANSI
|
NS
|
SWV
|
S
|
SWV
|
SWV
|
DROP DOMAIN
|
SQL-schema
|
NS
|
NS
|
NS
|
NS
|
NS
|
DROP FUNCTION
|
SQL-schema
|
SWV
|
SWV
|
SWV
|
SWV
|
SWV
|
DROP INDEX
|
Non-ANSI
|
SWV
|
SWV
|
SWV
|
SWV
|
SWV
|
DROP METHOD
|
SQL-schema
|
SWV
|
NS
|
SWV
|
SWV
|
NS
|
DROP
PROCEDURE
|
SQL-schema
|
SWV
|
NS
|
S
|
NS
|
S
|
DROP ROLE
|
SQL-schema
|
NS
|
NS
|
SWV
|
NS
|
NS
|
DROP TABLE
|
SQL-schema
|
SWV
|
SWV
|
SWV
|
SWV
|
SWV
|
DROP TYPE
|
SQL-schema
|
S
|
NS
|
S
|
S
|
NS
|
DROP TRIGGER
|
SQL-schema
|
SWV
|
NS
|
SWV
|
SWV
|
SWV
|
DROP VIEW
|
SQL-schema
|
S
|
NS
|
S
|
S
|
S
|
EXCEPT
|
SQL-data
|
SWL
|
NS
|
SWL
|
SWL
|
NS
|
EXISTS
|
SQL-data
|
S
|
S
|
S
|
S
|
S
|
FETCH
|
SQL-data
|
SWL
|
NS
|
SWL
|
SWV
|
SWV
|
GRANT
|
SQL-schema
|
SWV
|
SWV
|
SWV
|
SWV
|
SWV
|
IN
|
SQL-data
|
S
|
S
|
SWV
|
S
|
S
|
INSERT
|
SQL-data
|
SWV
|
SWV
|
SWV
|
S
|
SWV
|
INTERSECT
|
SQL-data
|
SWL
|
NS
|
SWL
|
SWL
|
NS
|
IS
|
SQL-data
|
S
|
S
|
S
|
S
|
S
|
JOIN subclause
|
SQL-data
|
SWL
|
SWV
|
S
|
SWV
|
SWL
|
LIKE
|
SQL-data
|
S
|
SWV
|
S
|
SWV
|
SWV
|
MERGE
|
SQL-data
|
S
|
NS
|
S
|
NS
|
NS
|
OPEN
|
SQL-data
|
SWV
|
NS
|
S
|
NS
|
S
|
OPERATORS
|
SQL-schema
|
SWV
|
SWV
|
SWV
|
SWV
|
SWV
|
ORDER BY
|
SQL-data
|
SWL
|
SWL
|
SWV
|
SWV
|
SWL
|
RELEASE SAVEPOINT
|
SQL-transaction
|
SWV
|
NS
|
NS
|
NS
|
NS
|
RETURN
|
SQL-control
|
SWV
|
NS
|
S
|
SWL
|
S
|
REVOKE
|
SQL-schema
|
SWV
|
SWV
|
SWV
|
SWV
|
SWV
|
ROLLBACK
|
SQL-transaction
|
S
|
SWL
|
SWV
|
SWL
|
SWV
|
SAVEPOINT
|
SQL-transaction
|
SWV
|
NS
|
S
|
NS
|
SWL
|
SELECT
|
SQL-data
|
SWV (ANSI joins sup-ported)
|
SWV (ANSI joins partially supported)
|
SWV (ANSI joins supported)
|
SWV (ANSI joins par-tially sup-ported)
|
SWV (ANSI joins supported)
|
SET
|
SQL-session
|
S
|
S
|
NS
|
S
|
S
|
SET CATALOG
|
SQL-session
|
NS
|
NS
|
NS
|
NS
|
NS
|
SET COLLATION
|
SQL-session
|
NS
|
NS
|
NS
|
NS
|
NS
|
SET CONNECTION
|
SQL-connection
|
SWL
|
NS
|
NS
|
NS
|
SWL
|
SET CONSTRAINT
|
SQL-connection
|
NS
|
NS
|
SWV
|
SWV
|
NS
|
SET DESCRIPTOR
|
SQL-session
|
NS
|
NS
|
NS
|
NS
|
NS
|
|