Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sintaxis SQL 92 PDF
Sintaxis SQL 92 PDF
(VWDHVOD~QLFDGRFXPHQWDFLyQSHUPLWLGDHQHOH[DPHQGHEDVHVGHGDWRV\QRGHEHOOHYDU
DQRWDFLRQHV
35,0(5$3$57(64/
'HILQLFLyQGHGDWRV
1) definicin_esquema ::=
CREATE SCHEMA [HVTXHPD] [AUTHORIZATION XVXDULR]
[lista_elemento_esquema]
2) elemento_esquema ::=
definicin_dominio
definicin_vista
|
|
definicin_tabla
|
definicin_restriccin |
definicin_privilegio
3) definicin_dominio ::=
CREATE DOMAIN [AS] tipo_dato
[definicin_valor_por_defecto]
[lista_definicin_restriccin_dominio]
4) definicin_valor_por_defecto ::=
DEFAULT {literal
| funcin_sistema | NULL }
5) definicin_restriccin_dominio ::=
[CONSTRAINT UHVWULFFLyQ] CHECK (expresin_condicional) [cuando_comprobar]
6) cuando_comprobar ::=
[[NOT] DEFERRABLE][INITIALLY {IMMEDIATE | DEFERRED}]
7) definicin_tabla ::=
WDEODBEDVH
comalista_definicin_columna[comalista_definicin_restriccin_tabla]
CREATE TABLE
8) definicin_columna ::=
FROXPQD { tipo_dato | GRPLQLR } [definicin_valor_por_defecto]
[lista_definicin_restriccin_columna]
9) definicin_restriccin_columna ::=
[CONSTRAINT UHVWULFFLyQ]
{NOT NULL
PRIMARY KEY
UNIQUE
|
|
|
3
11) definicin_restriccin_tabla ::=
[CONSTRAINT UHVWULFFLyQ]
{PRIMARY KEY
UNIQUE (comalista_FROXPQD)
FOREIGN KEY (comalista_columna) REFERENCES tabla [(comalista_FROXPQD)]
[MATCH {FULL | PARTIAL } ]
[ON DELETE accin_referencia]
[ON UPDATE accin_referencia]
CHECK (expresin_condicional) }
[cuando_comprobar]
|
|
[cuando_comprobar]
|
|
INSERT [(comalista_FROXPQD)]
DELETE
|
|
|
4
21) eliminacin_tabla_base ::=
22) eliminacin_vista ::=
([SUHVLRQHVGHWDEOD
25) expresin_tabla ::=
expresin_concatenacin_tabla | expresin_no_concatenacin_tabla
26) expresin_concatenacin_tabla ::=
| referencia_tabla [NATURAL] [tipo_concatenacin] JOIN referencia_tabla
[ON expresin_condicional | USING (comalista_FROXPQD) ]
| (expresin_tabla) CROSS JOIN referencia_tabla
| (expresin_concatenacin_tabla)
27) referencia_tabla ::=
tabla [[AS] YDULDEOHBUHFRUULGR]
(expresin_tabla) [[AS] YDULDEOHBUHFRUULGR]
expresin_concatenacin_tabla
28) tipo_concatenacin ::=
INNER
|
FULL [OUTER]
|
LEFT [OUTER]
|
|
RIGHT [OUTER]
UNION
expresin_concatenacin_tabla
expresin_concatenacin_tabla
|
|
constructor_tabla
(expresin_conjuntista_tabla)
VALUES comalista_constructor_fila
[variable_recorrido.]*
$FWXDOL]DFLyQGHGDWRV
38) insercin ::=
INSERT INTO tabla {
([SUHVLRQHVFRQGLFLRQDOHV
42) expresin_condicional ::=
trmino_condicional |
expresin_condicional OR trmino_condicional
condicin_like
| condicin_in
6
comprobacin_nulo
condicin_unique
condicin_match |
condicin_all_any | condicin_exists |
([SUHVLRQHVHVFDODUHV
58) expresin_escalar ::=
expresin_numrica
expresin_tira_caracteres
|
|
[+ | -] numero_primario
literal
|
referencia_funcin_escalar |
(expresin_tabla)
|
0LVFHOiQHD
67) tabla ::= WDEODBEDVH| YLVWD
68) patrn ::= expresin_tira_caracteres
69) escape ::= expresin_tira_caracteres
70) funcin_sistema ::=
funcin_usuario | funcin_tiempo
|
|
|
SYSTEM_USER
Para facilitar el manejo de la sintaxis, a continuacin se listan todas las categoras sintcticas de
SQL92 que se han definido ordenadas alfabticamente indicando, con el nmero que las acompaa,
en qu orden se puede encontrar su definicin.
accin_referencia
actualizacin
alteracin_dominio
alteracin_tabla
asignacin
compracin_nulo
comprobacin_condicional
cuando_comprobar
concatenacin_tira_caracteres
condicin_all_any
condicin_between
condicin_comparacin
condicin_exists
condicin_in
condicin_like
condicin_match
condicin_primaria
condicin_simple
condicin_unique
constructor_fila
constructor_tabla
definicin_columna
definicin_dominio
definicin_esquema
definicin_privilegio
definicin_restriccin
definicin_restriccin_columna
definicin_restriccin_dominio
definicin_restriccin_tabla
definicin_tabla
definicin_valor_por_defecto
definicin_vista
elemento_esquema
eliminacin
eliminacin_autorizacin
eliminacin_dominio
eliminacin_esquema
eliminacin_restriccin_general
eliminacin_tabla_base
eliminacin_vista
10)
39)
17)
18)
40)
53)
45)
6)
65)
55)
50)
48)
56)
52)
51)
54)
46)
47)
57)
35)
34)
8)
3)
1)
14)
13)
9)
5)
11)
7)
4)
12)
2)
41)
24)
20)
19)
23)
21)
22)
9
escape
expresin_concatenacin_tabla
expresin_condicional
expresin_conjuntista_tabla
expresin_escalar
expresin_numrica
expresin_SELECT
expresin_tabla
expresin_tira_caracteres
factor_condicional
factor_numrico
funcin_sistema
funcin_tiempo
funcin_usuario
insercin
item_seleccionado
numero_primario
objeto
patrn
predicado_comparacin
privilegio
referencia_funcin_agregada
referencia_tabla
tabla
tabla_primaria
tabla_primaria_conjuntista
trmino_condicional
trmino_conjuntista_tabla
trmino_numrico
trmino_tabla
tipo_concatenacin
tira_caracteres_primaria
69)
26)
42)
29)
58)
59)
36)
25)
64)
44)
61)
70)
72)
71)
38)
37)
62)
16)
68)
49)
15)
63)
27)
67)
32)
33)
43)
30)
60)
31)
28)
66)
10
6(*81'$3$57(64/'(25$&/(
A continuacin se presenta la sintaxis de aquellas instrucciones de Oracle 8 que no coinciden con
SQL/92:
&RQFDWHQDFLyQH[WHUQDen ORACLE8:
La sentencia en SQL/92:
SELECT [ALL | DISTINCT] comalista_item_seleccionado
FROM t1 /()7287(5-2,1 t2 21 t1.A RS t2.B AND .......
es equivalente en ORACLE8 a:
SELECT [ALL | DISTINCT] comalista_item_seleccionado
FROM t1, t2
WHERE t1.A RS t2.B AND ...
'HILQLFLyQGHUHODFLyQEiVLFD
1) Definicin_relacin_bsica::= CREATE TABLE nom_relacin
(comalista_HOHPHQWRBUHODFLyQBEiVLFD
2) elemento_relacin_bsica::= GHILQLFLyQBDWULEXWR
|UHVWULFFLyQBUHODFLyQ
3) definicin_atributo ::= nom_atributo WLSRBGDWRV
[DEFAULT (expresin)]
[OLVWDBUHVWULFFLyQBDWULEXWR]
4) tipo_datos ::=
| CHAR (longitud)
| VARCHAR (longitud)
| NUMBER [(precisin[, escala])]
| DATE
5) restriccin_atributo::= [CONSTRAINT nombre_restriccin]
{[NOT] NULL
| UNIQUE
| PRIMARY KEY
| REFERENCES nom_relacin* [(nom_atributo*)]
[ON DELETE CASCADE]
| CHECK (FRQGLFLyQ) }
[FXDQGRBFRPSUREDU]
6) restriccin_relacin ::=
[CONSTRAINT nombre_restriccin]
{ UNIQUE (comalista_nom_atributo)
| PRIMARY KEY (comalista_nom_atributo)
| FOREIGN KEY (comalista_nom_atributo)
REFERENCES nom_relacin* [(comalista_nom_atributo*)]
[ON DELETE CASCADE]
| CHECK (FRQGLFLyQ)}
[FXDQGRBFRPSUREDU]
7) cuando_comprobar
[[NOT] DEFERRABLE][INITIALLY {INMEDIATE | DEFERRED}]
11
8) modificacin_relacin ::= ALTER TABLE nombre_relacin
{ADD (FRPDOLVWDBHOHPHQWRBUHODFLyQBEiVLFD)
| MODIFY (FRPDOLVWDBGHILQLFLyQBDWULEXWR)
| {DROP
| [VALIDATE | NOVALIDATE] ENABLE
| DISABLE }
(UHVWULFFLyQ) }
9) restriccin ::= {PRIMARY [CASCADE]
| UNIQUE (comalista_nombre_atributo) [CASCADE]
| CONSTRAINT nombre_restriccin }
10) definicin_vista ::= CREATE [OR REPLACE] VIEW QRPEUHBYLVWD
[(comalista_nombre_atributo)] AS VHQWHQFLDB6(/(&7
[WITH CHECK OPTION]
11) definicin_operacin_grant ::= GRANT FRPDOLVWDBSULYLOHJLRVBVLVWHPD
TO {PUBLIC | comalista_usuario}
[WITH ADMIN OPTION]
12) definicin_regla
{CREATE | REPLACE} TRIGGER nombre_regla
{BEFORE | AFTER | INSTEAD OF} evento [GLV\XQFLyQBHYHQWRV]
ON {nombre_relacin | nombre_vista}
[ [REFERENCING OLD AS nombre_referencia [NEW AS nombre_referencia] ]
[FOR EACH {ROW | STATEMENT} [WHEN ( FRQGLFLyQ] ]
EORTXH 3/64/
13) disyuncin_eventos := OR HYHQWR [GLV\XQFLyQBHYHQWRV]
14) evento:= INSERT | DELETE | UPDATE [OF comalista_nombre_atributo]
$QH[R/HQJXDMH3/64/
(VWUXFWXUDGHXQEORTXH3/64/
DECLARE Seccin de declaracin de variables;
BEGIN Sentencias del bloque; END
6HFFLyQGHGHFODUDFLyQGHYDULDEOHV
QRPEUHBYDULDEOH tipo_dato
tipo_dato::= {NUMBER CHAR( ) DATE }
6HQWHQFLDVGHOEORTXH3/64/
secuencia_de_sentencias::= sentencia [;secuencia_de_sentencias]
,) condicin 7+(1 secuencia_de_sentencias
[; (/6( secuencia_de_sentencias]; (1',)
:+,/( condicin /223 secuencia_de sentencias ;
(1'/223
)25FRQWDGRU,1 PtQLPR .. Pi[LPR/223secuencia_de_sentencias ; (1'/223
- Asignacin: QRPEUHBYDULDEOH H[SUHVLyQ
- Sentencias SQL: INSERT, DELETE, UPDATE, SELECT... INTO...
Manejo de errores:RAISE_APPLICATION_ERROR (QURBHUURU, ' PHQVDMH
)
Sentencias de entrada-salida: dbms_output.put_line ('PHQVDMH').
12
Para facilitar el manejo de la sintaxis, a continuacin se listan todas las categoras sintcticas de
Oracle 8 que se han definido ordenadas alfabticamente indicando, con el nmero que las
acompaa, en qu orden se puede encontrar su definicin.
cuando_comprobar 7
definicin_atributo 3
definicin_operacin_grant 11
definicin_regla 12
definicin_relacin_bsica 1
definicin_vista 10
disyuncin_eventos 13
elemento_relacin_bsica 2
evento 14
modificacin_relacin 8
restriccin 9
restriccin_atributo 5
restriccin_relacin 6
tipo_datos 4