Suporte do Derby ??s funcionalidades do SQL-92

Existem quatro n??veis de suporte ao SQL-92:
  • SQL92E

    Entrada (entry)

  • SQL92T

    Transicional (transitional), um n??vel definido pelo NIST em uma publica????o chamada FIPS 127-2

  • SQL92I

    Intermedi??rio (intermediate)

  • SQL92F

    Completo (full)

Tabela 1. Suporte ??s funcionalidades do SQL-92: Tipos b??sicos
Funcionalidade Origem Derby
SMALLINT SQL92E sim
INTEGER SQL92E sim
DECIMAL(p,s) SQL92E sim
NUMERIC(p,s) SQL92E sim
REAL SQL92E sim
FLOAT(p) SQL92E sim
DOUBLE PRECISION SQL92E sim
CHAR(n) SQL92E sim
Tabela 2. Suporte ??s funcionalidades do SQL-92: Opera????es matem??ticas b??sicas
Funcionalidade Origem Derby
+, *, -, /, + un??rio, - un??rio SQL92E sim
Tabela 3. Suporte ??s funcionalidades do SQL-92: Compara????es b??sicas
Funcionalidade Origem Derby
<, >, <= ,>=, <>, = SQL92E sim
Tabela 4. Suporte ??s funcionalidades do SQL-92: Predicados b??sicos
Funcionalidade Origem Derby
BETWEEN, LIKE, NULL SQL92E sim
Tabela 5. Suporte ??s funcionalidades do SQL-92: Predicados quantificados
Funcionalidade Origem Derby
IN, ALL/SOME, EXISTS SQL92E sim
Tabela 6. Suporte ??s funcionalidades do SQL-92: Defini????o do esquema
Funcionalidade Origem Derby
tabelas SQL92E sim
vis??es SQL92E sim
privil??gios SQL92E sim
Tabela 7. Suporte ??s funcionalidades do SQL-92: Atributos das colunas
Funcionalidade Origem Derby
valor padr??o SQL92E sim
nulo SQL92E sim
Tabela 8. Suporte ??s funcionalidades do SQL-92: Restri????es (n??o-posterg??veis)
Funcionalidade Origem Derby
NOT NULL SQL92E sim (n??o armazenada em SYSCONSTRAINTS)
UNIQUE/PRIMARY KEY SQL92E sim
FOREIGN KEY SQL92E sim
CHECK SQL92E sim
Vis??o com WITH CHECK OPTION SQL92E n??o, uma vez que as vis??es n??o s??o atualiz??veis
Tabela 9. Suporte ??s funcionalidades do SQL-92: Cursores
Funcionalidade Origem Derby
DECLARE, OPEN, FETCH, CLOSE SQL92E realizadas atrav??s do JDBC
UPDATE, DELETE CURRENT SQL92E sim
Tabela 10. Suporte ??s funcionalidades do SQL-92: SQL din??mico 1
Funcionalidade Origem Derby
ALLOCATE / DEALLOCATE / GET / SET DESCRIPTOR SQL92T realizadas atrav??s do JDBC
PREPARE / EXECUTE / EXECUTE IMMEDIATE SQL92T realizadas atrav??s do JDBC
Cursor din??mico DECLARE, OPEN, FETCH, CLOSE, UPDATE, DELETE SQL92T realizadas atrav??s do JDBC
Sa??da DESCRIBE SQL92T realizadas atrav??s do JDBC
Tabela 11. Suporte ??s funcionalidades do SQL-92: Esquema de informa????es b??sico
Funcionalidade Origem Derby
TABLES SQL92T SYS.SYSTABLES, SYS.SYSVIEWS, SYS.SYSCOLUMNS
VIEWS SQL92T SYS.SYSTABLES, SYS.SYSVIEWS, SYS.SYSCOLUMNS
COLUMNS SQL92T SYS.SYSTABLES, SYS.SYSVIEWS, SYS.SYSCOLUMNS
Tabela 12. Suporte ??s funcionalidades do SQL-92: Manipula????o b??sica de esquema
Funcionalidade Origem Derby
CREATE / DROP TABLE SQL92T sim
CREATE / DROP VIEW SQL92T sim
GRANT / REVOKE SQL92T n??o
ALTER TABLE ADD COLUMN SQL92T sim
ALTER TABLE DROP COLUMN SQL92T n??o
Tabela 13. Suporte ??s funcionalidades do SQL-92: Tabela juntada
Funcionalidade Origem Derby
INNER JOIN SQL92T sim
jun????o natural SQL92T n??o
LEFT, RIGHT OUTER JOIN SQL92T sim
condi????o de jun????o SQL92T sim
jun????o de colunas nomeada SQL92T sim
Tabela 14. Suporte ??s funcionalidades do SQL-92: Tabela juntada
Funcionalidade Origem Derby
DATE, TIME, TIMESTAMP, INTERVAL simples SQL92T sim, menos INTERVAL
constantes data/hora SQL92T sim
matem??tica data/hora SQL92T pode ser feito com m??todos Java
compara????es de data/hora SQL92T sim
predicados: OVERLAPS SQL92T pode ser feito com m??todos Java
Tabela 15. Suporte ??s funcionalidades do SQL-92: VARCHAR
Funcionalidade Origem Derby
LENGTH SQL92T sim
concatena????o (||) SQL92T sim
Tabela 16. Suporte ??s funcionalidades do SQL-92: Isolamento de transa????o
Funcionalidade Origem Derby
READ WRITE / READ ONLY SQL92T atrav??s do JDBC, propriedades do banco de dado e meio de armazenamento.
RU, RC, RR, SER SQL92T sim
Tabela 17. Suporte ??s funcionalidades do SQL-92: V??rios esquemas por usu??rio
Funcionalidade Origem Derby
Vis??o SCHEMATA SQL92T SYS.SYSSCHEMAS
Tabela 18. Suporte ??s funcionalidades do SQL-92: Privil??gios em tabelas
Funcionalidade Origem Derby
TABLE_PRIVILEGES SQL92T n??o
COLUMNS_PRIVILEGES SQL92T n??o
USAGE_PRIVILEGES SQL92T n??o
Tabela 19. Suporte ??s funcionalidades do SQL-92: Opera????es de tabela
Funcionalidade Origem Derby
Relaxamento de UNION SQL92I sim
EXCEPT SQL92I sim
INTERSECT SQL92I sim
CORRESPONDING SQL92I n??o
Tabela 20. Suporte ??s funcionalidades do SQL-92: Instru????o de defini????o de esquema
Funcionalidade Origem Derby
CREATE SCHEMA SQL92I sim, parcialmente
Tabela 21. Suporte ??s funcionalidades do SQL-92: Autoriza????o de usu??rio
Funcionalidade Origem Derby
SET SESSION AUTHORIZATION SQL92I usado SET SCHEMA
CURRENT_USER SQL92I sim
SESSION_USER SQL92I sim
SYSTEM_USER SQL92I n??o
Tabela 22. Suporte ??s funcionalidades do SQL-92: Restri????es de tabela
Funcionalidade Origem Derby
TABLE CONSTRAINTS SQL92I SYS.SYSCONSTRAINTS
REFERENTIAL CONSTRAINTS SQL92I SYS.SYSFOREIGNKEYS
CHECK CONSTRAINTS SQL92I SYS.SYSCHECKS
Tabela 23. Suporte ??s funcionalidades do SQL-92: Esquema de documenta????o
Funcionalidade Origem Derby
SQL_FEATURES SQL92I/FIPS 127-2 usado JDBC DatabaseMetaData
SQL_SIZING SQL92I/FIPS 127-2 usado JDBC DatabaseMetaData
Tabela 24. Suporte ??s funcionalidades do SQL-92: DATETIME completo
Funcionalidade Origem Derby
precis??o para TIME e TIMESTAMP SQL92F sim
Tabela 25. Suporte ??s funcionalidades do SQL-92: Fun????es de caractere completa
Funcionalidade Origem Derby
Express??o POSITION SQL92F usado m??todos Java ou LOCATE
Fun????es UPPER/LOWER SQL92F sim
Tabela 26. Suporte ??s funcionalidades do SQL-92: Diversas
Funcionalidade Origem Derby
Identificadores delimitados SQL92E sim
Subconsultas correlacionadas SQL92E sim
Instru????es de inser????o, atualiza????o e exclus??o SQL92E sim
Jun????es SQL92E sim
Qualifica????es no WHERE SQL92E sim
GROUP BY SQL92E sim
HAVING SQL92E sim
Fun????es de agrega????o SQL92E sim
ORDER BY SQL92E sim
Express??es de sele????o SQL92E sim
SELECT * SQL92E sim
SQLCODE SQL92E n??o, em obsolesc??ncia no SQL-92
SQLSTATE SQL92E sim
UNION, INTERSECT e EXCEPT em vis??es SQL92T sim
Convers??o num??rica impl??cita SQL92T sim
Convers??o de caractere impl??cita SQL92T sim
Obter diagn??stico SQL92T usado JDBC SQLException
Opera????es agrupadas SQL92T sim
* qualificado na lista de sele????o SQL92T sim
Identificadores em min??sculas SQL92T sim
PRIMARY KEY com nulo SQL92T n??o
Suporte a v??rios m??dulos SQL92T n??o (n??o ?? requerido e n??o faz parte do JDBC)
A????es de exclus??o referencial SQL92T CASCADE, SET NULL, RESTRICT e NO ACTION.
Fun????es CAST SQL92T sim
Express??es INSERT SQL92T sim
Padr??es expl??citos SQL92T sim
Relaxamento de palavra chave SQL92T sim
Defini????o de dom??nio SQL92I n??o
Express??o CASE SQL92I suporte parcial
Constantes cadeia de caracteres compostas SQL92I usado concatena????o
Melhorias no LIKE SQL92I sim
Predicado UNIQUE SQL92I n??o
Utiliza????o de tabelas SQL92I SYS.SYSDEPENDS
Esquema de informa????o intermedi??rio SQL92I usado JDBC DatabaseMetaData e tabelas do sistema do Derby
Suporte a subprograma SQL92I n??o ?? relevante para o JDBC, que ?? muito mais rico
Sinaliza????o SQL intermedi??ria SQL92I n??o
Manipula????o de esquema SQL92I sim
Identificadores longos SQL92I sim
Jun????o externa completa SQL92I n??o
Especifica????o de zona hor??ria SQL92I n??o
Cursores rolados SQL92I parcial (rolagem n??o sens??vel ao conjunto de resultados atrav??s do JDBC 2.0)
Suporte a fun????es de conjunto intermedi??rio SQL92I parcial
Defini????o de conjunto de caracteres SQL92I suporta idiomas do Java
Conjuntos de caracteres nomeados SQL92I suporta idiomas do Java
Valores de subconsulta escalar SQL92I sim
Predicado nulo expandido SQL92I sim
Gerenciamento de restri????es SQL92I sim (ADD/DROP CONSTRAINT)
Tipos FOR BIT DATA SQL92F sim
Restri????es de asser????o SQL92F n??o
Tabelas tempor??rias SQL92F somente sintaxe espec??fica da IBM
SQL din??mico completo SQL92F n??o
Express??es de valor completa SQL92F sim
Testes de valor verdade SQL92F sim
tabelas derivadas no FROM SQL92F sim
Sublinhado no final SQL92F sim
Tipos de dado indicador SQL92F n??o ?? relevante para o JDBC
Ordem de nome referencial SQL92F n??o
Sinaliza????o SQL completa SQL92F n??o
Construtores de linha e de tabela SQL92F sim
Qualificadores de nome de cat??logo SQL92F n??o
Tabelas simples SQL92F n??o
Subconsultas no CHECK SQL92F n??o, mas pode ser feito com m??todos Java
Jun????o de uni??o SQL92F n??o
Agrupamento e tradu????o SQL92F Suportados os idiomas do Java
A????es de atualiza????o referenciais SQL92F RESTRICT e NO ACTION. As demais podem ser feitas com gatilhos.
ALTER dom??nio SQL92F n??o
INSERT privil??gios em colunas SQL92F n??o
Tipos MATCH referenciais SQL92F n??o
Melhorias de CHECK em vis??es SQL92F n??o, as vis??es n??o s??o atualiz??veis
Gerenciamento de sess??o SQL92F usado JDBC
Gerenciamento de conex??o SQL92F usado JDBC
Opera????es de auto-referenciamento SQL92F sim
Cursores n??o sens??veis SQL92F Sim, atrav??s do JDBC 2.0
Fun????o de conjunto completa SQL92F parcialmente
Sinaliza????o de cat??logo SQL92F n??o
Refer??ncias a tabela local SQL92F n??o
Atualiza????o de cursor completa SQL92F n??o