Documente Academic
Documente Profesional
Documente Cultură
Consulta de SQL
Versin 7
SC10-3497-01
IBM DB2 Universal Database IBM
Consulta de SQL
Versin 7
SC10-3497-01
Antes de utilizar esta informacin y el producto al que da soporte, asegrese de leer la informacin general incluida
en el Apndice S. Avisos en la pgina 1649.
Esta publicacin es la traduccin del original ingls IBM DB2 SQL Reference Version 7 (SC09-2974-01).
Este documento contiene informacin sobre productos patentados de IBM. Se proporciona de acuerdo con un contrato
de licencia y est protegido por la ley de la propiedad intelectual. La presente publicacin no incluye garantas del
producto y las declaraciones que contiene no deben interpretarse como tales.
Puede solicitar publicaciones a travs del representante de IBM o sucursal de IBM de su localidad, o bien llamando a
los nmeros de telfono 1-800-879-2755, en los Estados Unidos, o 1-800-IBM-4YOU, en Canad.
Cuando enva informacin a IBM, otorga a IBM un derecho no exclusivo para utilizar o distribuir dicha informacin
en la forma en que IBM considere adecuada, sin contraer por ello ninguna obligacin con el remitente.
Copyright International Business Machines Corporation 1993, 2001. Reservados todos los derechos.
Contenido
Captulo 1. Introduccin . . . . . . . . 1 Interfaz de nivel de llamada (CLI) de DB2 y
Quin debe utilizar este manual. . . . . . 1 Open Database Connectivity (ODBC) . . . 31
Forma de utilizar este manual . . . . . . 1 Programas JDBC (Java Database Connectivity)
Estructura de este manual. . . . . . . 1 y SQLJ (SQL incorporado para Java) . . . . 32
Lectura de los diagramas de sintaxis . . . . 3 Paquetes . . . . . . . . . . . . . 32
Convenios utilizados en este manual . . . . 6 Vistas de catlogo . . . . . . . . . . 32
Condiciones de error . . . . . . . . 6 Conversin de caracteres . . . . . . . . 33
Convenios de resaltado . . . . . . . 6 Juegos de caracteres y pginas de cdigos 34
Documentacin relacionada para este manual 6 Atributos de pginas de cdigos . . . . 35
Supervisores de sucesos . . . . . . . . 37
Captulo 2. Conceptos . . . . . . . . 9 Desencadenantes . . . . . . . . . . 37
Definiciones de base de datos relacional . . . 9 Espacios de tablas y otras estructuras de
Lenguaje de consulta estructurada (SQL) . . . 9 almacenamiento. . . . . . . . . . . 39
Autorizacin y privilegios . . . . . . . 10 Particin de datos entre mltiples particiones 40
Esquemas . . . . . . . . . . . . . 13 Mapas de particionamiento . . . . . . 42
Control de la utilizacin de esquemas . . 13 Colocacin de tablas . . . . . . . . 43
Tablas . . . . . . . . . . . . . . 14 Base de datos relacional distribuida . . . . 43
Vistas . . . . . . . . . . . . . . 15 Servidores de aplicaciones . . . . . . 44
Seudnimos . . . . . . . . . . . . 16 CONNECT (Tipo 1) y CONNECT (Tipo 2) 45
ndices . . . . . . . . . . . . . . 16 Unidad de trabajo remota . . . . . . 45
Claves . . . . . . . . . . . . . . 17 Unidad de trabajo distribuida dirigida por
Claves de unicidad. . . . . . . . . 17 aplicacin . . . . . . . . . . . . 49
Claves primarias . . . . . . . . . 17 Consideraciones acerca de la
Claves forneas . . . . . . . . . . 17 representacin de datos . . . . . . . 55
Claves de particionamiento . . . . . . 17 Sistemas federados DB2 . . . . . . . . 56
Restricciones . . . . . . . . . . . . 18 Servidor federado, base de datos federada
Restricciones de unicidad . . . . . . 18 y fuentes de datos . . . . . . . . . 56
Restricciones de referencia . . . . . . 19 Tareas realizadas en un sistema federado
Restricciones de comprobacin de tabla . . 22 DB2 . . . . . . . . . . . . . . 56
Nivel de aislamiento . . . . . . . . . 23 Reiniciadores y mdulos de reiniciador . . 59
Lectura repetible (RR) . . . . . . . . 24 Definiciones de servidor y opciones de
Estabilidad de lectura (RS) . . . . . . 25 servidor . . . . . . . . . . . . 59
Estabilidad del cursor (CS) . . . . . . 26 Correlaciones de usuarios y opciones de
Lectura no confirmada (UR). . . . . . 26 usuario. . . . . . . . . . . . . 62
Comparacin de los niveles de aislamiento 26 Correlaciones de tipos de datos . . . . 62
Consultas . . . . . . . . . . . . . 26 Correlaciones de funciones, plantillas de
Expresiones de tabla . . . . . . . . . 27 funciones y opciones de correlacin de
Expresiones de tabla comunes . . . . . 27 funciones . . . . . . . . . . . . 63
Procesos, simultaneidad y recuperacin de Apodos y opciones de columna . . . . 64
aplicaciones . . . . . . . . . . . . 27 Especificaciones de ndice . . . . . . 65
SQL interactivo . . . . . . . . . . . 30 Peticiones distribuidas . . . . . . . 66
SQL incorporado . . . . . . . . . . 30 Compensacin . . . . . . . . . . 67
SQL esttico . . . . . . . . . . . 30 Paso a travs . . . . . . . . . . . 68
SQL dinmico . . . . . . . . . . 31
Captulo 3. Elementos del lenguaje . . . 69
iv Consulta de SQL
Referencias a las variables de referencia a Predicado IN . . . . . . . . . . 220
archivos BLOB, CLOB y DBCLOB . . . 155 Predicado LIKE . . . . . . . . . 223
Referencias a variables de lenguaje Predicado NULL . . . . . . . . . 229
principal de tipo estructurado. . . . . 158 Predicado TYPE . . . . . . . . . 230
Funciones . . . . . . . . . . . . 159 Condiciones de bsqueda . . . . . . . 232
Funciones definidas por el usuario Ejemplos . . . . . . . . . . . . 234
externas, de SQL y derivadas . . . . . 160
Funciones definidas por el usuario: Captulo 4. Funciones . . . . . . . . 235
escalares, de columna, de fila y de tabla . 160 Funciones de columna . . . . . . . . 257
Signaturas de funcin . . . . . . . 161 AVG . . . . . . . . . . . . . 258
Va de acceso de SQL . . . . . . . 161 CORRELATION . . . . . . . . . 260
Resolucin de funciones . . . . . . 162 COUNT . . . . . . . . . . . . 261
Invocacin de funcin . . . . . . . 167 COUNT_BIG . . . . . . . . . . 263
Mtodos . . . . . . . . . . . . . 168 COVARIANCE. . . . . . . . . . 265
Mtodos definidos por el usuario: GROUPING . . . . . . . . . . 266
externos y SQL . . . . . . . . . 168 MAX . . . . . . . . . . . . . 268
Signaturas de mtodo . . . . . . . 169 MIN . . . . . . . . . . . . . 270
Invocacin de mtodos . . . . . . . 169 Funciones REGRESSION . . . . . . 272
Resolucin de mtodos . . . . . . . 170 STDDEV . . . . . . . . . . . . 276
Mtodo de eleccin de la mejor opcin 171 SUM . . . . . . . . . . . . . 277
Ejemplo de resolucin de mtodo . . . 173 VARIANCE . . . . . . . . . . . 278
Invocacin de mtodos . . . . . . . 173 Funciones escalares . . . . . . . . . 279
Semntica de enlace conservador . . . . 174 ABS o ABSVAL . . . . . . . . . 280
Expresiones . . . . . . . . . . . . 176 ACOS. . . . . . . . . . . . . 281
Sin operadores . . . . . . . . . . 177 ASCII . . . . . . . . . . . . . 282
Con el operador de concatenacin . . . 177 ASIN . . . . . . . . . . . . . 283
Con operadores aritmticos . . . . . 180 ATAN. . . . . . . . . . . . . 284
Dos operandos enteros . . . . . . . 182 ATAN2 . . . . . . . . . . . . 285
Operandos enteros y decimales . . . . 182 BIGINT . . . . . . . . . . . . 286
Dos operandos decimales . . . . . . 182 BLOB . . . . . . . . . . . . . 287
Aritmtica decimal en SQL. . . . . . 182 CEILING o CEIL . . . . . . . . . 288
Operandos de coma flotante . . . . . 183 CHAR . . . . . . . . . . . . 289
Tipos definidos por el usuario como CHR . . . . . . . . . . . . . 295
operandos . . . . . . . . . . . 183 CLOB . . . . . . . . . . . . . 296
Seleccin completa escalar . . . . . . 184 COALESCE . . . . . . . . . . . 297
Operaciones de fecha y hora y duraciones 184 CONCAT . . . . . . . . . . . 298
Aritmtica de fecha y hora en SQL . . . 185 COS . . . . . . . . . . . . . 299
Prioridad de operaciones . . . . . . 190 COT . . . . . . . . . . . . . 300
Expresiones CASE . . . . . . . . 190 DATE . . . . . . . . . . . . . 301
Especificaciones CAST . . . . . . . 193 DAY . . . . . . . . . . . . . 303
Operaciones de desreferencia . . . . . 196 DAYNAME . . . . . . . . . . . 305
Funciones OLAP . . . . . . . . . 197 DAYOFWEEK . . . . . . . . . . 306
Invocacin de mtodos . . . . . . . 204 DAYOFWEEK_ISO . . . . . . . . 307
Tratamiento de los subtipos . . . . . 206 DAYOFYEAR . . . . . . . . . . 308
Referencia de secuencia . . . . . . . 207 DAYS . . . . . . . . . . . . . 309
Predicados . . . . . . . . . . . . 212 DBCLOB. . . . . . . . . . . . 310
Predicado bsico . . . . . . . . . 213 DECIMAL . . . . . . . . . . . 311
Predicado cuantificado . . . . . . . 214 DECRYPT_BIN y DECRYPT_CHAR . . 314
Predicado BETWEEN . . . . . . . 217 DEGREES . . . . . . . . . . . 316
Predicado EXISTS . . . . . . . . . 219 DEREF . . . . . . . . . . . . 317
Contenido v
DIFFERENCE . . . . . . . . . . 318 NODENUMBER . . . . . . . . . 390
DIGITS . . . . . . . . . . . . 319 NULLIF . . . . . . . . . . . . 392
DLCOMMENT. . . . . . . . . . 320 PARTITION. . . . . . . . . . . 393
DLLINKTYPE . . . . . . . . . . 321 POSSTR . . . . . . . . . . . . 395
DLURLCOMPLETE . . . . . . . . 322 POWER . . . . . . . . . . . . 398
DLURLPATH . . . . . . . . . . 323 QUARTER . . . . . . . . . . . 399
DLURLPATHONLY . . . . . . . . 324 RADIANS . . . . . . . . . . . 400
DLURLSCHEME . . . . . . . . . 325 RAISE_ERROR. . . . . . . . . . 401
DLURLSERVER . . . . . . . . . 326 RAND . . . . . . . . . . . . 403
DLVALUE . . . . . . . . . . . 327 REAL . . . . . . . . . . . . . 404
DOUBLE. . . . . . . . . . . . 329 REC2XML . . . . . . . . . . . 405
ENCRYPT . . . . . . . . . . . 331 REPEAT . . . . . . . . . . . . 411
EVENT_MON_STATE . . . . . . . 334 REPLACE . . . . . . . . . . . 412
EXP . . . . . . . . . . . . . 335 RIGHT . . . . . . . . . . . . 413
FLOAT . . . . . . . . . . . . 336 ROUND . . . . . . . . . . . . 414
FLOOR . . . . . . . . . . . . 337 RTRIM . . . . . . . . . . . . 416
GETHINT . . . . . . . . . . . 338 RTRIM (esquema SYSFUN) . . . . . 417
GENERATE_UNIQUE . . . . . . . 339 SECOND . . . . . . . . . . . 418
GRAPHIC . . . . . . . . . . . 341 SIGN . . . . . . . . . . . . . 419
HEX . . . . . . . . . . . . . 342 SIN . . . . . . . . . . . . . 420
HOUR . . . . . . . . . . . . 344 SMALLINT . . . . . . . . . . . 421
IDENTITY_VAL_LOCAL . . . . . . 345 SOUNDEX . . . . . . . . . . . 422
INSERT . . . . . . . . . . . . 351 SPACE . . . . . . . . . . . . 423
INTEGER . . . . . . . . . . . 353 SQRT . . . . . . . . . . . . . 424
JULIAN_DAY . . . . . . . . . . 355 SUBSTR . . . . . . . . . . . . 425
LCASE o LOWER. . . . . . . . . 356 TABLE_NAME. . . . . . . . . . 429
LCASE (esquema SYSFUN) . . . . . 357 TABLE_SCHEMA . . . . . . . . . 431
LEFT . . . . . . . . . . . . . 358 TAN . . . . . . . . . . . . . 434
LENGTH . . . . . . . . . . . 359 TIME . . . . . . . . . . . . . 435
LN. . . . . . . . . . . . . . 361 TIMESTAMP . . . . . . . . . . 436
LOCATE . . . . . . . . . . . . 362 TIMESTAMP_ISO . . . . . . . . . 438
LOG . . . . . . . . . . . . . 363 TIMESTAMPDIFF. . . . . . . . . 439
LOG10 . . . . . . . . . . . . 364 TRANSLATE . . . . . . . . . . 441
LONG_VARCHAR . . . . . . . . 365 TRUNCATE o TRUNC . . . . . . . 444
LONG_VARGRAPHIC . . . . . . . 366 TYPE_ID. . . . . . . . . . . . 445
LTRIM . . . . . . . . . . . . 367 TYPE_NAME . . . . . . . . . . 446
LTRIM (esquema SYSFUN) . . . . . 368 TYPE_SCHEMA . . . . . . . . . 447
MICROSECOND . . . . . . . . . 369 UCASE o UPPER . . . . . . . . . 448
MIDNIGHT_SECONDS . . . . . . . 370 VALUE . . . . . . . . . . . . 449
MINUTE. . . . . . . . . . . . 371 VARCHAR . . . . . . . . . . . 450
MOD . . . . . . . . . . . . . 372 VARGRAPHIC . . . . . . . . . . 452
MONTH . . . . . . . . . . . . 373 WEEK . . . . . . . . . . . . 454
MONTHNAME . . . . . . . . . 374 WEEK_ISO . . . . . . . . . . . 455
MQPUBLISH . . . . . . . . . . 375 YEAR . . . . . . . . . . . . . 456
MQREAD . . . . . . . . . . . 378 Funciones de tabla . . . . . . . . . 457
MQRECEIVE . . . . . . . . . . 380 MQREADALL . . . . . . . . . . 458
MQSEND . . . . . . . . . . . 382 MQRECEIVEALL . . . . . . . . . 461
MQSUBSCRIBE . . . . . . . . . 384 SQLCACHE_SNAPSHOT . . . . . . 464
MQUNSUBSCRIBE . . . . . . . . 386 Procedimientos . . . . . . . . . . 465
MULTIPLY_ALT . . . . . . . . . 388 GET_ROUTINE_SAR . . . . . . . 466
vi Consulta de SQL
PUT_ROUTINE_SAR . . . . . . . 467 ALTER USER MAPPING . . . . . . . 610
Funciones definidas por el usuario . . . . 469 ALTER VIEW . . . . . . . . . . . 613
BEGIN DECLARE SECTION . . . . . . 615
Captulo 5. Consultas . . . . . . . . 471 CALL . . . . . . . . . . . . . . 617
subseleccin . . . . . . . . . . . 472 CLOSE . . . . . . . . . . . . . 626
clusula-select . . . . . . . . . . 473 COMMENT. . . . . . . . . . . . 628
clusula-from . . . . . . . . . . 478 COMMIT . . . . . . . . . . . . 640
referencia-tabla. . . . . . . . . . 479 SQL compuesto (dinmico) . . . . . . 642
tabla-unida . . . . . . . . . . . 483 SQL compuesto (incorporado). . . . . . 648
clusula-where . . . . . . . . . . 486 CONNECT (Tipo 1) . . . . . . . . . 653
Clusula group-by . . . . . . . . 487 CONNECT (Tipo 2) . . . . . . . . . 662
clusula-having . . . . . . . . . 494 CREATE ALIAS . . . . . . . . . . 670
Ejemplos de subselecciones . . . . . . 496 CREATE BUFFERPOOL. . . . . . . . 673
Ejemplos de uniones . . . . . . . . . 499 CREATE DISTINCT TYPE . . . . . . . 677
Ejemplos de conjuntos de agrupacin, Cube CREATE EVENT MONITOR . . . . . . 684
y Rollup . . . . . . . . . . . . . 503 CREATE FUNCTION . . . . . . . . 695
seleccin completa . . . . . . . . . 512 CREATE FUNCTION (Escalar externa). . . 696
Ejemplos de una seleccin completa . . 515 CREATE FUNCTION (Tabla externa) . . . 723
sentencia-select . . . . . . . . . . 518 CREATE FUNCTION (Tabla externa OLE
expresin-comn-tabla . . . . . . . 519 DB) . . . . . . . . . . . . . . 741
clusula-order-by . . . . . . . . . 522 CREATE FUNCTION (fuente o plantilla) . . 750
clusula-update . . . . . . . . . 526 CREATE FUNCTION (SQL, escalar, de tabla
clusula-read-only . . . . . . . . 527 o de fila) . . . . . . . . . . . . . 761
clusula-fetch-first . . . . . . . . 528 CREATE FUNCTION MAPPING . . . . 769
clusula-optimize-for. . . . . . . . 529 CREATE INDEX . . . . . . . . . . 774
Ejemplos de una sentencia-select . . . . 530 CREATE INDEX EXTENSION . . . . . 782
CREATE METHOD . . . . . . . . . 790
Captulo 6. Sentencias de SQL. . . . . 533 CREATE NICKNAME . . . . . . . . 795
Cmo se invocan las sentencias de SQL . . 537 CREATE NODEGROUP. . . . . . . . 801
Incorporacin de una sentencia en un CREATE PROCEDURE . . . . . . . . 804
programa de aplicacin . . . . . . . 538 CREATE SCHEMA . . . . . . . . . 822
Preparacin y ejecucin dinmicas . . . 539 CREATE SEQUENCE . . . . . . . . 826
Invocacin esttica de una sentencia-select 540 CREATE SERVER . . . . . . . . . . 831
Invocacin dinmica de una CREATE TABLE . . . . . . . . . . 835
sentencia-select . . . . . . . . . 540 CREATE TABLESPACE . . . . . . . . 893
Invocacin interactiva . . . . . . . 541 CREATE TRANSFORM . . . . . . . . 903
Utilizacin de SQL con otros sistemas CREATE TRIGGER . . . . . . . . . 910
principales . . . . . . . . . . . 541 CREATE TYPE (Estructurado). . . . . . 923
Cdigos de retorno de SQL . . . . . . 542 CREATE TYPE MAPPING . . . . . . . 950
SQLCODE . . . . . . . . . . . 542 CREATE USER MAPPING . . . . . . . 955
SQLSTATE . . . . . . . . . . . 543 CREATE VIEW . . . . . . . . . . 957
comentarios de SQL . . . . . . . . . 544 CREATE WRAPPER . . . . . . . . . 974
ALTER BUFFERPOOL . . . . . . . . 545 DECLARE CURSOR . . . . . . . . . 976
ALTER NICKNAME . . . . . . . . . 548 DECLARE GLOBAL TEMPORARY TABLE 982
ALTER NODEGROUP . . . . . . . . 552 DELETE . . . . . . . . . . . . . 991
ALTER SEQUENCE . . . . . . . . . 556 DESCRIBE . . . . . . . . . . . . 997
ALTER SERVER . . . . . . . . . . 561 DISCONNECT . . . . . . . . . . 1002
ALTER TABLE . . . . . . . . . . . 565 DROP . . . . . . . . . . . . . 1005
ALTER TABLESPACE . . . . . . . . 597 END DECLARE SECTION . . . . . . 1034
ALTER TYPE (Estructurado) . . . . . . 603 EXECUTE . . . . . . . . . . . . 1036
Contenido vii
EXECUTE IMMEDIATE . . . . . . . 1042 SET PASSTHRU . . . . . . . . . . 1179
EXPLAIN . . . . . . . . . . . . 1045 SET PATH . . . . . . . . . . . . 1181
FETCH . . . . . . . . . . . . . 1050 SET SCHEMA . . . . . . . . . . 1184
FLUSH EVENT MONITOR . . . . . . 1054 SET SERVER OPTION . . . . . . . . 1186
FREE LOCATOR. . . . . . . . . . 1055 SET variable . . . . . . . . . . . 1188
GRANT (autorizaciones de base de datos) 1056 UPDATE . . . . . . . . . . . . 1193
GRANT (privilegios de ndice) . . . . . 1059 VALUES . . . . . . . . . . . . 1204
GRANT (privilegios de paquete) . . . . 1061 VALUES INTO . . . . . . . . . . 1205
GRANT (privilegios de esquema) . . . . 1064 WHENEVER . . . . . . . . . . . 1207
GRANT (privilegios de secuencia) . . . . 1067
GRANT (Privilegios de servidor) . . . . 1068 Captulo 7. Sentencias de control de
GRANT (privilegios de apodo, vista o SQL . . . . . . . . . . . . . 1209
tabla) . . . . . . . . . . . . . 1070 Sentencia de procedimiento SQL . . . . 1210
GRANT (privilegios para espacios de Sentencia ALLOCATE CURSOR . . . . 1212
tablas) . . . . . . . . . . . . . 1078 Sentencia de asignacin . . . . . . . 1214
INCLUDE . . . . . . . . . . . . 1080 Sentencia ASSOCIATE LOCATORS . . . 1216
INSERT . . . . . . . . . . . . . 1082 Sentencia CASE . . . . . . . . . . 1218
LOCK TABLE. . . . . . . . . . . 1092 Sentencia FOR . . . . . . . . . . 1221
OPEN . . . . . . . . . . . . . 1094 Sentencia GET DIAGNOSTICS . . . . . 1223
PREPARE . . . . . . . . . . . . 1099 Sentencia GOTO . . . . . . . . . . 1225
REFRESH TABLE . . . . . . . . . 1110 Sentencia IF . . . . . . . . . . . 1227
RELEASE (Conexin) . . . . . . . . 1111 Sentencia ITERATE . . . . . . . . . 1229
RELEASE SAVEPOINT. . . . . . . . 1113 Sentencia LEAVE . . . . . . . . . 1230
RENAME TABLE . . . . . . . . . 1114 Sentencia LOOP . . . . . . . . . . 1231
RENAME TABLESPACE . . . . . . . 1116 Sentencia compuesta (procedimiento) . . . 1233
REVOKE (autorizaciones de bases de datos) 1118 Sentencia REPEAT . . . . . . . . . 1240
REVOKE (privilegios de ndice) . . . . . 1122 Sentencia RESIGNAL . . . . . . . . 1242
REVOKE (privilegios de paquete) . . . . 1124 Sentencia RETURN . . . . . . . . . 1245
REVOKE (privilegios de esquema) . . . . 1127 Sentencia SIGNAL . . . . . . . . . 1248
REVOKE (Privilegios de servidor) . . . . 1129 Sentencia WHILE . . . . . . . . . 1251
REVOKE (privilegios de apodo, vista o
tabla) . . . . . . . . . . . . . 1131 Apndice A. Lmites de SQL . . . . . 1253
REVOKE (privilegios para espacios de
tablas) . . . . . . . . . . . . . 1137 Apndice B. Comunicaciones SQL
ROLLBACK . . . . . . . . . . . 1139 (SQLCA) . . . . . . . . . . . . 1261
SAVEPOINT . . . . . . . . . . . 1142 Visualizacin de SQLCA interactivamente 1261
SELECT. . . . . . . . . . . . . 1144 Descripciones de los campos de la SQLCA 1261
SELECT INTO . . . . . . . . . . 1145 Orden del informe de errores . . . . . 1265
SET CONNECTION . . . . . . . . 1147 Utilizacin de la SQLCA por DB2
SET CURRENT DEFAULT TRANSFORM Enterprise - Extended Edition . . . . . 1266
GROUP . . . . . . . . . . . . . 1149
SET CURRENT DEGREE . . . . . . . 1151 Apndice C. rea de descriptores SQL
SET CURRENT EXPLAIN MODE . . . . 1153 (SQLDA) . . . . . . . . . . . . 1267
SET CURRENT EXPLAIN SNAPSHOT . . 1155 Descripciones de los campos . . . . . . 1268
SET CURRENT PACKAGESET . . . . . 1157 Campos en la cabecera SQLDA . . . . 1269
SET CURRENT QUERY OPTIMIZATION 1159 Campos de una ocurrencia de una
SET CURRENT REFRESH AGE . . . . . 1162 SQLVAR base . . . . . . . . . . 1270
SET ENCRYPTION PASSWORD . . . . 1164 Campos de una ocurrencia de una
SET EVENT MONITOR STATE . . . . . 1166 SQLVAR secundaria . . . . . . . 1272
SET INTEGRITY . . . . . . . . . . 1168 Efecto de DESCRIBE en la SQLDA. . . . 1274
Contenido ix
Correlaciones de tipos de datos por omisin 1421 Palabras reservadas . . . . . . . . . 1447
Correlaciones de tipos por omisin entre Palabras reservadas de SQL de IBM . . . 1449
fuentes de datos DB2 y DB2 Universal Palabras reservadas de ISO/ANS SQL92 1451
Database para OS/390 (y DB2 para
MVS/ESA) . . . . . . . . . . 1422 Apndice I. Comparacin de niveles de
Correlaciones de tipos por omisin entre aislamiento . . . . . . . . . . . 1453
fuentes de datos DB2 y 2 Universal
Database para AS/400 (y DB2 para Apndice J. Interaccin de
OS/400) . . . . . . . . . . . 1422 desencadenantes y restricciones . . . 1455
Correlaciones de tipos por omisin entre
fuentes de datos DB2 y Oracle . . . . 1422 Apndice K. Tablas de Explain y
Correlaciones de tipos por omisin entre definiciones . . . . . . . . . . . 1459
fuentes de datos DB2 y DB2 para VM y Tabla EXPLAIN_ARGUMENT . . . . . 1460
VSE (y SQL/DS) . . . . . . . . . 1423 Tabla EXPLAIN_INSTANCE . . . . . . 1464
Proceso del recurso de paso a travs . . . 1423 Tabla EXPLAIN_OBJECT . . . . . . . 1467
Proceso SQL en sesiones de paso a Tabla EXPLAIN_OPERATOR . . . . . 1469
travs . . . . . . . . . . . . 1423 Tabla EXPLAIN_PREDICATE . . . . . 1472
Consideraciones y restricciones . . . . 1424 Tabla EXPLAIN_STATEMENT . . . . . 1474
Tabla EXPLAIN_STREAM . . . . . . 1477
Apndice G. Tablas de la base de datos Tabla ADVISE_INDEX . . . . . . . . 1479
de ejemplo . . . . . . . . . . . 1427 Tabla ADVISE_WORKLOAD . . . . . 1482
La base de datos de muestra . . . . . . 1428 Definiciones de tabla para tablas de Explain 1483
Para crear la base de datos SAMPLE 1428 Definicin de tabla
Para borrar la base de datos de muestra 1428 EXPLAIN_ARGUMENT . . . . . . 1484
Tabla CL_SCHED . . . . . . . . 1429 Definicin de tabla
Tabla DEPARTMENT . . . . . . . 1429 EXPLAIN_INSTANCE . . . . . . . 1485
Tabla EMPLOYEE . . . . . . . . 1429 Definicin de tabla EXPLAIN_OBJECT 1486
Tabla EMP_ACT . . . . . . . . . 1433 Definicin de tabla
Tabla EMP_PHOTO. . . . . . . . 1435 EXPLAIN_OPERATOR. . . . . . . 1487
Tabla EMP_RESUME . . . . . . . 1435 Definicin de tabla
Tabla IN_TRAY . . . . . . . . . 1436 EXPLAIN_PREDICATE . . . . . . 1488
Tabla ORG . . . . . . . . . . . 1436 Definicin de tabla
Tabla PROJECT . . . . . . . . . 1437 EXPLAIN_STATEMENT . . . . . . 1489
Tabla SALES . . . . . . . . . . 1438 Definicin de tabla EXPLAIN_STREAM 1490
Tabla STAFF . . . . . . . . . . 1439 Definicin de tabla ADVISE_INDEX 1491
Tabla STAFFG . . . . . . . . . 1440 Definicin de tabla
Archivos de muestra con tipos de datos ADVISE_WORKLOAD . . . . . . 1493
BLOB y CLOB . . . . . . . . . . 1441
Foto de Quintana . . . . . . . . 1441 Apndice L. Valores de registro de
Currculum vitae de Quintana . . . . 1441 explicaciones . . . . . . . . . . 1495
Foto de Nicholls . . . . . . . . . 1442
Currculum vitae de Nicholls . . . . 1443 Apndice M. Ejemplo de recurrencia:
Foto de Adamson . . . . . . . . 1444 Lista de material . . . . . . . . . 1499
Currculum vitae de Adamson . . . . 1444 Ejemplo 1: Explosin de primer nivel . . . 1499
Foto de Walker . . . . . . . . . 1445 Ejemplo 2: Explosin resumida . . . . . 1501
Currculum vitae de Walker . . . . . 1446 Ejemplo 3: Control de profundidad . . . 1502
x Consulta de SQL
Consulta de las tablas de excepciones . . . 1508 Apndice Q. Glosario . . . . . . . 1525
Contenido xi
xii Consulta de SQL
Captulo 1. Introduccin
Este captulo preliminar:
v Identifica la finalidad de este manual y las personas a las que va dirigido
v Explica el modo de utilizar el manual y su estructura
v Explica la notacin de los diagramas de sintaxis, los convenios de
denominacin y de resaltado que se utilizan en el manual
v Lista la documentacin relacionada
v Presenta una visin general de la familia de productos
2 Consulta de SQL
El Apndice O. Consideraciones acerca de EUC de japons y de chino
tradicional en la pgina 1511, lista las consideraciones cuando se utilizan
los juegos de caracteres EUC.
El Apndice P. Especificaciones BNF para los enlaces de datos en la
pgina 1521, contiene las especificaciones en formato BNF para valores
DATALINK.
Captulo 1. Introduccin 3
Si aparece un elemento opcional por encima de la lnea principal, dicho
elemento no tiene ningn efecto en la ejecucin de la sentencia y slo se
utiliza para una lectura ms sencilla.
elemento opcional
SENTENCIA
Una flecha que vuelve a la izquierda, por encima de la lnea principal, indica
un elemento que se puede repetir. En este caso, los elementos repetidos deben
ir separados por uno o varios espacios en blanco.
4 Consulta de SQL
,
Una flecha de repeticin por encima de una pila indica que puede elegir ms
de una opcin de entre los elementos apilados o repetir una sola opcin.
bloque-parmetros:
parmetro1
parmetro2 parmetro3
parmetro4
Captulo 1. Introduccin 5
Convenios utilizados en este manual
Esta seccin especifica algunos convenios que se utilizan coherentemente en
este manual.
Condiciones de error
Una condicin de error se indica en el texto del manual listando entre
parntesis el SQLSTATE asociado al error. Por ejemplo: Una signatura
duplicada genera un error SQL (SQLSTATE 42723).
Convenios de resaltado
Se utilizan los siguientes convenios en este manual.
6 Consulta de SQL
aplicaciones y operacin. Este manual incluye sintaxis, notas acerca del
uso, palabras claves y ejemplos para cada una de las sentencias de SQL
utilizadas en sistemas iSeries (AS/400) que ejecutan DB2.
v DB2 Universal Database for OS/390 and z/OS SQL Reference
Este manual define el Lenguaje de consulta estructurada (SQL) utilizado
en DB2 para z/OS (OS/390). Este manual proporciona formularios de
consulta, sentencias de SQL, sentencias de procedimientos de SQL,
lmites de DB2, SQLCA, SQLDA, tablas de catlogos y palabras
reservadas de SQL para sistemas z/OS (OS/390) que ejecutan DB2.
v DB2 Spatial Extender Gua del usuario y de consulta
Describe cmo escribir aplicaciones para crear y utilizar un sistema de
informacin geogrfica (geographic information system, GIS). Para crear
y utilizar un GIS es necesario proporcionar una base de datos con
recursos y luego consultar los datos para obtener informacin, tal como
ubicaciones, distancias y distribuciones dentro de zonas geogrficas.
v Consulta de SQL de IBM
Este manual contiene todos los elementos comunes del SQL que estn
distribuidos por toda la biblioteca IBM de productos de base de datos.
Proporciona lmites y normas que pueden servir de ayuda en la
preparacin de programas portables que utilicen bases de datos IBM.
Proporciona una lista de extensiones SQL e incompatibilidades entre los
siguientes estndares y productos: SQL92E, XPG4-SQL, IBM-SQL y los
productos de base de datos relacionales IBM.
v American National Standard X3.135-1992, Database Language SQL
Contiene la definicin estndar ANSI del SQL.
v ISO/IEC 9075:1992, Database Language SQL
Contiene la definicin del SQL proporcionada por la norma 1992 de ISO.
v ISO/IEC 9075-2:1999, Database Language SQL -- Part 2: Foundation
(SQL/Foundation)
Contiene una gran parte de la definicin del SQL proporcionada por la
norma 1999 de ISO.
v ISO/IEC 9075-4:1999, Database Language SQL -- Part 4: Persistent Stored
Modules (SQL/PSM)
Contiene la definicin de las sentencias de control de los procedimientos
SQL, tal como aparece en la norma 1999 de ISO.
v ISO/IEC 9075-5:1999, Database Language SQL -- Part 4: Host Language Bindings
(SQL/Bindings)
Contiene la definicin de los enlaces de lenguaje principal y del SQL
dinmico, tal como aparece en la norma 1999 de ISO.
Captulo 1. Introduccin 7
8 Consulta de SQL
Captulo 2. Conceptos
Este captulo proporciona una visin general de los conceptos utilizados ms
comnmente en el Lenguaje de consulta estructurada (SQL). La intencin de
este captulo es proporcionar una visin de alto nivel de los conceptos. La
informacin de consulta que le sigue proporciona una visin ms detallada.
Una base de datos federada es una base de datos relacional en la que los datos
estn almacenados en varias fuentes de datos (tales como bases de datos
relacionales separadas). Los datos son tratados como si pertenecieran a una
sola gran base de datos y se pueden acceder mediante las consultas SQL
normales. Los cambios en los datos se pueden dirigir explcitamente hacia la
fuente datos apropiada. Vea Sistemas federados DB2 en la pgina 56 para
obtener ms informacin.
1. Lenguaje de definicin de datos (Data Definition Language - DDL) es el subconjunto de sentencias de SQL
utilizadas para describir las relaciones de los datos en una base de datos.
Autorizacin y privilegios
Una autorizacin permite a un usuario o grupo realizar una tarea general
como, por ejemplo, la conexin a una base de datos, la creacin de tablas o la
administracin de un sistema. Un privilegio da a un usuario o a un grupo el
derecho a acceder a un objeto especfico de la base de datos de una manera
especificada.
10 Consulta de SQL
Figura 1. Jerarqua de autorizaciones y privilegios
Captulo 2. Conceptos 11
La autorizacin SYSCTRL corresponde al nivel ms alto de autorizacin de
control del sistema y slo se aplica a las operaciones que afectan a los
recursos del sistema. No permite el acceso directo a los datos. Esta
autorizacin incluye privilegios para crear, actualizar o eliminar una base de
datos, detener una instancia o base de datos y eliminar o crear una espacio de
tablas.
12 Consulta de SQL
Esquemas
Un esquema es un conjunto de objetos con nombre. Los esquemas
proporcionan una clasificacin lgica de los objetos de la base de datos. Un
esquema puede contener tablas, vistas, apodos, desencadenantes, funciones,
paquetes y otros objetos.
El usuario A puede emitir la siguiente sentencia para crear una tabla llamada
X en el esquema C:
CREATE TABLE C.X (COL1 INT)
Captulo 2. Conceptos 13
Los esquemas tambin tienen privilegios asociados, que permiten al
propietario del esquema controlar qu usuarios tienen privilegio para crear,
modificar y eliminar objetos del esquema. A un propietario de esquema se le
dan inicialmente todos estos privilegios en el esquema, con la posibilidad de
otorgarlos a otros usuarios. Un esquema creado implcitamente es de
propiedad del sistema y a todos los usuarios se les proporciona inicialmente el
privilegio de crear objetos en dicho esquema. Un usuario con las
autorizaciones DBADM o SYSADM puede cambiar los privilegios que poseen
los usuarios en cualquier esquema. Por consiguiente, se puede controlar el
acceso para crear, modificar y eliminar objetos en cualquier esquema (incluso
uno creado implcitamente).
Tablas
Las tablas son estructuras lgicas mantenidas por el gestor de bases de datos.
Las tablas estn formadas por columnas y filas. Las filas de una tabla no estn
necesariamente ordenadas (el orden lo determina el programa de aplicacin).
En la interseccin de cada columna con una fila hay un elemento de datos
especfico denominado valor. Una columna es un conjunto de valores del
mismo tipo o de uno de sus subtipos. Una fila es una secuencia de valores
ordenados de forma que el valor n sea el valor de la columna n de la tabla.
Una tabla base se crea con la sentencia CREATE TABLE y se utiliza para
conservar los datos habituales de los usuarios. Una tabla resultante es un
conjunto de filas que el gestor de bases de datos selecciona o genera a partir
de una o varias tablas base para satisfacer una consulta.
Una tabla de resumen es una tabla definida por una consulta que se utiliza
tambin para determinar los datos de la tabla. Las tablas de resumen se
pueden utilizar para mejorar el rendimiento de las consultas. Si el gestor de
bases de datos determina que se puede resolver una parte de una consulta
utilizando una tabla de resumen, el gestor de bases de datos puede volver a
escribir la consulta para utilizar la tabla de resumen. Esta decisin se basa en
los valores de configuracin de base de datos tales como los registros
especiales CURRENT REFRESH AGE y CURRENT QUERY OPTIMIZATION.
Una tabla puede definir el tipo de datos de cada columna por separado o
basar los tipos de las columnas en los atributos de un tipo estructurado
definido por el usuario. Esto se denomina tabla con tipo. Un tipo estructurado
definido por el usuario puede formar parte de una jerarqua de tipos. Un
subtipo hereda los atributos de su supertipo. De manera similar, una tabla con
tipo puede formar parte de una jerarqua de tablas. Una subtabla hereda las
columnas de su supertabla. Tenga en cuenta que el trmino subtipo se aplica a
un tipo estructurado definido por el usuario y a todos los tipos estructurados
definidos por el usuario que estn por debajo del mismo en la jerarqua de
tipos. Un subtipo correspondiente de un tipo estructurado T es un tipo
14 Consulta de SQL
estructurado por debajo de T en la jerarqua de tipos. De forma similar, el
trmino subtabla se aplica a una tabla con tipo y a todas las tablas con tipo
que estn por debajo de la misma en la jerarqua de tablas. Una subtabla
correspondiente de una tabla T es una tabla que est por debajo de T en la
jerarqua de tablas.
Vistas
Una vista proporciona una manera alternativa de consultar los datos de una o
varias tablas.
Captulo 2. Conceptos 15
Una vista puede quedar no operativa (por ejemplo, si se elimina la tabla
base); si ocurre esto, la vista ya no estar disponible para las sentencias de
SQL.
Seudnimos
Un seudnimo es un nombre alternativo para una tabla o una vista. Se puede
utilizar para hacer referencia a una tabla o vista en aquellos casos en los que
se puede hacer referencia a una tabla o vista existente. Una seudnimo no
puede utilizarse en todos los contextos. Por ejemplo, no puede utilizarse en la
condicin de comprobacin de una restriccin de comprobacin. Un
seudnimo tampoco puede hacer referencia a una tabla temporal declarada.
Al igual que las tablas y las vistas, un seudnimo puede crearse, eliminarse y
tener comentarios asociados. Sin embargo, a diferencia de las tablas, los
seudnimos pueden hacerse referencia entre s en un proceso llamado
encadenamiento. Los seudnimos son nombres referidos pblicamente, por lo
que no es necesaria ninguna autorizacin ni privilegio especial para
utilizarlos. Sin embargo, para acceder a las tablas y vistas a las que hace
referencia el seudnimo es necesario tener la autorizacin apropiada para el
contexto actual.
ndices
Un ndice es un conjunto ordenado de punteros para filas de una tabla base.
Cada ndice se basa en los valores de los datos de una o varias columnas de
la tabla. Un ndice es un objeto que est separado de los datos de la tabla.
Cuando se crea un ndice, el gestor de bases de datos crea esta estructura y la
mantiene automticamente.
16 Consulta de SQL
v Asegurar la exclusividad. Una tabla con un ndice de unicidad no puede
tener filas con claves idnticas.
Claves
Una clave es un conjunto de columnas que se pueden utilizar para identificar
o para acceder a una fila o filas determinadas. La clave viene identificada en
la descripcin de una tabla, ndice o restriccin de referencia. Una misma
columna puede formar parte de ms de una clave.
Captulo 2. Conceptos 17
Restricciones
Una restriccin es una regla que impone el gestor de bases de datos.
18 Consulta de SQL
Una restriccin de unicidad a la que hace referencia la clave fornea de una
restriccin de referencia se denomina clave padre.
Captulo 2. Conceptos 19
ACTION tienen un funcionamiento igual que RESTRICT, en la mayora de
casos. Sin embargo, en determinadas sentencias de SQL pueden existir
diferencias.
20 Consulta de SQL
Tabla autorreferente
Tabla que es padre y dependiente en la misma restriccin de
referencia. La restriccin se denomina restriccin de autorreferencia.
Regla de insercin
La regla de insercin de una restriccin de referencia es la que establece que
un valor de insercin que no sea nulo de la clave fornea debe coincidir con
algn valor de la clave padre de la tabla padre. El valor de la clave fornea
compuesta ser nulo si algn componente del valor es nulo. Es una regla
implcita cuando se especifica una clave fornea.
Regla de actualizacin
La regla de actualizacin de una restriccin de referencia se especifica al
definir la restriccin de referencia. Las opciones son NO ACTION y
RESTRICT. La regla de actualizacin se aplica al actualizar una fila de la tabla
padre o una fila de la tabla dependiente.
Regla de supresin
La regla de supresin de una restriccin de referencia se especifica al definir
la restriccin de referencia. Las opciones son NO ACTION, RESTRICT,
CASCADE o SET NULL. SET NULL slo puede especificarse si hay alguna
columna de la clave fornea que permita valores nulos.
Captulo 2. Conceptos 21
en la tabla dependiente de la restriccin de referencia. Examinemos un
ejemplo donde P es la tabla padre, D es la tabla dependiente y p es una fila
padre que es el objeto de una operacin de supresin o de supresin
propagada. La regla de supresin funciona del modo siguiente:
v Para RESTRICT o NO ACTION, se produce un error y no se suprime
ninguna fila.
v Para CASCADE, la operacin de supresin se propaga a los dependientes
de p en la tabla D.
v Para SET NULL, cada columna con posibilidad de nulos de la clave fornea
de cada dependiente de p en la tabla D se establece en nulo.
Cada restriccin de referencia en la que una tabla sea padre tiene su propia
regla de supresin, y todas las reglas de supresin aplicables se utilizan para
determinar el resultado de la operacin de supresin. As, una fila no puede
suprimirse si tiene dependientes en una restriccin de referencia con una regla
de supresin RESTRICT o NO ACTION o la supresin se propaga en cascada
a cualquiera de sus descendientes que sean dependientes en una restriccin de
referencia con la regla de supresin RESTRICT o NO ACTION.
22 Consulta de SQL
comprobacin de tabla se realiza mediante una forma restringida de condicin
de bsqueda. Una de las restricciones consiste en que un nombre de columna
de una restriccin de comprobacin de tabla de la tabla T debe identificar una
columna de T.
Nivel de aislamiento
El nivel de aislamiento asociado con un proceso de aplicacin define el grado de
aislamiento de dicho proceso de aplicacin respecto a otros procesos de
aplicacin que se ejecutan concurrentemente. Por consiguiente, el nivel de
aislamiento de un proceso de aplicacin especifica:
v El grado al que las filas ledas y actualizadas por la aplicacin estn
disponibles para otros procesos de aplicacin que se ejecutan
concurrentemente.
v El grado al que puede afectar a la aplicacin la actividad de actualizacin
de otros procesos de aplicacin que se ejecutan concurrentemente.
Captulo 2. Conceptos 23
El gestor de bases de datos da soporte a tres categoras generales de bloqueos:
Compartimiento
Limita los procesos de aplicacin concurrentes a operaciones de slo
lectura de los datos.
Actualizacin
Limita los procesos de aplicacin concurrentes a operaciones de slo
lectura de los datos, siempre que dichos procesos no hayan declarado
que pueden actualizar la fila. El gestor de bases de datos supone que
el proceso que consulta actualmente la fila puede actualizarla.
Exclusividad
Evita que los procesos de aplicacin concurrentes accedan a los datos
de cualquier modo, excepto los procesos de aplicacin con un nivel de
aislamiento de lectura no confirmada, que pueden leer los datos pero no
modificarlos. (Consulte el apartado Lectura no confirmada (UR) en
la pgina 26.)
2. Las filas se leen en la misma unidad de trabajo que la sentencia OPEN correspondiente. Consulte WITH HOLD en
el apartado DECLARE CURSOR en la pgina 976.
3. El uso de la clusula WITH RELEASE opcional en la sentencia CLOSE significa que, si se vuelve a abrir el cursor,
ya no se aplicar ninguna garanta respecto a las lecturas no repetibles y no se aplicarn ya lecturas fantasma a
ninguna fila a la que se haya accedido anteriormente.
24 Consulta de SQL
El nivel de Lectura repetible no permite ver las filas fantasma (consulte
Estabilidad de lectura).
4. Las filas se leen en la misma unidad de trabajo que la sentencia OPEN correspondiente. Consulte WITH HOLD en
el apartado DECLARE CURSOR en la pgina 976.
5. El uso de la clusula WITH RELEASE opcional en la sentencia CLOSE significa que, si se vuelve a abrir el cursor,
ya no se aplicar ninguna garanta respecto a las lecturas no repetibles a ninguna fila a la que se haya accedido
anteriormente.
Captulo 2. Conceptos 25
Estabilidad del cursor (CS)
Al igual que el nivel de Lectura repetible, la Estabilidad del cursor asegura
que cualquier fila que haya sido modificada por otro proceso de aplicacin no
pueda leerse hasta que sea confirmada por dicho proceso de aplicacin.
Consultas
Una consulta es un componente de determinadas sentencias de SQL que
especifica una tabla resultante (temporal).
26 Consulta de SQL
Expresiones de tabla
Una expresin de tabla crea una tabla resultante temporal a partir de una
consulta simple. Las clusulas precisan adicionalmente la tabla resultante. Por
ejemplo, puede utilizar una expresin de tabla como consulta para seleccionar
todos los directores de varios departamentos y especificar que deben tener
ms de 15 aos de experiencia laboral y que tienen que estar en la sucursal de
Nueva York.
Expresiones de tabla comunes
Una expresin de tabla comn es como una vista temporal de una consulta
compleja y se puede hacer referencia a ella en otros lugares de la consulta. Por
ejemplo, se puede utilizar en lugar de una vista, evitando de este modo la
necesidad de crear una vista. Todos los usos de una expresin de tabla comn
especfica en una consulta compleja comparten la misma vista temporal.
El gestor de bases de datos adquiere bloqueos a fin de evitar que los cambios
no confirmados efectuados por un proceso de aplicacin sean percibidos
accidentalmente por otro proceso. El gestor de bases de datos libera todos los
bloqueos que ha adquirido y retenido en nombre de un proceso de aplicacin
cuando finaliza dicho proceso. Sin embargo, un proceso de aplicacin puede
solicitar explcitamente que se liberen antes los bloqueos. Esto se consigue
utilizando una operacin de confirmacin que libera bloqueos adquiridos
durante la unidad de trabajo y tambin confirma cambios en la base de datos
durante la unidad de trabajo.
Captulo 2. Conceptos 27
El gestor de bases de datos proporciona un medio de restitucin de los
cambios no confirmados realizados por un proceso de aplicacin. Esto podra
ser necesario en caso de error en un proceso de aplicacin o si se produce un
punto muerto o un tiempo excedido por bloqueo. Sin embargo, el propio
proceso de aplicacin puede solicitar de modo explcito que se restituyan los
cambios en la base de datos. Esta operacin se denomina retrotraccin.
28 Consulta de SQL
Figura 2. Unidad de trabajo con una sentencia de confirmacin
Captulo 2. Conceptos 29
Nota: No se puede impedir nunca que un proceso de aplicacin realice
operaciones debido a sus propios bloqueos. Sin embargo, si una
aplicacin utiliza transacciones concurrentes, los bloqueos de una
transaccin pueden afectar la operacin de una transaccin concurrente.
Consulte el manual Application Development Guide para obtener detalles.
SQL interactivo
Las sentencias de SQL interactivas las entra un usuario mediante una interfaz
como el procesador de lnea de mandatos (CLP) o el Centro de mandatos.
Estas sentencias se procesan como sentencias de SQL dinmicas. Por ejemplo,
una sentencia SELECT interactiva puede procesarse dinmicamente utilizando
las sentencias DECLARE CURSOR, PREPARE, DESCRIBE, OPEN, FETCH y
CLOSE.
SQL incorporado
Las sentencias de SQL incorporado son sentencias de SQL escritas en
lenguajes de programacin de aplicaciones como, por ejemplo, C y Java. Antes
de que se compile el programa de aplicacin, un precompilador SQL
preprocesa estas sentencias. Existen dos tipos de SQL incorporado: esttico y
dinmico.
SQL esttico
El formato fuente de una sentencia de SQL esttica est incluido dentro un
programa de aplicacin escrito en un lenguaje principal como, por ejemplo, el
COBOL. La sentencia se prepara antes de la ejecucin del programa y el
formato operativo de la sentencia persiste despus de la ejecucin del
programa.
30 Consulta de SQL
SQL dinmico
Los programas que contienen sentencias de SQL dinmicas incorporadas
deben precompilarse igual que los que contienen sentencias de SQL estticas
pero, a diferencia del SQL esttico, las sentencias de SQL dinmicas se
construyen y preparan durante en tiempo de ejecucin. El texto de la
sentencia de SQL se prepara y ejecuta utilizando las sentencias PREPARE y
EXECUTE o bien la sentencia EXECUTE IMMEDIATE. Si se trata de una
sentencia SELECT, tambin se puede ejecutar con operaciones del cursor.
Captulo 2. Conceptos 31
El manual CLI Guide and Reference describe las API a las que se da soporte con
esta interfaz.
Las aplicaciones SQLJ utilizan JDBC como base para tareas como conectarse a
bases de datos y manejar errores de SQL, pero tambin pueden contener
sentencias de SQL estticas intercaladas en los archivos fuente SQLJ. Un
archivo fuente SQLJ se ha de convertir con el conversor SQLJ para que se
pueda compilar el cdigo Java resultante.
Paquetes
Un paquete es un objeto que contiene todas las secciones de un archivo fuente
individual. Una seccin es el formato compilado de una sentencia de SQL.
Mientras que cada una de las secciones corresponde a una sentencia, cada
sentencia no tiene necesariamente una seccin. Las secciones creadas para el
SQL esttico son comparables al formato enlazado u operativo de las
sentencias de SQL. Las secciones creadas para el SQL dinmico son
comparables a las estructuras de control de espacios reservados utilizadas en
tiempo de ejecucin.
Vistas de catlogo
El gestor de bases de datos mantiene un conjunto de vistas y tablas base que
contienen informacin sobre los datos que se encuentran bajo su control. Estas
vistas y las tablas base se conocen en su conjunto como el catlogo. Contienen
informacin sobre los objetos de la base de datos, por ejemplo tablas, vistas,
ndices, paquetes y funciones.
32 Consulta de SQL
Las vistas de catlogo son como las dems vistas de base de datos. Se pueden
utilizar las sentencias de SQL para consultar los datos de las vistas de
catlogo de la misma manera en que se recuperan los datos de cualquier otra
vista del sistema. El gestor de bases de datos garantiza que el catlogo
contenga, en todo momento, una descripcin exacta de los objetos de la base
de datos. Para modificar ciertos valores del catlogo puede utilizarse un
conjunto de vistas actualizables del catlogo (consulte el apartado Vistas de
catlogo actualizables en la pgina 1282).
Conversin de caracteres
Una serie es una secuencia de bytes que puede representar caracteres. En una
serie, todos los caracteres se representan mediante una representacin comn
de cdigos. En algunos casos, puede ser necesario convertir estos caracteres a
una representacin de cdigos diferente. El proceso de conversin se conoce
como conversin de caracteres.
Captulo 2. Conceptos 33
La siguiente lista define algunos de los trminos utilizados al explicar la
conversin de caracteres.
juego de caracteres
Juego definido de caracteres. Por ejemplo, el siguiente juego de
caracteres aparece en varias pginas de cdigos:
v 26 letras no acentuadas de la A a la Z
v 26 letras no acentuadas de la a a la z
v dgitos del 0 al 9
v .,:;?()'"/_&+%*=<>
pgina de cdigos
Conjunto de asignaciones de caracteres a elementos de cdigo. En el
esquema de codificacin ASCII para la pgina de cdigos 850, por
ejemplo, se asigna a la "A" el elemento de cdigo X'41' y a la "B" el
elemento de cdigo X'42'. En una pgina de cdigos, cada elemento
de cdigo tiene un solo significado especfico. Una pgina de cdigos
es un atributo de la base de datos. Cuando un programa de aplicacin
se conecta a la base de datos, el gestor de bases de datos determina la
pgina de cdigos de la aplicacin.
elemento de cdigo
Patrn de bits que representa de forma exclusiva un carcter.
esquema de codificacin
Conjunto de reglas utilizadas para representar datos de tipo carcter,
por ejemplo:
v ASCII de un solo byte
v EBCDIC de un solo byte
v ASCII de doble byte
v ASCII mixto de un solo byte y de doble byte
Juegos de caracteres y pginas de cdigos
El siguiente ejemplo indica cmo un juego de caracteres tpico puede
correlacionarse con diferentes elementos de cdigo de dos pginas de cdigos
distintas.
34 Consulta de SQL
Figura 4. Correlacin de un juego de caracteres en diferentes pginas de cdigos
Captulo 2. Conceptos 35
Pgina de cdigos de base de datos
Pgina de cdigos de base de datos almacenada en los archivos de
configuracin de la base de datos. Este valor de pgina de cdigos se
determina cuando se crea la base de datos y no puede modificarse.
Pgina de cdigos de aplicacin
Pgina de cdigos bajo la que se ejecuta la aplicacin. Recuerde que
sta no es necesariamente la misma pgina de cdigos bajo la que se
ha enlazado la aplicacin. (Consulte la publicacin Application
Development Guide para obtener informacin adicional sobre cmo
enlazar y ejecutar programas de aplicacin.)
Pgina de cdigos 0
sta representa una serie derivada de una expresin que contiene un
valor FOR BIT DATA o BLOB.
36 Consulta de SQL
Supervisores de sucesos
Un supervisor de sucesos realiza el seguimiento de datos especficos como
resultado de un suceso. Por ejemplo, iniciar la base de datos podra ser un
suceso que obligase al supervisor de sucesos a realizar un seguimiento del
nmero de usuarios del sistema, tomando cada hora una instantnea de los
ID de autorizacin que utilizan la base de datos.
Desencadenantes
Un desencadenante define un conjunto de acciones que se ejecutan en, o se
activan por, una operacin de supresin, insercin o actualizacin en una
tabla especificada. Cuando se ejecuta una de estas operaciones SQL, se dice
que el desencadenante est activado.
Captulo 2. Conceptos 37
v El suceso desencadenante define una operacin SQL especfica que modifica la
tabla sujeto. La operacin puede ser la supresin, insercin o actualizacin.
v El momento de activacin del desencadenante define si el desencadenante debe
activarse antes o despus de haberse producido el suceso desencadenante
en la tabla sujeto.
38 Consulta de SQL
ejecuta sentencias de SQL que provocan la activacin de otros
desencadenantes o incluso del mismo otra vez. Las acciones desencadenadas
tambin pueden producir actualizaciones como resultado de la modificacin
original o como resultado de las reglas de integridad de referencia para las
supresiones que pueden producir la activacin de desencadenantes
adicionales. Con una cascada de desencadenantes, se puede activar una
cadena de desencadenantes y reglas de supresin de integridad de referencia,
lo que puede producir un cambio significativo en la base de datos como
resultado de una sola sentencia de supresin, insercin o actualizacin.
Una base de datos particionada permite que los datos se repartan entre
distintas particiones de la base de datos. Las particiones incluidas se
determinan por el grupo de nodos asignado al espacio de tablas. Un grupo de
nodos es un grupo de una o varias particiones que se definen como parte de
la base de datos. Un espacio de tablas incluye uno o varios contenedores para
Captulo 2. Conceptos 39
cada particin del grupo de nodos. Se asocia un mapa de particionamiento a
cada grupo de nodos. El gestor de bases de datos utiliza el mapa de
particionamiento para determinar la particin del grupo de nodos que se
almacenar en una fila de datos determinada. Para obtener ms informacin
sobre los grupos de nodos y el particionamiento de datos, consulte el
apartado Particin de datos entre mltiples particiones, el apartado
CREATE NODEGROUP en la pgina 801 o la publicacin Administration
Guide.
Una tabla tambin puede incluir columnas que registren enlaces con datos
almacenados en archivos externos. El mecanismo para ello es el tipo de datos
DATALINK. Un valor DATALINK que se registre en una tabla regular apunta
a un archivo almacenado en un servidor de archivos externos.
40 Consulta de SQL
mapa de particionamiento (que puede actualizar el usuario) especifica la
correlacin de los valores de clave de particionamiento para las particiones.
Esto posibilita la paralelizacin flexible de la carga de trabajo para tablas
grandes, mientras que permite que se almacenen las tablas mas pequeas en
una o en un pequeo nmero de particiones si lo elige el diseador de la
aplicacin. Cada particin local puede tener ndices locales acerca de los datos
que almacenan para proporcionar un acceso de datos local de alto
rendimiento.
El particionamiento por clculo de clave se utiliza para colocar una fila en una
particin, de la manera siguiente.
1. Un algoritmo de clculo de claves (funcin de particionamiento) se aplica
a todas las columnas de la clave de particionamiento, lo que da como
resultado la generacin de un ndice de mapa de particionamiento.
2. Este ndice de mapa de particionamiento se utiliza como ndice para el
mapa de particionamiento. El nmero de particin correspondiente a ese
ndice en el mapa de particionamiento es la particin donde se almacena
la fila.
3. Los mapas de particionamiento se asocian a grupos de nodos y se crean
tablas en los espacios de tablas que estn en grupos de nodos.
Captulo 2. Conceptos 41
DB2 da soporte a la desagrupacin parcial, que significa que la tabla se puede
particionar en un subconjunto de particiones del sistema (es decir, un grupo
de nodos). Las tablas no se tienen que particionar en todas las particiones del
sistema.
Mapas de particionamiento
Cada grupo de nodos est asociado con un mapa de particionamiento, que es
una matriz de 4.096 nmeros de particin. Para determinar la particin en la
que se almacena una fila se utiliza, como ndice en el mapa de
particionamiento, el ndice de mapa de particionamiento producido por la
funcin de particionamiento para cada fila de una tabla.
La Figura 5 muestra cmo la fila del valor de clave particionada (c1, c2, c3) se
correlaciona con el ndice 2 del mapa de particionamiento que, a su vez, hace
referencia a la particin p5.
42 Consulta de SQL
Colocacin de tablas
DB2 tiene la posibilidad de reconocer si los datos a los que se ha accedido
para una unin o subconsulta estn situados en la misma particin del mismo
grupo de nodos. Cuando sucede esto, DB2 puede elegir realizar el proceso de
unin o de subconsulta en la particin donde se almacenan los datos, lo cual
tiene normalmente ventajas de rendimiento significativas. Esta situacin se
denomina colocacin de tablas. Para ser consideradas tablas colocadas, las
tablas deben:
v Estar en el mismo grupo de nodos (que no se est redistribuyendo6).
v Tener claves de particionamiento con el mismo nmero de columnas.
v Hacer que las columnas correspondientes de la clave de particionamiento
sean compatibles con la particin (consulte el apartado Compatibilidad
entre particiones en la pgina 127).
v O estar en un grupo de nodos de particin individual definido en la misma
particin.
6. Mientras se redistribuye un grupo de nodos, las tablas del grupo de nodos pueden estar utilizando mapas de
particionamiento diferentes no estn colocadas.
Captulo 2. Conceptos 43
Figura 6 se ilustra un entorno de bases de datos relacionales distribuidas
sencillo.
Para ejecutar una sentencia de SQL esttica que haga referencia a tablas o
vistas, el servidor de aplicaciones utiliza la forma enlazada de la sentencia.
Esta sentencia enlazada se toma de un paquete que el gestor de bases de
datos ha creado previamente mediante una operacin de enlace lgico.
44 Consulta de SQL
En su mayor parte, una aplicacin conectada a un servidor de aplicaciones
puede utilizar las sentencias y las clusulas soportadas por el gestor de bases
de datos del servidor de aplicaciones. Esto es cierto aunque la aplicacin est
ejecutndose mediante el peticionario de aplicaciones de un gestor de bases
de datos que no soporta algunas esas sentencias y clusulas.
Captulo 2. Conceptos 45
Si est disponible la conexin implcita (consulte la Figura 7 en la pgina 48
), el proceso de aplicacin est, inicialmente, en el estado conectable
implcitamente. Si la conexin implcita no est disponible (consulte la
Figura 8 en la pgina 49), el proceso de aplicacin est, inicialmente, en el
estado conectable y no conectado.
La disponibilidad de la conexin implcita viene determinada por las
opciones de la instalacin, las variables de entorno y los valores de
autenticacin. Consulte la publicacin Gua rpida de iniciacin para obtener
informacin sobre cmo establecer la conexin implcita en la instalacin y
la publicacin Administration Guide para obtener informacin sobre las
variables de entorno y los valores de autenticacin.
46 Consulta de SQL
Un proceso de aplicacin no est conectado a un servidor de aplicaciones. La
nica sentencia de SQL que puede ejecutarse es CONNECT TO, de lo
contrario se genera un error (SQLSTATE 08003).
Captulo 2. Conceptos 47
Figura 7. Transiciones de estado de conexin si la conexin implcita est disponible
48 Consulta de SQL
Figura 8. Transiciones de estado de conexin si la conexin implcita no est disponible
Reglas adicionales:
v No es un error ejecutar sentencias CONNECT consecutivas porque
CONNECT no modifica el estado conectable del proceso de aplicacin.
v Es un error ejecutar sentencias CONNECT RESET consecutivas.
v Es un error ejecutar cualquier sentencia de SQL que no sea CONNECT TO,
CONNECT RESET, CONNECT sin operandos, SET CONNECTION,
RELEASE, COMMIT o ROLLBACK, y luego ejecutar una sentencia
CONNECT TO. Para evitar el error, se deber ejecutar una sentencia
CONNECT RESET, DISCONNECT (precedida de una sentencia COMMIT o
ROLLBACK), COMMIT o ROLLBACK antes de la sentencia CONNECT TO.
Unidad de trabajo distribuida dirigida por aplicacin
El recurso de unidad de trabajo distribuida dirigida por aplicacin tambin permite
la preparacin y la ejecucin remotas de sentencias de SQL del mismo modo
que el recurso de unidad de trabajo remota. Un proceso de aplicacin en el
sistema A puede conectarse a un servidor de aplicaciones en el sistema B
Captulo 2. Conceptos 49
emitiendo una sentencia CONNECT o SET CONNECTION. Despus, el
proceso de aplicacin puede ejecutar un nmero cualquiera de sentencias de
SQL estticas y dinmicas que hagan referencia a objetos de B antes de
finalizar la unidad de trabajo. Todos los objetos a los que se hace referencia en
una sola sentencia de SQL deben ser gestionados por el mismo servidor de
aplicaciones. Sin embargo, a diferencia del recurso de unidad de trabajo
remota, pueden participar en la misma unidad de trabajo cualquier nmero
de servidores de aplicaciones. Una operacin de retrotraccin o confirmacin
finaliza la unidad de trabajo.
50 Consulta de SQL
Figura 9. Conexin de la unidad de trabajo distribuida y transiciones de estado de conexin del proceso de la
aplicacin
Captulo 2. Conceptos 51
v Cuando un proceso de aplicacin ejecuta una sentencia SET
CONNECTION, el nombre de ubicacin especificado debe ser una conexin
existente en el conjunto de conexiones del proceso de aplicacin.
v Cuando un proceso de aplicacin ejecuta una sentencia CONNECT y la
opcin SQLRULES(STD) est en vigor, el nombre de servidor especificado
no debe ser una conexin existente en el conjunto de conexiones del
proceso de aplicacin. Consulte el apartado Opciones que controlan la
semntica de la unidad de trabajo distribuida en la pgina 54 para ver una
descripcin de la opcin SQLRULES.
52 Consulta de SQL
Estados de una conexin: Si un proceso de aplicacin ejecuta una sentencia
CONNECT y el peticionario de aplicaciones conoce el nombre de servidor y
no est en el conjunto de conexiones existentes del proceso de aplicacin,
entonces:
v la conexin actual se coloca en el estado inactivo,
v el nombre del servidor se aade al conjunto de conexiones y
v la nueva conexin se coloca en el estado actual y en el estado mantenido.
Captulo 2. Conceptos 53
de todos los bloqueos, cursores y sentencias preparadas seguir siendo el
mismo y reflejarn la que fue su ltima utilizacin cuando la conexin era
actual.
7. La opcin CONDITIONAL no funcionar correctamente con los servidores de nivel inferior anteriores a la Versin
2. En estos casos, se producir una desconexin, independientemente de la presencia de cursores WITH HOLD
54 Consulta de SQL
v SYNCPOINT (ONEPHASE | TWOPHASE | NONE)
Especifica el modo en que se van a coordinar las operaciones de
confirmacin o retrotraccin en las conexiones de varias bases de datos.
ONEPHASE Las actualizaciones slo pueden producirse en una base de
datos de la unidad de trabajo y el resto de las bases de
datos son de slo lectura. Cualquier intento de actualizacin
en otra base de datos producir un error (SQLSTATE
25000).
TWOPHASE Se utilizar un Gestor de transacciones (TM) en tiempo de
ejecucin para coordinar las confirmaciones en dos fases en
todas las bases de datos que den soporte a este protocolo.
NONE No utiliza ningn TM para realizar la confirmacin en dos
fases y no impone ningn actualizador nico, lector
mltiple. Cuando se ejecuta una sentencia COMMIT o
ROLLBACK, las sentencias COMMIT o ROLLBACK
individuales se envan a todas las bases de datos. Si hay
una o varias operaciones de retrotraccin anmalas, se
produce un error (SQLSTATE 58005). Si hay una o ms
operaciones de confirmacin anmalas, se produce un error
(SQLSTATE 40003).
Captulo 2. Conceptos 55
Sistemas federados DB2
Esta seccin proporciona una visin general de los elementos de un sistema
federado DB2, una visin general de las tareas que los administradores y
usuarios del sistema realizan y explicaciones de los conceptos asociados a
estas tareas.
Servidor federado, base de datos federada y fuentes de datos
Un sistema federado DB2 es un sistema informtico distribuido que consta de
un servidor DB2 y de mltiples fuentes de datos.
v Un servidor DB2 de un sistema federado recibe el nombre de servidor
federado.
En una instalacin DB2, puede configurarse cualquier nmero de instancias
de DB2 para que funcionen como servidores federados.
v En un sistema federado, el servidor federado enva consultas a mltiples
fuentes de datos.
Cada fuente de datos consta de una instancia RDBMS y de una o ms bases
de datos soportadas por la instancia. Las fuentes de datos de un sistema
federado DB2 pueden incluir instancias de Oracle e instancias de los
miembros de la familia DB2.
Las fuentes de datos son semiautnomas. Por ejemplo, el servidor federado
puede enviar consultas a fuentes de datos Oracle al mismo tiempo que
aplicaciones Oracle acceden a estas fuentes de datos. Un sistema federado
DB2 no monopoliza ni restringe el acceso a fuentes de datos Oracle ni de
otra clase (fuera de las restricciones de integridad y de bloqueo).
Para los usuarios finales y aplicaciones cliente, las fuentes de datos aparecen
como una sola base de datos colectiva. En realidad, los usuarios y aplicaciones
intercambian informacin con una base de datos, denominada base de datos
federada, que est en el servidor federado. Para obtener datos de las fuentes de
datos, someten consultas en SQL de DB2 a la base de datos federada. Despus
DB2 distribuye las consultas a las fuentes de datos adecuadas. DB2 tambin
proporciona planes de acceso para optimizar las consultas (en algunos casos,
estos planes llaman al servidor federado para procesar las consultas en lugar
de llamar a la fuente de datos). Finalmente, DB2 rene los datos solicitados y
los pasa a los usuarios y aplicaciones.
56 Consulta de SQL
las siguientes, el trmino usuarios se refiere a todo tipo de personal que trabaja
con sistemas federados, por ejemplo administradores de bases de datos,
programadores de aplicaciones y usuarios finales).
Captulo 2. Conceptos 57
soportada por la base de datos federada y otra soportada por una
fuente de datos. Consulte el apartado Correlaciones de funciones,
plantillas de funciones y opciones de correlacin de funciones en la
pgina 63.
g. Los DBA y los programadores de aplicaciones crean apodos para las
tablas y las vistas de fuentes de datos que se han de acceder. Un apodo
es un identificador mediante el cual el sistema federado hace referencia
a una vista o tabla de fuente de datos. Consulte el apartado Apodos y
opciones de columna en la pgina 64.
h. Opcional: Si una tabla de fuente de datos no tiene ndice, el DBA
puede proporcionar al servidor federado la misma clase de informacin
que la que podra contener la definicin de un ndice real. Si una tabla
de fuente de datos tiene un ndice que el servidor federado no conoce,
el DBA puede informar al servidor de la existencia del ndice. En
cualquier caso, la informacin que el DBA suministra ayuda a DB2 a
optimizar las consultas de los datos de tabla. Esta informacin se
denomina especificacin de ndice. Consulte el apartado Especificaciones
de ndice en la pgina 65.
3. Los programadores de aplicaciones y los usuarios finales recuperan
informacin de las fuentes de datos:
v Mediante la utilizacin del SQL para DB2, los programadores de
aplicaciones y los usuarios finales consultan tablas y vistas que son
referidas por apodos. Las consultas dirigidas a dos o ms fuentes de
datos se denominan consultas distribuidas. Consulte el apartado
Peticiones distribuidas en la pgina 66 para obtener detalles.
En el proceso de una consulta, el servidor federado puede realizar
operaciones que estn soportadas por el SQL de DB2 pero no por el
SQL de la fuente de datos. Esta posibilidad se denomina compensacin.
Consulte el apartado Compensacin en la pgina 67.
v Los programadores de aplicaciones y los usuarios finales someten a
veces consultas, sentencias DML8 y sentencias DDL9 en fuentes de datos
con el formato especfico de SQL utilizado por la fuente de datos, en
lugar del formato de SQL utilizado por DB2. Los programadores y
usuarios puede realizar dicha accin en modalidad de paso a travs.
Consulte el apartado Paso a travs en la pgina 68.
8. DML (Data Manipulation Language - Lenguaje de manipulacin de datos) es el subconjunto de sentencias de SQL
que se utilizan para manipular datos.
9. DDL (Data Definition Language - Lenguaje de definicin de datos) es el subconjunto de sentencias de SQL que se
utilizan para describir las relaciones de los datos de una base de datos.
58 Consulta de SQL
Reiniciadores y mdulos de reiniciador
Un reiniciador es el mecanismo mediante el que el servidor federado se
comunica con una fuente de datos y recupera datos de ella. Para implantar un
reiniciador, el servidor utiliza las rutinas almacenadas en una biblioteca
denominada mdulo de reiniciador. Estas rutinas permiten al servidor realizar
operaciones como, por ejemplo, conectarse a una fuente de datos y recuperar
datos de la misma repetidamente.
Captulo 2. Conceptos 59
v Est configurado para recibir peticiones que estn pensadas en ltima
instancia para fuentes de datos y distribuye estas peticiones a las fuentes de
datos.
v Al igual que otros servidores de aplicaciones, un servidor federado utiliza
protocolos de comunicaciones DRDA para comunicarse con las instancias
de la familia DB2. A diferencia de otros servidores de aplicaciones, un
servidor federado utiliza los protocolos de comunicaciones SQLNET y net8
para comunicarse con las instancias de Oracle.
60 Consulta de SQL
una nueva fuente de datos Oracle en el sistema federado. La base de datos de
esta fuente de datos utiliza el mismo orden de clasificacin que el utilizado
por la base de datos federada. El DBA desea que el optimizador conozca esta
coincidencia, para que la aproveche para mejorar el rendimiento. De acuerdo
con ello, en la sentencia CREATE SERVER, el DBA establece una opcin de
servidor llamada COLLATING_SEQUENCE en Y (para indicar que el orden
de clasificacin de la fuente de datos y el de la base de datos federada son
iguales). El valor Y se anota en el catlogo y permanece en vigor mientras
los usuarios y las aplicaciones acceden a la fuente de datos Oracle.
Captulo 2. Conceptos 61
obtener ms informacin. Consulte el apartado Opciones de servidor en la
pgina 1415 para obtener descripciones de todas las opciones de servidor y
sus valores.
Correlaciones de usuarios y opciones de usuario
El servidor federado puede enviar la peticin distribuida de una aplicacin o
un usuario autorizado a una fuente de datos bajo una de estas condiciones o
bajo ambas:
v El usuario o la aplicacin utilizan el mismo ID de usuario tanto para la base
de datos federada como para la fuente de datos. Adems, si la fuente de
datos necesita una contrasea, el usuario o la aplicacin utilizan la misma
contrasea para la base de datos federada que para la fuente de datos.
v La autorizacin del usuario o de la aplicacin para acceder a la base de
datos federada difiere en alguna manera de la autorizacin del usuario o de
la aplicacin para acceder a la fuente de datos. Adems, cuando el usuario
o la aplicacin piden acceso a la fuente de datos, se cambia la autorizacin
de la base de datos federada por la autorizacin de la fuente de datos, para
que pueda otorgarse el acceso. Este cambio slo puede producirse si existe
una asociacin definida, denominada correlacin de usuarios, entre las dos
autorizaciones.
62 Consulta de SQL
por omisin con el tipo DATE de DB2. No hay ninguna correlacin para los
tipos de datos que los servidores federados de DB2 no soportan: LONG
VARCHAR, LONG VARGRAPHIC, DATALINK, tipos de objeto grande (LOB)
y tipos definidos por el usuario.
Captulo 2. Conceptos 63
desea utilizar una funcin de fuente de datos que el servidor federado no
reconoce (por ejemplo, una nueva funcin incorporada o una funcin definida
por el usuario), el usuario debe crear una correlacin entre esta funcin y una
funcin complementaria situada en la base de datos federada. Si no existe
ninguna funcin complementaria, el usuario debe crear una que cumpla los
requisitos siguientes:
v Si la funcin de fuente de datos tiene parmetros de entrada, la funcin
complementaria debe tener el mismo nmero de parmetros de entrada que
la funcin de fuente de datos. Si la funcin de fuente de datos no tiene
ningn parmetro de entrada, la funcin complementaria no puede tener
ninguno.
v Los tipos de datos para los parmetros de entrada (si existen) y los valores
devueltos para la funcin complementaria deben ser compatibles con los
tipos de datos correspondientes de la funcin de fuente de datos.
64 Consulta de SQL
mediante nombres de fuentes de datos. Las ubicaciones de las tablas y las
vistas son transparentes para la aplicacin cliente.
Los apodos no son nombres alternativos para las tablas y las vistas del modo
en que lo son los seudnimos; son punteros mediante los cuales el servidor
federado hace referencia a estos objetos. Los apodos se definen con la
sentencia CREATE NICKNAME. Consulte el apartado CREATE
NICKNAME en la pgina 795 para obtener detalles.
Cuando se crea un apodo para una tabla o vista, el catlogo se rellena con
metadatos que el optimizador puede utilizar para facilitar el acceso a la tabla
o la vista. Por ejemplo, el catlogo se proporciona con los nombres de los
tipos de datos DB2 con los que se correlacionan los tipos de datos de las
columnas de la tabla o la vista. Si el apodo es para una tabla con un ndice, el
catlogo tambin se suministra con la informacin relativa al ndice; por
ejemplo, el nombre de cada columna de la clave de ndice.
Captulo 2. Conceptos 65
tabla en las que se ha de buscar para encontrar rpidamente la informacin.
El usuario ejecuta una sentencia CREATE INDEX que contiene la informacin
y hace referencia al apodo de la tabla.
66 Consulta de SQL
de pas para China; y utiliza las clusulas SELECT y WHERE para listar los
empleados de AS400_EMPLOYEES cuyos nmeros de telfono necesiten este
cdigo en particular.
SELECT NAME, TELEPHONE
FROM DJADMIN.AS400_EMPLOYEES
WHERE COUNTRY_CODE IN
(SELECT COUNTRY_CODE
FROM DJADMIN.ORA_COUNTRIES
WHERE COUNTRY_NAME = 'CHINA')
Peticin de unin
Una unin relacional produce un conjunto resultante que contiene una
combinacin de columnas recuperadas de dos o ms tablas. Siempre se
debern especificar condiciones para limitar el tamao de las filas del
conjunto de resultados.
Compensacin
La compensacin es el proceso de sentencias de SQL para bases de datos
relacionales que no soportan esas sentencias. Cada tipo de RDBMS DB2
Universal Database para AS/400, DB2 Universal Database para OS/390,
Oracle, etc) soporta un subconjunto del estndar internacional de SQL.
Adems, algunos tipos soportan construcciones SQL que exceden este
estndar. La totalidad de SQL que un tipo de RDBMS soporta se denomina
dialecto SQL. Si una construccin SQL se encuentra en un dialecto SQL de
DB2, pero no en un dialecto de la fuente de datos, el servidor federado puede
implementar esta construccin en nombre de la fuente de datos.
Captulo 2. Conceptos 67
Ejemplo 2: Al conectarse a una fuente de datos que no soporta mltiples
cursores abiertos en una aplicacin, el servidor federado puede simular esta
funcin estableciendo conexiones independientes, simultneas con la fuente de
datos. De manera similar, el servidor federado puede simular la posibilidad
CURSOR WITH HOLD para una fuente de datos que no proporcione esa
funcin.
La compensacin hace que sea posible utilizar el dialecto SQL de DB2 para
realizar todas las consultas soportadas por el servidor federado. No es
necesario utilizar los dialectos especficos para los RDBMS distintos de DB2.
Paso a travs
Los usuarios pueden utilizar la funcin de paso a travs para comunicarse con
las fuentes de datos en el dialecto SQL de las fuentes de datos. En la
modalidad de paso a travs, los usuarios no slo pueden someter consultas,
sino tambin sentencias DML y DDL. Consulte el apartado Proceso SQL en
sesiones de paso a travs en la pgina 1423 para obtener informacin sobre
cmo DB2 y las fuentes de datos gestionan el proceso de sentencias sometidas
en sesiones de paso a travs.
68 Consulta de SQL
Captulo 3. Elementos del lenguaje
Este captulo define la sintaxis bsica del SQL y los elementos del lenguaje
comunes a muchas sentencias de SQL.
Materia Pgina
Caracteres 69
Smbolos 70
Identificadores 71
Convenios de denominacin y calificaciones implcitas 72
de nombres de objetos
Seudnimos 78
ID de autorizacin y nombres-autorizacin 79
Tipos de datos 82
Promocin de los tipos de datos 100
Conversin entre tipos de datos 101
Asignaciones y comparaciones 105
Reglas para los tipos de datos del resultado 120
Constantes 129
Registros especiales 132
Nombres de columna 143
Referencias a variables del lenguaje principal 151
Funciones 159
Mtodos 168
Semntica de enlace conservador 174
Expresiones 176
Predicados 212
Condiciones de bsqueda 232
Caracteres
Los smbolos bsicos de las palabras clave y de los operadores del lenguaje
SQL son caracteres de un solo byte que forman parte de todos los juegos de
caracteres IBM. Los caracteres del lenguaje se clasifican en letras, dgitos y
caracteres especiales.
Smbolos
Las unidades sintcticas bsicas del lenguaje son los smbolos. Un smbolo es
una secuencia de uno o varios caracteres. Un smbolo no puede contener
caracteres en blanco, a menos que sea una constante de tipo serie o un
identificador delimitado, que pueden contener blancos. (Estos trminos se
definen ms adelante.)
70 Consulta de SQL
Smbolos
Ejemplos
1 .1 +2 SELECT E 3
v Un smbolo delimitador es una constante de tipo serie, un identificador
delimitado, un smbolo de operador o cualquier carcter especial mostrado
en los diagramas de sintaxis. Un signo de interrogacin tambin es un
smbolo delimitador cuando acta como marcador de parmetros, tal como
se explica en PREPARE en la pgina 1099.
Ejemplos
, 'serie' "fld1" = .
Identificadores
Un identificador es un smbolo que se utiliza para formar un nombre. En una
sentencia de SQL, un identificador es un identificador SQL o un identificador
del lenguaje principal.
Identificadores SQL
Existen dos tipos de identificadores SQL: ordinarios y delimitados
v Un identificador ordinario es una letra seguida de cero o varios caracteres,
cada uno de los cuales es una letra mayscula, un dgito o un carcter de
subrayado. Un identificador ordinario no debe ser idntico a una palabra
reservada (consulte el Apndice H. Nombres de esquema reservados y
palabras reservadas en la pgina 1447 para obtener informacin sobre
palabras reservadas).
v Un identificador delimitado es una secuencia de uno o varios caracteres entre
comillas (). Dos comillas consecutivas se utilizan para representar unas
comillas dentro del identificador delimitado. De esta manera un
identificador puede incluir letras en minsculas.
72 Consulta de SQL
Convenios de denominacin
74 Consulta de SQL
Convenios de denominacin
76 Consulta de SQL
Convenios de denominacin
Seudnimos
Un seudnimo de tabla se puede considerar como un nombre alternativo de
una tabla o una vista. Por lo tanto, en una sentencia de SQL se puede hacer
referencia a una tabla o a una vista por su nombre o por su seudnimo de
tabla.
78 Consulta de SQL
Seudnimos
se convierte en realidad en
ID de autorizacin y nombres-autorizacin
Un ID de autorizacin es una serie de caracteres obtenida por el gestor de bases
de datos cuando se establece una conexin entre el gestor de bases de datos y
un proceso de aplicacin o un proceso de preparacin de programa. Designa
un conjunto de privilegios. Tambin puede designar a un usuario o a un
grupo de usuarios, pero su propiedad no la controla el gestor de bases de
datos.
Ejemplos:
v Suponga que SMITH es el id de usuario del ID de autorizacin que el
gestor de bases de datos ha obtenido al establecer la conexin con el
proceso de aplicacin. La siguiente sentencia se ejecuta interactivamente:
GRANT SELECT ON DEPTT TO KEENE
80 Consulta de SQL
ID de autorizacin y nombres-autorizacin
Tipos de datos
Para obtener informacin sobre la especificacin de los tipos de datos de las
columnas, consulte el apartado CREATE TABLE en la pgina 835.
82 Consulta de SQL
Tipos de datos
Nulos
Todos los tipos de datos incluyen el valor nulo. El valor nulo es un valor
especial que se diferencia de todos los valores que no son nulos y, por lo
tanto, indica la ausencia de un valor (no nulo). Aunque todos los tipos de
datos incluyen el valor nulo, las columnas definidas como NOT NULL no
pueden contener valores nulos.
Gran objeto (LOB)
El trmino gran objeto y su acrnimo genrico LOB se utilizan para hacer
referencia a cualquier tipo de datos BLOB, CLOB o DBCLOB. Los valores LOB
estn sujetos a las restricciones que se aplican a los valores LONG VARCHAR
tal como se especifica en el apartado Restricciones aplicables a la utilizacin
de series de caracteres de longitud variable en la pgina 87. En series LOB,
estas restricciones se aplican incluso cuando el atributo de longitud de la serie
es de 254 bytes o menos.
84 Consulta de SQL
Tipos de datos
86 Consulta de SQL
Tipos de datos
Las funciones del esquema SYSFUN que toman como argumento VARCHAR
no aceptarn las VARCHAR que tengan ms de 4.000 bytes de longitud como
argumento. Sin embargo, muchas de estas funciones tambin pueden tener
una signatura alternativa que acepte un CLOB(1M). Para estas funciones, el
usuario puede convertir explcitamente las series VARCHAR mayores que
4.000 en datos CLOB y luego reconvertir el resultado en datos VARCHAR de
la longitud deseada.
Subtipos de caracteres
Cada serie de caracteres se define con ms detalle como:
Datos de bits Datos que no estn asociado con una pgina de cdigos.
Datos SBCS Datos en los que cada carcter est representado por un solo
byte.
Datos mixtos Datos que pueden contener una mezcla de caracteres de un
juego de caracteres de un solo byte (SBCS) y de un juego de
caracteres de mltiples bytes (MBCS).
Las series grficas no se validan para asegurarse de que sus valores slo
contienen elementos de cdigo de caracteres de doble byte. 10 Mejor dicho, el
10. La excepcin a esta regla es una aplicacin precompilada con la opcin WCHARTYPE CONVERT. En este caso, s
que se efecta la validacin. Vea la seccin Programming in C and C++ del manual Application Development
Guide para obtener detalles.
88 Consulta de SQL
Tipos de datos
gestor de bases de datos supone que los datos de caracteres de doble byte
estn contenidos dentro de campos de datos grficos. El gestor de bases de
datos comprueba que un valor de serie grfica tenga como longitud un
nmero par de bytes.
Un tipo de datos de serie grfica puede tener una longitud fija o variable; la
semntica de la longitud fija y variable es anloga a las definidas para los
tipos de datos de series de caracteres.
Este tipo de datos no puede crearse en una tabla. Slo se puede utilizar para
insertar datos en la base de datos y recuperarlos de la misma.
Serie binaria
Una serie binaria es una secuencia de bytes. A diferencia de la serie de
caracteres, que normalmente contiene datos de texto, una serie binaria se
utiliza para contener datos que no son tradicionales como, por ejemplo,
imgenes. Observe que las series de caracteres del subtipo datos de bits
pueden utilizarse para fines similares, pero los dos tipos de datos no son
Todos los valores de una columna decimal tienen la misma precisin y escala.
El rango de una variable decimal o de los nmeros de una columna decimal
90 Consulta de SQL
Tipos de datos
Fecha
Una fecha es un valor que se divide en tres partes (ao, mes y da). El rango
de la parte correspondiente al ao es de 0001 a 9999. El rango de la parte
correspondiente al mes es de 1 a 12. El rango de la parte correspondiente al
da es de 1 a x, donde x depende del mes.
Hora
Una hora es un valor que se divide en tres partes (hora, minuto y segundo)
que indica una hora del da de un reloj de 24 horas. El rango de la parte
correspondiente a la hora es de 0 a 24; mientras que el rango de las otras es
de 0 a 59. Si la hora es 24, las especificaciones de los minutos y segundos ser
cero.
Indicacin de la hora
Una indicacin de la hora es un valor dividido en siete partes (ao, mes, da,
hora, minuto, segundo y microsegundo) que indica una fecha y una hora
como las definidas ms arriba, excepto en que la hora incluye la especificacin
fraccional de los microsegundos.
Series de fecha
Una representacin de tipo serie de una fecha es una serie de caracteres que
empieza por un dgito y que tiene una longitud de 8 caracteres como mnimo.
Pueden incluirse blancos de cola; pueden omitirse los ceros iniciales de las
partes correspondientes al mes y al da.
Los formatos vlidos de tipo serie para las fechas estn listados en la Tabla 1.
Cada formato se identifica por el nombre e incluye una abreviatura asociada y
un ejemplo de su utilizacin.
92 Consulta de SQL
Tipos de datos
Series de hora
Una representacin de serie de una hora es una serie de caracteres que
empieza por un dgito y que tiene una longitud de 4 caracteres como mnimo.
Pueden incluirse blancos de cola; puede omitirse un cero inicial de la parte
correspondiente a la hora y pueden omitirse por completo los segundos. Si se
omiten los segundos, se supone una especificacin implcita de 0 segundos.
De este modo, 13:30 es equivalente a 13:30:00.
Los formatos de serie vlidos para las horas se listan en la Tabla 4. Cada
formato se identifica por el nombre e incluye una abreviatura asociada y un
ejemplo de su utilizacin.
Tabla 4. Formatos para representaciones de serie de horas
Nombre del formato Abreviatura Formato de la Ejemplo
hora
International Standards ISO hh.mm.ss 13.30.05
Organization2
Estndar IBM USA USA hh:mm AM o 1:30 PM
PM
Estndar IBM European EUR hh.mm.ss 13.30.05
Era Japanese Industrial Standard JIS hh:mm:ss 13:30:05
Christian
Definido por el sitio (consulte LOC Depende del
Administration Guide) cdigo del pas
de la base de
datos
Notas:
1. En los formatos ISO, EUR y JIS, .ss (o :ss) es opcional.
2. La organizacin International Standards Organization ha cambiado
recientemente el formato de la hora, de modo que ahora es idntica a la de
la Japanese Industrial Standard Christian Era. Por lo tanto, utilice el
formato JIS si una aplicacin necesita el formato actual de International
Standards Organization.
3. En el caso del formato de serie de hora USA, puede omitirse la
especificacin de los minutos, indicando una especificacin implcita de 00
minutos. Por lo tanto 1 PM es equivalente a 1:00 PM.
4. En el formato de hora USA, la hora no debe ser mayor que 12 y no puede
ser 0, excepto en el caso especial de las 00:00 AM. Hay un solo espacio
antes de AM y PM. Si se utiliza el formato JIS del reloj de 24 horas, la
correspondencia entre el formato USA y el reloj de 24 horas es la siguiente:
12:01 AM a 12:59 AM corresponde a 00:01:00 a 00:59:00.
01:00 AM a 11:59 AM corresponde a 01:00:00 a 11:59:00.
12:00 PM (medioda) a 11:59 PM corresponde a 12:00:00 a 23:59:00.
12:00 AM (medianoche) corresponde a 24:00:00 y 00:00 AM
(medianoche) corresponde a 00:00:00.
94 Consulta de SQL
Tipos de datos
Valores DATALINK
Un valor DATALINK es un valor encapsulado que contiene una referencia
lgica de la base de datos a un archivo almacenado fuera de la base de datos.
Los atributos de este valor encapsulado son los siguientes:
tipo de enlace
El tipo de enlace soportado actualmente es 'URL' (Uniform Resource
Locator).
ubicacin de datos
Es la ubicacin de un archivo enlazado a una referencia dentro de DB2, en
forma de un URL. Para este URL se pueden utilizar estos nombres de
esquema:
v HTTP
v FILE
v UNC
v DFS
Las dems partes del URL son:
v el nombre del servidor de archivos para los esquemas HTTP, FILE y
UNC
v el nombre de la clula para el esquema DFS
v la va de acceso completa dentro del servidor de archivos o clula
Vea Apndice P. Especificaciones BNF para los enlaces de datos en la
pgina 1521 para obtener ms informacin sobre las especificaciones BNF
exactas para DATALINK (BNF es el acrnimo de Backus Naur Form).
comentario
Hasta 254 bytes de informacin descriptiva. Est pensado para los usos
especficos de una aplicacin, como, por ejemplo, una identificacin
alternativa o ms detallada de la ubicacin de los datos.
Tipos diferenciados
Un tipo diferenciado es un tipo de datos definido por el usuario que comparte
su representacin interna con un tipo existente (su tipo fuente), pero se
considera un tipo independiente e incompatible para la mayora de
operaciones. Por ejemplo, se desea definir un tipo de imagen, un tipo de texto
y un tipo de audio, todos ellos tienen semnticas bastante diferentes, pero
utilizan el tipo de datos incorporado BLOB para su representacin interna.
96 Consulta de SQL
Tipos de datos
Los tipos diferenciados dan soporte a una gran escritura asegurando que slo
aquellas funciones y operadores que estn explcitamente definidos en un tipo
diferenciado se puedan aplicar a sus instancias. Por esta razn, un tipo
diferenciado no adquiere automticamente las funciones y operadores de su
tipo fuente, ya que estas podran no tener ningn significado. (Por ejemplo, la
funcin LENGTH del tipo AUDIO puede devolver la longitud de su objeto en
segundos en lugar de bytes.)
Los tipos diferenciados que derivan de los tipos LONG VARCHAR, LONG
VARGRAPHIC, LOB o DATALINK estn sujetos a las mismas restricciones
que su tipo fuente.
Tipos estructurados
Un tipo estructurado es un tipo de datos definido por el usuario con una
estructura definida en la base de datos. Contiene una secuencia de atributos
con nombre, cada uno de los cuales tiene un tipo de datos. Un tipo
estructurado tambin incluye un conjunto de especificaciones de mtodo.
Un tipo estructurado puede utilizarse como tipo de una tabla, de una vista o
de una columna. Cuando se utiliza como tipo para una tabla o vista, esa tabla
o vista se denomina tabla con tipo o vista con tipo, respectivamente. Para las
tablas con tipo y vistas con tipo, los nombres y tipos de datos de los atributos
del tipo estructurado pasan a ser los nombres y tipos de datos de las
columnas de esta tabla o vista con tipo. Las filas de la tabla o vista con tipo
pueden considerarse una representacin de instancias del tipo estructurado.
Cuando se utiliza como tipo de datos para una columna, la columna contiene
valores de ese tipo estructurado (o valores de cualquiera de los subtipos de
ese tipo, tal como se describe ms abajo). Los mtodos se utilizan para
recuperar o manipular atributos de un objeto de columna estructurado.
Un tipo puede no estar definido para que uno de sus tipos de atributo se
utilice, directa o indirectamente, a s mismo. Si es necesario tener una
configuracin as, considere la posibilidad de utilizar una referencia como
atributo. Por ejemplo, en el caso de atributos de tipos estructurados, no puede
existir una instancia de empleado que tenga el atributo director cuando
director es de tipo empleado. En cambio, puede existir un atributo
director cuyo tipo sea REF(empleado).
98 Consulta de SQL
Tipos de datos
El destino de una referencia siempre es una fila de una tabla o vista con tipo.
Cuando se utiliza un tipo de referencia, puede tener definido un mbito. El
mbito identifica una tabla (denominada tabla de destino) o una vista
(denominada vista de destino) que contiene la fila de destino de un valor de
referencia. La tabla de destino o la vista de destino debe tener el mismo tipo
que el tipo de destino del tipo de referencia. Una instancia de un tipo de
referencia con mbito identifica de forma exclusiva una fila en una tabla con
tipo o en una vista con tipo, denominada fila de destino.
La Tabla 5 muestra la lista de prioridad (por orden) para cada tipo de datos y
se puede utilizar para determinar los tipos de datos a los que se puede
promover un tipo de datos determinado. La tabla muestra que la mejor
eleccin siempre es el mismo tipo de datos en lugar de elegir la promocin a
otro tipo de datos.
Tabla 5. Tabla de prioridades de tipos de datos
Tipo de datos Lista de prioridad de tipos de datos (por orden de mejor a peor)
CHAR CHAR, VARCHAR, LONG VARCHAR, CLOB
VARCHAR VARCHAR, LONG VARCHAR, CLOB
LONG LONG VARCHAR, CLOB
VARCHAR
GRAPHIC GRAPHIC, VARGRAPHIC, LONG VARGRAPHIC, DBCLOB
VARGRAPHIC VARGRAPHIC, LONG VARGRAPHIC, DBCLOB
LONG LONG VARGRAPHIC, DBCLOB
VARGRAPHIC
BLOB BLOB
CLOB CLOB
DBCLOB DBCLOB
SMALLINT SMALLINT, INTEGER, BIGINT, decimal, real, double
INTEGER INTEGER, BIGINT, decimal, real, double
BIGINT BIGINT, decimal, real, double
la pgina 695), los tipos de datos de los parmetros de la funcin fuente deben
poder convertirse a los tipos de datos de la funcin que se est creando.
Asignaciones y comparaciones
Las operaciones bsicas de SQL son la asignacin y la comparacin. Las
operaciones de asignacin se llevan a cabo durante la ejecucin de las
sentencias de variables de transicin INSERT, UPDATE, FETCH, SELECT
INTO, VALUES INTO y SET. Los argumentos de las funciones tambin se
asignan cuando se invoca una funcin. Las operaciones de comparacin se
realizan durante la ejecucin de las sentencias que incluyen predicados y otros
elementos del lenguaje como, por ejemplo, MAX, MIN, DISTINCT, GROUP
BY y ORDER BY.
La regla bsica para las dos operaciones es que el tipo de datos de los
operandos implicados debe ser compatible. La regla de compatibilidad
tambin se aplica a las operaciones de conjuntos (vea Reglas para los tipos
de datos del resultado en la pgina 120). La matriz de compatibilidad es la
siguiente.
Tabla 7. Compatibilidad de tipos de datos para asignaciones y comparaciones
Operandos Entero Nmero Coma Serie de Serie Fecha Hora Indica- Serie UDT
binario decimal flotante caracteres grfica cin binaria
de la
hora
2
Entero S S S No No No No No No
binario
2
Nmero S S S No No No No No No
decimal
2
Coma S S S No No No No No No
flotante
1 1 1 3 2
Serie de No No No S No No
caracteres
2
Serie No No No No S No No No No
grfica
1 2
Fecha No No No No S No No No
1 2
Hora No No No No No S No No
1 2
Indicacin No No No No No No S No
de la hora
3 2
Serie No No No No No No No No S
binaria
2 2 2 2 2 2 2 2 2
UDT S
De decimal a decimal
Cuando se asigna un nmero decimal a una columna o variable decimal, el
nmero se convierte, si es necesario, a la precisin y la escala del destino. Se
aade o elimina el nmero necesario de ceros iniciales y, en la fraccin del
nmero, se aaden los ceros de cola necesarios o se eliminan los dgitos de
cola necesarios.
De entero a decimal
Cuando se asigna un entero a una columna o variable decimal, primero el
nmero se convierte a un nmero decimal temporal y, despus, si es
necesario, a la precisin y escala del destino. La precisin y escala del nmero
decimal temporal es de 5,0 para un entero pequeo, 11,0 para un entero
grande o 19,0 para un entero superior.
Asignacin de almacenamiento
La regla bsica es que la longitud de la serie asignada a una columna o a un
parmetro de funcin no debe ser mayor que el atributo de longitud de la
Asignacin de recuperacin
La longitud de una serie asignada a una variable del lenguaje principal puede
ser mayor que el atributo de longitud de la variable del lenguaje principal.
Cuando una serie se asigna a una variable del lenguaje principal y la longitud
de la serie es mayor que la longitud del atributo de longitud de la variable, la
serie se trunca por la derecha el nmero necesario de caracteres (o bytes).
Cuando ocurre esto, se devuelve un aviso (SQLSTATE 01004) y se asigna el
valor W al campo SQLWARN1 de la SQLCA.
11. Cuando acta como un servidor de aplicaciones DRDA, las variables del lenguaje principal se convierten a la
pgina de cdigos del servidor de aplicaciones, incluso si se estn asignando, comparando o combinando con una
columna FOR BIT DATA. Si la SQLDA se ha modificado para identificar la variable del lenguaje principal de
entrada como FOR BIT DATA, no se lleva a cabo la conversin.
Cuando el destino es una variable del lenguaje principal, se aplican las reglas
siguientes:
v Para DATE: Si la longitud de la variable es menor que 10 bytes, se produce
un error.
v Para TIME: Si se utiliza el formato USA, la longitud de la variable no debe
ser menor de 8; en otros formatos la longitud no debe ser menor que 5.
12. Puede que sea necesario acceder al servidor de archivos para determinar el nombre de prefijo asociado con una
va de acceso. Se puede cambiar en el servidor de archivos cuando se mueva el punto de montaje de un sistema
de archivos. El primer acceso a un archivo de un servidor causar que se recuperen los valores necesarios del
servidor de archivos y se coloquen en la antememoria del servidor de bases de datos para la subsiguiente
recuperacin de valores DATALINK de este servidor de archivos. Se devuelve un error si no se puede acceder al
servidor de archivos (SQLSTATE 57050).
La asignacin a variables del lenguaje principal tiene lugar sobre la base del
tipo de representacin del tipo de referencia. Es decir, sigue la regla:
v Un valor de un tipo de referencia del lado derecho de una asignacin
puede asignarse a una variable del lenguaje principal del lado izquierdo si
y slo si el tipo de representacin de este tipo de referencia puede asignarse
a esta variable del lenguaje principal.
Dos nmeros de coma flotante slo son iguales si las configuraciones de bits
de sus formatos normalizados son idnticos.
Comparaciones de series
Las series de caracteres se comparan de acuerdo con el orden de clasificacin
especificado cuando se ha creado la base de datos, excepto aquellos con el
atributo FOR BIT DATA que siempre se comparan de acuerdo con sus valores
de bits.
Las series de caracteres (excepto las series de caracteres con el distintivo FOR
BIT DATA) se comparan de acuerdo con el orden de clasificacin especificado
cuando se ha creado la base de datos (consulte el manual Administration Guide
para obtener ms informacin acerca de los rdenes de clasificacin
especificados en el momento de la creacin de la base de datos). Por ejemplo,
el orden de clasificacin por omisin suministrado por el gestor de bases de
datos puede dar el mismo peso a versiones en minsculas y en maysculas
del mismo carcter. El gestor de bases de datos realiza una comparacin en
dos pasos para asegurarse de que slo se consideran iguales las series
idnticas. En el primer paso, las series se comparan de acuerdo con el orden
de clasificacin de la base de datos. Si los pesos de los caracteres de las series
son iguales, se realiza un segundo paso de desempate para comparar las
series en base a sus valores de elemento de cdigo real.
Dos series son iguales si las dos estn vacas o si todos los bytes
correspondientes son iguales. Si cualquier operando es nulo, el resultado es
desconocido.
Ejemplos:
Ahora considere cuatro caracteres DBCS D1, D2, D3 y D4 con los elementos
de cdigo 0xC141, 0xC161, 0xE141 y 0xE161, respectivamente. Si estos
caracteres DBCS estn en columnas CHAR, se clasifican como una secuencia
de bytes segn los pesos de clasificacin de estos bytes. Los primeros bytes
tienen pesos de 138 y 139, por consiguiente D3 y D4 vienen antes que D2 y
D1; los segundos bytes tienen pesos de 135 y 136. Por consiguiente, el orden
es el siguiente:
D4 < D3 < D2 < D1
Sin embargo, si los valores que se comparan tienen el atributo FOR BIT DATA
o si estos caracteres DBCS se guardaron en una columna GRAPHIC, los pesos
de clasificacin no se tienen en cuenta y los caracteres se comparan de
acuerdo con los elementos de cdigo del modo siguiente:
A < a < <
Los caracteres DBCS de las columnas CHAR se clasifican como una secuencia
de bytes, de acuerdo con sus pesos (primer pase) y luego de acuerdo con los
elementos de cdigo para romper el empate (segundo pase). Los primeros
bytes tienen pesos iguales, por lo tanto los elementos de cdigo (0xC1 y 0xE1)
rompen el empate. Por consiguiente, los caracteres D1 y D2 se clasifican antes
que los caracteres D3 y D4. A continuacin, se comparan los segundos bytes
de una forma similar y el resultado es el siguiente:
D1 < D2 < D3 < D4
Una vez ms, si los datos de las columnas CHAR tienen el atributo FOR BIT
DATA o si los caracteres DBCS se guardan en una columna GRAPHIC, los
pesos de clasificacin no se tienen en cuenta y se comparan los caracteres de
acuerdo con los elementos de cdigo:
D1 < D2 < D3 < D4
Para este ejemplo en concreto, el resultado parece ser el mismo que cuando se
utilizaron los pesos de clasificacin, pero obviamente, ste no siempre es el
caso.
Las series de caracteres mixtas se comparan byte a byte. Esto puede provocar
resultados anmalos para los caracteres de mltiples bytes que aparezcan en
series mixtas, porque cada byte se toma en cuenta independientemente.
Ejemplo:
y
'AB' < 'AA' < 'Aa' < 'Ab' < 'aB' < 'aA' < 'aa' < 'ab'
Las comparaciones de series grficas son vlidas entre todos los tipos de datos
de series grficas excepto LONG VARGRAPHIC. Los tipos de datos LONG
VARGRAPHIC y DBCLOB no estn permitidos en una operacin de
comparacin.
y
'AA' < 'AB' < 'Aa' < 'Ab' < 'aA' < 'aB' < 'aa' < 'ab'
Dos valores grficos son iguales si los dos estn vacos o si todos los grficos
correspondientes son iguales. Si cualquier operando es nulo, el resultado es
desconocido. Si dos valores no son iguales, su relacin se determina por una
simple comparacin de series binarias.
Tal como se indica en esta seccin, la comparacin de series byte a byte puede
producir resultados inslitos; es decir, un resultado que difiere de lo que se
espera en una comparacin carcter a carcter. Los ejemplos que se muestran
suponen que se utiliza la misma pgina de cdigos MBCS, sin embargo, la
situacin puede complicarse ms cuando se utilizan distintas pginas de
cdigos de mltiples bytes con el mismo idioma nacional. Por ejemplo,
Ejemplo:
TIMESTAMP('1990-02-23-00.00.00') > '1990-02-22-24.00.00'
Ejemplo:
Estas reglas se aplican, sujetas a otras restricciones, sobre series largas para las
distintas operaciones.
El primer par da como resultado un tipo CHAR(4). Los valores del resultado
siempre tienen 4 caracteres. El tipo resultante final es VARCHAR(4). Los
valores del resultado de la primera operacin UNION siempre tendrn una
longitud de 4.
Series de caracteres
Las series de caracteres son compatibles con otras series de caracteres. Las
series de caracteres incluyen los tipos CHAR, VARCHAR, LONG VARCHAR
y CLOB.
Si un operando es... Y el otro operando es... El tipo de datos del resultado es...
CHAR(x) CHAR(y) CHAR(z) donde z = max(x,y)
CHAR(x) VARCHAR(y) VARCHAR(z) donde z = max(x,y)
VARCHAR(x) CHAR(y) o VARCHAR(z) donde z = max(x,y)
VARCHAR(y)
LONG VARCHAR CHAR(y), LONG VARCHAR
VARCHAR(y) o LONG
VARCHAR
CLOB(x) CHAR(y), CLOB(z) donde z = max(x,y)
VARCHAR(y) o
CLOB(y)
CLOB(x) LONG VARCHAR CLOB(z) donde z = max(x,32700)
Series grficas
Las series grficas son compatibles con otras series grficas. Las series grficas
incluyen los tipos de datos GRAPHIC, VARGRAPHIC, LONG VARGRAPHIC
y DBCLOB.
Si un operando es... Y el otro operando es... El tipo de datos del resultado es...
GRAPHIC(x) GRAPHIC(y) GRAPHIC(z) donde z = max(x,y)
VARGRAPHIC(x) GRAPHIC(y) o VARGRAPHIC(z) donde z =
VARGRAPHIC(y) max(x,y)
LONG VARGRAPHIC GRAPHIC(y), LONG VARGRAPHIC
VARGRAPHIC(y) o
LONG VARGRAPHIC
DBCLOB(x) GRAPHIC(y), DBCLOB(z) donde z = max (x,y)
VARGRAPHIC(y) o
DBCLOB(y)
DBCLOB(x) LONG VARGRAPHIC DBCLOB(z) donde z = max
(x,16350)
Si un operando es... Y el otro operando es... El tipo de datos del resultado es...
SMALLINT SMALLINT SMALLINT
INTEGER INTEGER INTEGER
INTEGER SMALLINT INTEGER
BIGINT BIGINT BIGINT
BIGINT INTEGER BIGINT
BIGINT SMALLINT BIGINT
DECIMAL(w,x) SMALLINT DECIMAL(p,x) donde
p = x+max(w-x,5)1
Si un operando es... Y el otro operando es... El tipo de datos del resultado es...
DECIMAL(w,x) INTEGER DECIMAL(p,x) donde
p = x+max(w-x,11)1
DECIMAL(w,x) BIGINT DECIMAL(p,x) donde
p = x+max(w-x,19)1
DECIMAL(w,x) DECIMAL(y,z) DECIMAL(p,s) donde
p = max(x,z)+max(w-x,y-z)1s
= max(x,z)
REAL REAL REAL
REAL DECIMAL, BIGINT, DOUBLE
INTEGER o SMALLINT
DOUBLE cualquier tipo numrico DOUBLE
Nota: 1. La precisin no puede exceder de 31.
DATE
Una fecha es compatible con otra fecha o con cualquier expresin CHAR o
VARCHAR que contiene una representacin de serie vlida de una fecha. El
tipo de datos del resultado es DATE.
TIME
Una hora es compatible con otra hora o con cualquier expresin CHAR o
VARCHAR que contenta una representacin de serie vlida de una hora. El
tipo de datos del resultado es TIME.
TIMESTAMP
Una indicacin de la hora es compatible con otra indicacin de la hora o con
cualquier expresin CHAR o VARCHAR que contenga una representacin de
serie vlida de una indicacin de la hora. El tipo de datos del resultado es
TIMESTAMP.
DATALINK
Un enlace de datos es compatible con otro enlace de datos. El tipo de datos
del resultado es DATALINK. La longitud del resultado DATALINK es la
longitud mayor de todos los tipos de datos.
Tipos definidos por el usuario
Tipos diferenciados
Un tipo diferenciado definido por el usuario slo es compatible con el mismo
tipo diferenciado definido por el usuario. El tipo de datos del resultado es el
tipo diferenciado definido por el usuario.
Tipos de referencia
Un tipo de referencia es compatible con otro tipo de referencia en el caso de
que sus tipos de destino tengan un supertipo comn. El tipo de datos del
Tipos estructurados
Un tipo estructurado es compatible con otro tipo de estructurado siempre
tengan un supertipo comn. El tipo de datos esttico de la columna del tipo
estructurado resultante es el tipo estructurado que es el supertipo menos
comn de cualquiera de las dos columnas.
Los tipos estructurados del tipo esttico E y F son compatibles con el tipo
esttico resultante de B, que es el supertipo menos comn de E y F.
Atributo de posibilidad de nulo del resultado
A excepcin de INTERSECT y EXCEPT, el resultado permite nulos a menos
que ambos operandos no permitan nulos.
v Para INTERSECT, si cualquier operando no permite nulos, el resultado no
permite nulos (la interseccin nunca sera nula).
v Para EXCEPT, si el primer operando no permite nulos, el resultado no
permite nulos (el resultado slo puede ser valores del primer operando).
Se considera que las columnas de vista tienen el tipo de operando del objeto
en el que estn basadas en ltima instancia. Por ejemplo, una columna de
vista definida en una columna de tabla se considera un valor de columna,
mientras que una columna de vista basada en una expresin de serie (por
ejemplo, A CONCAT B) se considera un valor derivado.
Ejemplos
Constantes
Una constante (a veces llamada un literal) especifica un valor. Las constantes se
clasifican en constantes de tipo serie y constantes numricas. Las constantes
numricas pueden, a su vez, ser constantes enteras, de coma flotante y
decimales.
Ejemplos
64 -15 +100 32767 720176 12345678901
Ejemplos
15E1 2,E5 2,2E-1 +5,E+2
Constantes decimales
Una constante decimal es un nmero con o sin signo de 31 dgitos de longitud
como mximo y que incluye una coma decimal o no est comprendido dentro
del rango de enteros binarios. Debe encontrarse en el rango de nmeros
decimales. La precisin es el nmero total de dgitos (incluyendo los ceros
iniciales y de cola); la escala es el nmero de dgitos situados a la derecha de
la coma decimal (incluyendo los ceros de cola).
Ejemplos
25,5 1000, -15, +37589,3333333333
Ejemplos
'14/12/1985'
'32'
'DON''T CHANGE'
Ejemplos
X'FFFF' representa el patrn de bits '1111111111111111'
Ejemplos:
G'serie de caracteres de doble byte'
N'serie de caracteres de doble byte'
Registros especiales
Un registro especial es un rea de almacenamiento que un gestor de bases de
datos define para un proceso de aplicacin y que sirve para almacenar
informacin a la que se puede hacer referencia en sentencias de SQL. Los
registros especiales se encuentran en la pgina de cdigos de la base de datos.
CLIENT ACCTNG
El registro especial CLIENT ACCTNG contiene el valor de la serie de
contabilidad de la informacin de cliente especificada para esta conexin. El
tipo de datos del registro es VARCHAR(255). El valor por omisin de este
registro es una serie vaca.
Ejemplo
Obtenga el valor actual de la serie de contabilidad para esta conexin.
VALUES (CLIENT ACCTNG)
INTO :ACCT_STRING
CLIENT APPLNAME
El registro especial CLIENT APPLNAME contiene el valor del nombre de
aplicacin de la informacin de cliente especificada para esta conexin. El tipo
de datos del registro es VARCHAR(255). El valor por omisin de este registro
es una serie vaca.
Ejemplo
Seleccione los departamentos a los que se les permite utilizar la aplicacin que
se est usando en esta conexin.
SELECT DEPT
FROM DEPT_APPL_MAP
WHERE APPL_NAME = CLIENT APPLNAME
CLIENT USERID
El registro especial CLIENT USERID contiene el valor del ID de usuario de
cliente de la informacin de cliente especificada para esta conexin. El tipo de
datos del registro es VARCHAR(255). El valor por omisin de este registro es
una serie vaca.
Ejemplo
Averige en qu departamento funciona el ID de usuario de cliente actual.
SELECT DEPT
FROM DEPT_USERID_MAP
WHERE USER_ID = CLIENT USERID
CLIENT WRKSTNNAME
El registro especial CLIENT WRKSTNNAME contiene el valor del nombre de
estacin de trabajo de la informacin de cliente especificada para esta
conexin. El tipo de datos del registro es VARCHAR(255). El valor por
omisin de este registro es una serie vaca.
Ejemplo
Obtenga el nombre de estacin de trabajo que se est utilizando para esta
conexin.
VALUES (CLIENT WRKSTNNAME)
INTO :WS_NAME
CURRENT DATE
El registro especial CURRENT DATE especifica una fecha basada en la lectura
del reloj cuando se ejecuta una sentencia de SQL en el servidor de aplicacin.
Si este registro especial se utiliza ms de una vez en la misma sentencia de
SQL o bien con CURRENT TIME o CURRENT TIMESTAMP en una sola
sentencia, todos los valores se basan en la misma lectura del reloj.
Ejemplo
Utilizando la tablas PROJECT, establezca la fecha final del proyecto
(PRENDATE) del proyecto MA2111 (PROJNO) en la fecha actual.
UPDATE PROJECT
SET PRENDATE = CURRENT DATE
WHERE PROJNO = 'MA2111'
En un sentencia de SQL dinmica (es decir, una sentencia que interacciona con
variables del lenguaje principal). el nombre del grupo de transformacin
utilizado para intercambiar valores es el mismo que el nombre de este registro
especial, a menos que el registro contenga la serie vaca. Si el registro contiene
la serie vaca (no se ha definido ningn valor utilizando la sentencia SET
CURRENT DEFAULT TRANSFORM GROUP), se utiliza el grupo de
transformacin DB2_PROGRAM para la transformacin. Si el grupo de
transformacin DB2_PROGRAM no est definido para el tipo estructurado
indicado, se emite un error durante la ejecucin (SQLSTATE 42741).
Ejemplo
Establezca el grupo de transformacin por omisin en MYSTRUCT1. Las
funciones TO SQL y FROM SQL definidas en la transformacin MYSTRUCT1
CURRENT DEGREE
El registro especial CURRENT DEGREE especifica los grados de paralelismo
intraparticin para la ejecucin de sentencias de SQL dinmicas. 13 El tipo de
datos del registro es CHAR(5). Los valores vlidos son ANY o la
representacin de serie de un entero entre 1 y 32 767, inclusive.
13. En el caso de SQL esttico, la opcin de enlace lgico DEGREE proporciona el mismo control.
14. En el caso del SQL esttico, la opcin de enlace de EXPLAIN proporciona el mismo control. En el caso de los
mandatos PREP y BIND, los valores de la opcin EXPLAIN son: YES, NO y ALL.
15. En el caso del SQL esttico, la opcin de enlace lgico EXPLSNAP proporciona el mismo control. En el caso de los
mandatos PREP y BIND, los valores de la opcin EXPLSNAP son: YES, NO y ALL.
Ejemplo
Establezca la variable del lenguaje principal EXPL_SNAP (char(8)) en el valor
que contiene actualmente el registro especial CURRENT EXPLAIN
SNAPSHOT.
VALUES CURRENT EXPLAIN SNAPSHOT
INTO :EXPL_SNAP
CURRENT NODE
El registro especial CURRENT NODE especifica un valor INTEGER que
identifica el nmero de nodo coordinador (la particin a la que se conecta la
aplicacin).
Ejemplo
Establezca la variable del lenguaje principal APPL_NODE (entero) en el
nmero de la particin a la que est conectada la aplicacin.
VALUES CURRENT NODE
INTO :APPL_NODE
CURRENT PATH
El registro especial CURRENT PATH especifica un valor VARCHAR(254) que
identifica la va de acceso de SQL que se ha de utilizar para resolver las
referencias de funciones y las referencias de tipos de datos que se utilizan en
sentencias de SQL preparadas dinmicamente.17 CURRENT PATH tambin se
utiliza para resolver las referencias de procedimientos almacenados en
sentencias CALL. El valor inicial es el valor por omisin que se especifica ms
abajo. Para el SQL esttico, la opcin de enlace lgico FUNCPATH
proporciona una va de acceso de SQL que sirve para la resolucin de
funciones y tipos de datos (consulte la publicacin Consulta de mandatos para
obtener ms informacin sobre la opcin de enlace FUNCPATH).
16. En las bases de datos particionadas, existe el archivo db2nodes.cfg y contiene definiciones de particiones (o
nodos). Para obtener detalles consulte el manual Administration Guide.
17. CURRENT FUNCTION PATH es sinnimo de CURRENT PATH.
El registro especial CURRENT PATH contiene una lista con uno o varios
nombres de esquemas, donde stos aparecen delimitados entre comillas y
separados por comas (las comillas dentro de la serie se repiten como se hara
con cualquier identificador delimitado).
Por ejemplo, una va de acceso de SQL que especifica que el gestor de bases
de datos primero debe mirar en el esquema FERMAT, luego en XGRAPHIC y
por ltimo en SYSIBM se devuelve en el registro especial CURRENT PATH de
la siguiente manera:
"FERMAT","XGRAPHIC","SYSIBM"
Ejemplo
Utilizando la vista de catlogo SYSCAT.VIEWS, encuentre todas las vistas que
se hayan creado exactamente con el mismo valor que el que tiene actualmente
el registro especial CURRENT PATH.
SELECT VIEWNAME, VIEWSCHEMA FROM SYSCAT.VIEWS
WHERE FUNC_PATH = CURRENT PATH
Ejemplo
Utilizando la vista de catlogo SYSCAT.PACKAGES, busque todos los planes
que se han enlazado con el mismo valor que el valor actual del registro
especial CURRENT QUERY OPTIMIZATION.
SELECT PKGNAME, PKGSCHEMA FROM SYSCAT.PACKAGES
WHERE QUERYOPT = CURRENT QUERY OPTIMIZATION
18. Para que exista compatibilidad con DB2 para OS/390, el registro especial CURRENT SQLID se trata como
sinnimo de CURRENT SCHEMA.
Ejemplo
Establezca el esquema para la calificacin de objetos en D123.
SET CURRENT SCHEMA = 'D123'
CURRENT SERVER
El registro especial CURRENT SERVER especifica un valor VARCHAR(18) que
identifica el servidor de aplicaciones actual. El nombre real del servidor de
aplicaciones (no un seudnimo) est contenido en el registro.
Ejemplo
Establezca la variable del lenguaje principal APPL_SERVE (VARCHAR(18)) en
el nombre del servidor de aplicaciones al que est conectada la aplicacin.
VALUES CURRENT SERVER
INTO :APPL_SERVE
CURRENT TIME
El registro especial CURRENT TIME especifica una hora basada en la lectura
de un reloj cuando la sentencia de SQL se ejecuta en el servidor de
aplicaciones. Si este registro especial se utiliza ms de una vez en la misma
sentencia de SQL o bien con CURRENT DATE o CURRENT TIMESTAMP en
una sola sentencia, todos los valores se basan en la misma lectura del reloj.
Ejemplo
Utilizando la tabla CL_SCHED, seleccione todas las clases (CLASS_CODE)
que empiezan (STARTING) ms tarde hoy. Las clases de hoy tienen un valor 3
en la columna DAY.
SELECT CLASS_CODE FROM CL_SCHED
WHERE STARTING > CURRENT TIME AND DAY = 3
CURRENT TIMESTAMP
El registro especial CURRENT TIMESTAMP especifica una indicacin de la
hora basada en la lectura de un reloj cuando la sentencia de SQL se ejecuta en
el servidor de aplicaciones. Si este registro especial se utiliza ms de una vez
en la misma sentencia de SQL o bien con CURRENT DATE o CURRENT
TIME en una sola sentencia, todos los valores se basan en la misma lectura
del reloj.
Ejemplo
Inserte una fila en la tabla IN_TRAY. El valor de la columna RECEIVED
mostrar la indicacin de la hora en la que se ha aadido la fila. Los valores
de las otras tres columnas se obtienen de las variables del lenguaje principal
SRC (char(8)), SUB (char(64)) y TXT (VARCHAR(200)).
INSERT INTO IN_TRAY
VALUES (CURRENT TIMESTAMP, :SRC, :SUB, :TXT)
CURRENT TIMEZONE
El registro especial CURRENT TIMEZONE especifica la diferencia entre UTC19
y la hora local en el servidor de aplicaciones. La diferencia se representa por
un perodo de tiempo (un nmero decimal cuyos dos primeros dgitos
corresponden a las horas, los dos siguientes a los minutos y los dos ltimos a
los segundos). El nmero de horas est entre -24 y 24, exclusive. Al restar
CURRENT TIMEZONE de la hora local se convierte esa hora a UTC. La hora
se calcula a partir de la hora del sistema operativo en el momento en que se
ejecuta la sentencia de SQL. 20
Ejemplo
Inserte un registro en la tabla IN_TRAY utilizando una indicacin de la hora
UTC para la columna RECEIVED.
USER
El registro especial USER especifica el ID de autorizacin de tiempo de
ejecucin que se pasa al gestor de bases de datos cuando se inicia una
aplicacin en una base de datos. El tipo de datos del registro es
VARCHAR(128).
Ejemplo
Seleccione todas las notas de la tabla IN_TRAY colocadas por el propio usuario.
SELECT * FROM IN_TRAY
WHERE SOURCE = USER
Nombres de columna
El significado de un nombre de columna depende de su contexto. Un nombre de
columna sirve para:
v Declarar el nombre de una columna como, por ejemplo, en una sentencia
CREATE TABLE.
v Identificar una columna como, por ejemplo, en una sentencia CREATE
INDEX.
v Especificar los valores de la columna como, por ejemplo, en los contextos
siguientes:
En una funcin de columna, un nombre de columna especifica todos los
valores de la columna en la tabla de resultado intermedia o de grupo a
los que se aplica la funcin. (Las tablas de resultado intermedias y de
grupo se explican en el Captulo 5. Consultas en la pgina 471.) Por
ejemplo, MAX(SALARY) aplica la funcin MAX a todos los valores de la
columna SALARY de un grupo.
En una clusula GROUP BY o ORDER BY, un nombre de columna
especifica todos los valores de la tabla de resultado intermedia a los que
se aplica la clusula. Por ejemplo, ORDER BY DEPT ordena una tabla de
resultado intermedia segn los valores de la columna DEPT.
En una expresin, una condicin de bsqueda o una funcin escalar, un
nombre de columna especifica un valor para cada fila o grupo al que se
aplica la construccin. Por ejemplo, cuando la condicin de bsqueda
CODE = 20 se aplica a alguna fila, el valor especificado por el nombre de
columna CODE es el valor de la columna CODE en esa fila.
v Redenominar temporalmente una columna, como en la clusula-correlacin
de una referencia-tabla en una clusula FROM.
Ejemplo
FROM EMPLOYEE E
WHERE EMPLOYEE.PROJECT='ABC' * incorrecto*
Las dos primeras clusulas FROM mostradas ms abajo son correctas, porque
cada una no contiene ms de una referencia a EMPLOYEE que est expuesta:
1. Dada una clusula FROM:
FROM EMPLOYEE E1, EMPLOYEE
Designadores de tabla
Un calificador que designa una tabla de objeto especfica se conoce como
designador de tabla. La clusula que identifica las tablas de objetos tambin
establece los designadores de tabla para ellas. Por ejemplo, las tablas de
objetos de una expresin en una clusula SELECT se nombran en la clusula
FROM que la sigue:
SELECT CORZ.COLA, OWNY.MYTABLE.COLA
FROM OWNX.MYTABLE CORZ, OWNY.MYTABLE
Debido a que una misma tabla, vista o apodo pueden estar identificados en
muchos niveles, se recomienda utilizar nombres de correlacin exclusivos
como designadores de tabla. Si se utiliza T para designar una tabla en ms de
un nivel (T es el propio nombre de tabla o es un nombre de correlacin
duplicado), T.C hace referencia al nivel donde se utiliza T que contiene de
forma ms directa la subconsulta que incluye T.C. Si es necesario un nivel de
correlacin superior, debe utilizarse un nombre de correlacin exclusivo.
Una variable del lenguaje principal en una sentencia de SQL debe identificar
una variable del lenguaje principal descrita en el programa segn las normas
para la declaracin de variables del lenguaje principal.
Todas las variables del lenguaje principal utilizadas en una sentencia de SQL
deben estar declaradas en una seccin DECLARE del SQL en todos los
lenguajes principales excepto en REXX (consulte el manual Application
Development Guide para obtener ms informacin acerca de la declaracin de
variables del lenguaje principal para sentencias de SQL de programas de
aplicacin). No se debe declarar ninguna variable fuera de una seccin
DECLARE del SQL con nombres que sean idnticos a variables declaradas en
una seccin DECLARE del SQL. Una seccin DECLARE del SQL empieza por
BEGIN DECLARE SECTION y termina por END DECLARE SECTION.
Este ejemplo muestra una sentencia de SQL dinmica que utiliza marcadores
de parmetros:
INSERT INTO DEPARTMENT VALUES (?, ?, ?, ?)
21. Si se configura la base de datos con DFT_SQLMATHWARN en s (o lo es durante el enlace lgico de una
sentencia de SQL esttica), HV2 podra ser -2. Si HV2 es -2, no podra devolverse un valor para HV1 debido a un
error en la conversin al tipo numrico de HV1 o un error al evaluar una expresin aritmtica que se utiliza para
determinar el valor para HV1. Cuando se accede a una base de datos con una versin cliente anterior a DB2
Universal Database Versin 5, HV2 ser -1 para las excepciones aritmticas.
principal. En cuanto a las variables a las que la sentencia SELECT del cursor
hace referencia, esa regla se aplica ms a la sentencia OPEN que a la sentencia
DECLARE CURSOR.
Ejemplo
Utilizando la tabla PROJECT, asigne a la variable de lenguaje principal
PNAME (VARCHAR(26)) el nombre de proyecto (PROJNAME), a la variable
de lenguaje principal STAFF (dec(5,2)) el nivel principal de personal
(PRSTAFF) y a la variable de lenguaje principal MAJPROJ (char(6)) el
proyecto principal (MAJPROJ) para el proyecto (PROJNO) IF1000. Las
columnas PRSTAFF y MAJPROJ pueden contener valores nulos, por lo tanto
proporcione las variables indicadoras STAFF_IND (smallint) y MAJPROJ_IND
(smallint).
SELECT PROJNAME, PRSTAFF, MAJPROJ
INTO :PNAME, :STAFF :STAFF_IND, :MAJPROJ :MAJPROJ_IND
FROM PROJECT
WHERE PROJNO = 'IF1000'
Como sucede con el resto de variables del lenguaje principal, una variable de
referencia a archivos puede tener asociada una variable de indicador.
Al igual que en todas las dems variables de lenguaje principal, una variable
de tipo estructurado puede tener una variable indicadora asociada. Las
variables indicadoras correspondientes a las variables de lenguaje principal de
tipo estructurado actan de la misma manera que las variables indicadoras de
otros tipos de datos. Cuando una base de datos devuelve un valor nulo, se
define la variable indicadora y la variable de lenguaje principal de tipo
estructurado no cambia.
Ejemplo
Defina las variables de lenguaje principal hv_poly y hv_point (de tipo
POLYGON, utilizando el tipo interno BLOB(1048576)) en un programa C.
EXEC SQL BEGIN DECLARE SECTION;
SQL esttico
TYPE IS POLYGON AS BLOB(1M)
hv_poly, hv_point;
EXEC SQL END DECLARE SECTION;
Funciones
Una funcin de base de datos es una relacin entre un conjunto de valores de
datos de entrada y un conjunto de valores del resultado. Por ejemplo, se
pueden pasar a la funcin TIMESTAMP valores de datos de entrada del tipo
DATE y TIME; el resultado ser TIMESTAMP. Las funciones pueden ser
incorporadas o bien definidas por el usuario.
v Las funciones incorporadas se proporcionan con el gestor de bases de datos
proporcionando un solo valor del resultado y se identifican como parte del
esquema SYSIBM. Ejemplos de dichas funciones son las funciones de
columna como AVG, funciones de operador como +, funciones de
conversin como DECIMAL y otras como SUBSTR.
v Las funciones definidas por el usuario son funciones que estn registradas en
una base de datos de SYSCAT.FUNCTIONS (utilizando la sentencia
CREATE FUNCTION). Estas funciones nunca forman parte del esquema
SYSIBM. El gestor de bases de datos proporciona un conjunto de estas
funciones dentro de un esquema denominado SYSFUN.
Con las funciones definidas por el usuario, DB2 permite a los usuarios y a los
desarrolladores de aplicaciones ampliar la funcin del sistema de bases de
datos aadiendo definiciones de funciones proporcionadas por los usuarios u
otros proveedores para aplicar en la mquina de la base de datos en s. Esto
permite un mayor rendimiento que la recuperacin de filas de la base de
datos y la aplicacin de las funciones en los datos recuperados para calificar
con ms profundidad o para realizar una reduccin de datos. La ampliacin
de las funciones de la base de datos tambin permite que la base de datos
explote las mismas funciones en la mquina que las que utiliza una
aplicacin, proporciona ms sinergia entre la aplicacin y la base de datos y
contribuye a una mayor productividad para los desarrolladores de
aplicaciones porque est ms orientada a objetos.
Una funcin escalar es la que devuelve una respuesta de un solo valor cada
vez que se invoca. Por ejemplo, la funcin incorporada SUBSTR() es una
funcin escalar. Las UDF escalares pueden ser externas o derivadas.
Una funcin de fila es una funcin que devuelve una fila de valores. Se puede
utilizar slo como funcin de transformacin, que correlaciona valores de
atributos de un tipo estructurado con valores de una fila. Las funciones de fila
deben estar definidas como funciones de SQL.
Una funcin de tabla es una funcin que devuelve una tabla a la sentencia de
SQL donde se invoca la funcin. Slo se puede invocar la funcin en la
clusula FROM de una sentencia SELECT. Una funcin as puede utilizarse
para aplicar la potencia de proceso del lenguaje SQL a datos que no son de
DB2, o para convertir tales datos a una tabla DB2. Esta funcin podra, por
ejemplo, tomar un archivo y convertirlo en una tabla, tomar muestras de
datos de la Web y disponerlos en forma de tabla o acceder a una base de
datos Lotus Notes y devolver informacin sobre mensajes de correo, tal como
la fecha, el remitente y el texto del mensaje. Esta informacin puede unirse a
otras tablas de la base de datos. Una funcin de tabla se puede definir como
funcin externa o como funcin de SQL (una funcin de tabla no puede ser
una funcin derivada).
Signaturas de funcin
Una funcin se identifica por su esquema, un nombre de funcin el nmero
de parmetros y los tipos de datos de sus parmetros. Esto se denomina
signatura de funcin, que debe ser exclusiva en la base de datos. Varias
funciones pueden tener el mismo nombre dentro de un esquema, siempre que
el nmero de parmetros o bien los tipos de datos de los parmetros sean
diferentes. Un nombre de funcin para el que existen mltiples instancias de
funcin se llama funcin sobrecargada. Un nombre de funcin se puede
sobrecargar dentro de un esquema, lo que significa que hay ms de una
funcin (y, por consiguiente, diferentes tipos de parmetros) que tiene ese
nombre dentro del esquema. Un nombre de funcin tambin puede
sobrecargarse en una va de acceso de SQL, en cuyo caso hay ms de una
funcin con ese nombre en la va de acceso y dichas funciones no tienen
necesariamente tipos de parmetros diferentes.
Va de acceso de SQL
Una funcin se puede invocar haciendo referencia, dentro de un contexto
permitido, al nombre calificado (esquema y nombre de funcin) seguido por
la lista de argumentos, encerrados entre parntesis. Tambin se puede invocar
sin especificar el nombre del esquema obteniendo como resultado una serie de
posibles funciones de diferentes esquemas que tienen los mismos parmetros
o bien parmetros aceptables. En este caso, la va de acceso de SQL se utiliza
como ayuda en la resolucin de funcin. La va de acceso de SQL es una lista de
esquemas que se examinan para identificar una funcin con el mismo nombre,
Existen siete funciones ACT, en tres esquemas diferentes, registradas del modo
siguiente (observe que no aparecen todas las palabras clave necesarias):
CREATE FUNCTION AUGUSTUS.ACT (CHAR(5), INT, DOUBLE) SPECIFIC ACT_1 ...
CREATE FUNCTION AUGUSTUS.ACT (INT, INT, DOUBLE) SPECIFIC ACT_2 ...
CREATE FUNCTION AUGUSTUS.ACT (INT, INT, DOUBLE, INT) SPECIFIC ACT_3 ...
CREATE FUNCTION JULIUS.ACT (INT, DOUBLE, DOUBLE) SPECIFIC ACT_4 ...
CREATE FUNCTION JULIUS.ACT (INT, INT, DOUBLE) SPECIFIC ACT_5 ...
CREATE FUNCTION JULIUS.ACT (SMALLINT, INT, DOUBLE) SPECIFIC ACT_6 ...
CREATE FUNCTION NERO.ACT (INT, INT, DEC(7,2)) SPECIFIC ACT_7 ...
Suponga que la aplicacin que efecta esta referencia tiene una va de acceso
de SQL establecida como:
"JULIUS","AUGUSTUS","CAESAR"
Otros ejemplos en los que puede ocurrir esto son los siguientes, ambos darn
como resultado un error en la sentencia:
1. Se ha hecho referencia a la funcin en una clusula FROM, pero la funcin
seleccionada por el paso de resolucin de funcin ha sido una funcin
escalar ni de columna.
2. El caso contrario en el que el contexto llama a una funcin escalar o de
columna y la resolucin de funcin selecciona una funcin de tabla.
Mtodos
Un mtodo de base de datos de un tipo estructurado es una relacin entre un
conjunto de valores de datos de entrada y un conjunto de valores resultantes,
donde el primer valor de entrada (o argumento sujeto) tiene el mismo tipo, o es
un subtipo del tipo sujeto (tambin llamado parmetro sujeto) del mtodo. Por
ejemplo, un mtodo llamado CITY, de tipo ADDRESS, puede recibir valores
de datos de entrada de tipo VARCHAR y el resultado es un valor ADDRESS
(o un subtipo de ADDRESS).
Gracias a los mtodos definidos por el usuario, DB2 permite a los usuarios y
desarrolladores de aplicaciones ampliar la funcin del sistema de base de
datos. Esto se consigue aadiendo definiciones de mtodo, proporcionadas
por usuarios o proveedores, que se aplican a instancias de tipo estructurado
en el ncleo de la base de datos. Las definiciones de mtodo aadidas
proporcionan un mayor nivel de rendimiento, en comparacin con la
recuperacin de filas de la base de datos y la aplicacin de funciones sobre los
datos recuperados. El definir mtodos de base de datos tambin permite a la
base de datos explotar los mismos mtodos en el ncleo utilizado por una
aplicacin, lo que proporciona un mayor nivel de eficiencia en la interaccin
entre la aplicacin y la base de datos. Esto da como resultado una mayor
productividad para los desarrolladores de aplicaciones, pues es un enfoque
ms orientado a objetos.
Mtodos definidos por el usuario: externos y SQL
Un mtodo definido por el usuario puede ser externo o estar basado en una
expresin SQL. Un mtodo externo se define para la base de datos con una
referencia a una biblioteca de cdigos objeto y una funcin en dicha biblioteca
que se ejecutar cuando se invoque el mtodo. Un mtodo basado en una
Un mtodo definido por el usuario puede devolver un solo valor cada vez
que se invoca. Este valor puede ser un tipo estructurado. Un mtodo se puede
definir como preservador del tipo (utilizando SELF AS RESULT), para permitir
que el tipo dinmico del argumento sujeto sea el tipo devuelto del mtodo.
Todos los mtodos mutadores definidos implcitamente son preservadores del
tipo.
Signaturas de mtodo
Un mtodo se identifica por su tipo sujeto, un nombre de mtodo, el nmero
de parmetros y los tipos de datos de sus parmetros. Esto es la signatura del
mtodo y debe ser exclusiva dentro de la base de datos.
Resolucin de mtodos
Al invocar un mtodo, el gestor de bases de datos debe decidir cul de los
posibles mtodos con el mismo nombre es el ms apropiado. Las funciones
(incorporadas o definidas por el usuario) no se tienen en cuenta durante la
resolucin del mtodo.
Los mtodos con la misma jerarqua de tipos no pueden tener las mismas
signaturas, considerando los parmetros que no sean el parmetro sujeto.
Mtodo de eleccin de la mejor opcin
La comparacin de los tipos de datos de los argumentos con los tipos de
datos definidos de los parmetros del mtodo en cuestin es la base para
Existen siete mtodos FOO para tres tipos estructurados definidos en una
jerarqua de GOVERNOR como un subtipo de EMPEROR, como un subtipo
de HEADOFSTATE, registrados con signaturas:
CREATE METHOD FOO (CHAR(5), INT, DOUBLE) FOR HEADOFSTATE SPECIFIC FOO_1 ...
CREATE METHOD FOO (INT, INT, DOUBLE) FOR HEADOFSTATE SPECIFIC FOO_2 ...
CREATE METHOD FOO (INT, INT, DOUBLE, INT) FOR HEADOFSTATE SPECIFIC FOO_3 ...
CREATE METHOD FOO (INT, DOUBLE, DOUBLE) FOR EMPEROR SPECIFIC FOO_4 ...
CREATE METHOD FOO (INT, INT, DOUBLE) FOR EMPEROR SPECIFIC FOO_5 ...
CREATE METHOD FOO (SMALLINT, INT, DOUBLE) FOR EMPEROR SPECIFIC FOO_6 ...
CREATE METHOD FOO (INT, INT, DEC(7,2)) FOR GOVERNOR SPECIFIC FOO_7 ...
Cada mtodo est definido para devolver un resultado con un tipo de datos
especfico. Si este tipo de datos resultante no es compatible con el contexto
en este caso se elige el primer STEP, pues hay una coincidencia exacta del tipo
del argumento. Se produce un error en la sentencia, porque el tipo resultante
es CHAR(5) en lugar de un tipo numrico, tal como necesita un argumento
del operador de suma.
v rutinas SQL.
26. A partir de la Versin 6.1, las funciones incorporadas aadidas tienen una indicacin horaria basada en la hora en
la que se cre o migr la base de datos.
27. Para las vistas, el enlace conservador tambin asegura que las columnas de la vista sean las mismas que las
existentes cuando se cre la vista. Por ejemplo, una vista definida mediante el asterisco en la lista de seleccin no
tendr en cuenta ninguna columna aadida a las tablas subyacentes una vez se ha creado la vista.
Expresiones
Una expresin especifica un valor. Puede ser un valor simple, formado slo
por una constante o un nombre de columna, o puede ser ms complejo. Si se
utilizan repetidamente expresiones similares complejas, debe considerarse la
posibilidad de utilizar una funcin SQL para encapsular una expresin
comn. Vea CREATE FUNCTION (SQL, escalar, de tabla o de fila) en la
pgina 761 para obtener ms informacin.
expresin:
operador
funcin
+ (expresin)
constante
nombre-columna
variable-lengprinc
registro-especial
(1)
(seleccincompleta-escalar)
(2)
duracin-etiquetada
(3)
expresin-case
(4)
especificacin-cast
(5)
operacin-desreferencia
(6)
funcin-OLAP
(7)
invocacin-mtodo
(8)
tratamiento-subtipo
(9)
referencia-secuencia
operador:
(10)
CONCAT
/
*
+
Notas:
1 Vea Seleccin completa escalar en la pgina 184 para obtener ms
informacin.
2 Vea Duraciones etiquetadas en la pgina 184 para obtener ms
informacin.
3 Vea Expresiones CASE en la pgina 190 para obtener ms informacin.
4 Vea Especificaciones CAST en la pgina 193 para obtener ms
informacin.
5 Vea Operaciones de desreferencia en la pgina 196 para obtener ms
informacin.
6 Vea Funciones OLAP en la pgina 197 para obtener ms informacin.
7 Vea Invocacin de mtodos en la pgina 204 para obtener ms
informacin.
8 Vea Tratamiento de los subtipos en la pgina 206 para obtener ms
informacin.
9 Vea Referencia de secuencia en la pgina 207 para obtener ms
informacin
10 || se utiliza como sinnimo de CONCAT.
Sin operadores
Si no se utilizan operadores, el resultado de la expresin es el valor
especificado.
Si ambos operandos pueden ser nulos, el resultado tambin podr ser nulo; si
alguno de ellos es nulo, el resultado es el valor nulo. De lo contrario, el
resultado constar de la serie del primer operando seguida por la del
segundo. La comprobacin se efecta para detectar los datos mixtos formados
defectuosamente al realizar la concatenacin.
Observe que, para que haya compatibilidad con las versiones anteriores, no
hay escalada automtica de los resultados que implica tipos de datos LONG a
los tipos de datos LOB. Por ejemplo, la concatenacin de un valor CHAR(200)
y un valor LONG VARCHAR totalmente completo da como resultado un
error en lugar de una promocin de un tipo de datos CLOB.
Ejemplo 2: Dado:
v COLA definido como VARCHAR(5) con valor 'AA'
v :host_var definida como una variable del lenguaje principal con una
longitud 5 y el valor 'BB '
El valor de: COLA CONCAT :host_var CONCAT COLC CONCAT COLD es:
'AABB CC DDDDD'
Ejemplo 3: Dado:
COLA se define como CHAR(10)
COLB se define como VARCHAR(5)
Si cualquier operando puede ser nulo o la base de datos est configurada con
DFT_SQLMATHWARN establecido en s,el resultado puede ser nulo.
Errores aritmticos
Si se produce un error aritmtico como, por ejemplo, una divisin por cero o
se produce un desbordamiento numrico durante el proceso de una expresin,
se devuelve un error y la sentencia de SQL que procesa la expresin falla con
un error (SQLSTATE 22003 22012).
v aadir una expresin case para comprobar la divisin por cero y establecer
el valor deseado para dicha situacin
v aadir predicados adicionales para manejar los nulos (por ejemplo, una
restriccin de comprobacin en columnas sin posibilidad de nulos dara:
check (c1*c2 is not null and c1*c2>5000)
El resultado de una operacin decimal no debe tener una precisin mayor que
31. El resultado de una suma, resta y multiplicacin decimal se obtiene de un
resultado temporal que puede tener una precisin mayor que 31. Si la
precisin del resultado temporal no es mayor que 31, el resultado final es el
mismo que el resultado temporal.
Aritmtica decimal en SQL
Las frmulas siguientes definen la precisin y escala del resultado de
operaciones decimales en SQL. Los smbolos p y s indican la precisin y la
escala del primer operando y los smbolos p' y s' indican y la precisin y la
escala del segundo operando.
Suma y resta
La precisin es min(31,max(p-s,p-s) +max(s,s)+1). La escala del resultado de
una suma o una resta es max (s,s).
Multiplicacin
La precisin del resultado de una multiplicacin es min (31,p+p) y la escala es
min(31,s+s).
Divisin
La precisin del resultado de la divisin es 31. La escala es 31-p+ s-s'. La
escala no debe ser negativa.
Duraciones etiquetadas
duracin-etiquetada:
funcin YEAR
(expresin) YEARS
constante MONTH
nombre-columna MONTHS
variable-lengprinc DAY
DAYS
HOUR
HOURS
MINUTE
MINUTES
SECOND
SECONDS
MICROSECOND
MICROSECONDS
28. Tenga en cuenta que tambin se acepta la forma singular de estas palabras clave: YEAR, MONTH, DAY, HOUR,
MINUTE, SECOND y MICROSECOND.
Duracin de fecha
Una duracin de fecha representa un nmero de aos, meses y das, expresados
como un nmero DECIMAL(8,0). Para interpretarse correctamente, el nmero
debe tener el formato aaaammdd., donde aaaa representa el nmero de aos,
mm el nmero de meses y dd el nmero de das.29 El resultado de restar un
valor de fecha de otro, como sucede en la expresin HIREDATE
BRTHDATE, es una duracin expresada en fechas.
Duracin de hora
Una duracin de hora representa un nmero de horas, minutos y segundos,
expresado como un nmero DECIMAL(6,0). Para interpretarse correctamente,
el nmero debe tener el formato hhmmss., donde hh representa el nmero de
horas, mm el nmero de minutos y ss el nmero de segundos. 29 El resultado
de restar un valor de hora de otro es una duracin expresada en horas.
Las normas para la utilizacin del operador de resta con valores de indicacin
de fecha y hora no son las mismas que para la suma, porque un valor de
indicacin de fecha y hora no puede restarse de una duracin, y porque la
operacin de restar dos valores de indicacin de fecha y hora no es la misma
que la operacin de restar una duracin de un valor de indicacin de fecha y
hora. A continuacin se muestran las normas especficas que rigen la
utilizacin del operador de resta con valores de indicacin de fecha y hora.
v El primer operando es una fecha, el segundo operando debe ser una fecha,
una duracin de fecha, una representacin de una fecha en forma de serie o
una duracin etiquetada de YEARS, MONTHS o DAYS.
v Si el segundo operando es una fecha, el primer operando debe ser una
fecha o una representacin de una fecha en forma de serie.
v Si el primer operando es una hora, el segundo operando debe ser una hora,
una duracin de hora, una representacin de una hora en forma de serie o
una duracin etiquetada de HOURS, MINUTES o SECONDS.
v Si el segundo operando es una hora, el primer operando debe ser una hora
o una representacin de una hora en forma de serie.
v Si el primer operando es una fecha y hora, el segundo operando debe ser
una fecha y hora, una representacin de una fecha y hora en forma de serie
o una duracin.
v Si el segundo operando es una fecha y hora, el primer operando debe ser
una fecha y hora o una representacin de una fecha y hora en forma de
serie.
v Ningn operando del operador de resta puede ser un marcador de
parmetros.
Aritmtica de fecha
Las fechas se pueden restar, aumentar o disminuir.
Del mismo modo, si se suma o resta una duracin de meses, solamente los
meses, y los aos si fuera necesario, se vern afectados. La parte de una fecha
correspondiente a los aos no se cambia a no ser que el resultado no fuera
vlido (31 de setiembre, por ejemplo). En este caso, el da se establece en el
ltimo da del mes y se define un indicador de aviso en la SQLCA para
indicar el ajuste.
Cuando se suma una duracin de fecha positiva a una fecha, o una duracin
de fecha negativa se resta de una fecha, la fecha aumenta el nmero
especificado de aos, meses y das, en ese orden. As pues, DATE1 + X, donde
X es un nmero DECIMAL(8,0) positivo, equivale a la expresin:
Cuando una duracin de fecha positiva se resta de una fecha, o bien se aade
una duracin de fecha negativa a una fecha, la fecha disminuye en el nmero
das, meses y aos especificados, en este orden. As pues, DATE1 X, donde
X es un nmero DECIMAL(8,0) positivo, equivale a la expresin:
DATE1 DAY(X) DAYS MONTH(X) MONTHS YEAR(X) YEARS.
Aritmtica de la hora
Las horas se pueden restar, aumentar o disminuir.
Si TS1 es mayor o igual que TS2, TS2 se resta de TS1. Si TS1 es menor que
TS2, TS1 se resta de TS2 y el signo del resultado se convierte en negativo. La
descripcin siguiente clarifica los pasos que intervienen en el resultado de la
operacin = TS1 TS2:
Si MICROSECOND(TS2) <= MICROSECOND(TS1)
entonces MICROSECOND(RESULT) = MICROSECOND(TS1)
MICROSECOND(TS2).
Si MICROSECOND(TS2) > MICROSECOND(TS1)
entonces MICROSECOND(RESULT) = 1000000 +
MICROSECOND(TS1) MICROSECOND(TS2)
y SECOND(TS2) se aumenta en 1.
Expresiones CASE
expresin-case:
ELSE NULL
CASE clusula-searched-when END
clusula-simple-when ELSE expresin-resultado
30. Tenga en cuenta que los parntesis tambin se utilizan en sentencias de subseleccin, condiciones de bsqueda y
funciones. Sin embargo, no deben utilizarse para agrupar arbitrariamente secciones dentro de sentencias de SQL.
clusula-searched-when:
clusula-simple-when:
Una expresin-resultado es una expresin que sigue a las palabras clave THEN o
ELSE. Debe haber, como mnimo, una expresin-resultado en la expresin CASE
(NULL no puede especificarse para cada case) (SQLSTATE 42625). Todas las
expresiones-resultado deben tener tipos de datos compatibles (SQLSTATE
Ejemplos:
v Si el primer carcter de un nmero de departamento corresponde a una
divisin dentro de la organizacin, se puede utilizar una expresin CASE
para listar el nombre completo de la divisin a la que pertenece cada
empleado:
SELECT EMPNO, LASTNAME,
CASE SUBSTR(WORKDEPT,1,1)
WHEN 'A' THEN 'Administracin'
WHEN 'B' THEN 'Recursos humanos'
WHEN 'C' THEN 'Contabilidad'
WHEN 'D' THEN 'Diseo'
WHEN 'E' THEN 'Operaciones'
END
FROM EMPLOYEE;
v El nmero de aos de formacin acadmica se usa en la tabla EMPLOYEE
para obtener el nivel de formacin. Una expresin CASE se puede utilizar
para agrupar estos datos y para mostrar el nivel de formacin.
SELECT EMPNO, FIRSTNME, MIDINIT, LASTNAME,
CASE
WHEN EDLEVEL < 15 THEN 'SECONDARY'
WHEN EDLEVEL < 19 THEN 'COLLEGE'
ELSE 'POST GRADUATE'
END
FROM EMPLOYEE
v Otro ejemplo interesante del uso de una expresin CASE consiste en la
proteccin de los errores que surjan de una divisin por 0. Por ejemplo, el
siguiente cdigo detecta los empleados que perciben ms de un 25% de sus
ingresos en comisiones, pero que su sueldo no se basa enteramente en
comisiones.
SELECT EMPNO, WORKDEPT, SALARY+COMM FROM EMPLOYEE
WHERE (CASE WHEN SALARY=0 THEN NULL
ELSE COMM/SALARY
END) > 0.25;
v Las siguientes expresiones CASE son iguales:
SELECT LASTNAME,
CASE
WHEN LASTNAME = 'Haas' THEN 'Presidente'
...
SELECT LASTNAME,
CASE LASTNAME
WHEN 'Haas' THEN 'Presidente'
...
Especificaciones CAST
especificacin-cast:
CAST ( expresin AS tipo-datos
NULL
marcador-parmetros
)
(1)
SCOPE nombre-tabla-tipo
nombre-vista-tipo
Notas:
1 La clusula SCOPE slo se aplica al tipo de datos REF.
SCOPE
Cuando el tipo de datos es un tipo de referencia, puede definirse un
mbito que identifique la tabla de destino o la vista de destino de la
referencia.
nombre-tabla-tipo
El nombre de una tabla con tipo. Ya debe existir la tabla (SQLSTATE
42704). La conversin debe hacerse hacia el tipo-datos REF(S), donde S
es el tipo de nombre-tabla-tipo (SQLSTATE 428DM).
nombre-vista-tipo
El nombre de una vista con tipo. La vista debe existir o tener el
mismo nombre que la vista a crear que incluye la conversin del tipo
de datos como parte de la definicin de la vista (SQLSTATE 42704). La
conversin debe hacerse hacia el tipo-datos REF(S), donde S es el tipo
de nombre-vista-tipo (SQLSTATE 428DM).
Ejemplos:
v A una aplicacin slo le interesa la parte entera de SALARY (definido como
decimal (9,2)) de la tabla EMPLOYEE. Se podra preparar la siguiente
consulta, con el nmero de empleado y el valor del entero de SALARY.
SELECT EMPNO, CAST(SALARY AS INTEGER) FROM EMPLOYEE
v Supongamos que hay un tipo diferenciado denominado T_AGE que se
define como SMALLINT y se utiliza para crear la columna AGE en la tabla
PERSONNEL. Supongamos tambin que existe tambin un tipo
diferenciado denominado R_YEAR que est definido en INTEGER y que se
utiliza para crear la columna RETIRE_YEAR en la tabla PERSONNEL. Se
podra preparar la siguiente sentencia de actualizacin.
expresin
Ejemplos:
v Suponga que existe una tabla EMPLOYEE que contiene una columna
denominada DEPTREF, que es un tipo de referencia con mbito para una
tabla con tipo basada en un tipo que incluye el atributo DEPTNAME. Los
valores de DEPTREF de la tabla EMPLOYEE deben corresponderse con los
valores de la columna de OID de la tabla de destino de la columna
DEPTREF.
SELECT EMPNO, DEPTREF>DEPTNAME
FROM EMPLOYEE
v Utilizando las mismas tablas que en el ejemplo anterior, utilice una
operacin de desreferencia para invocar un mtodo llamado BUDGET, con
la fila destino como parmetro sujeto y '1997' como parmetro adicional.
SELECT EMPNO, DEPTREF>BUDGET('1997')
AS DEPTBUDGET97
FROM EMPLOYEE
Funciones OLAP
funcin-OLAP:
funcin-ordenacin
funcin-numeracin
funcin-agregacin
funcin-ordenacin:
RANK () OVER (
DENSE_RANK () clusula-particin-ventana
clusula-orden-ventana )
funcin-numeracin:
ROW_NUMBER () OVER (
clusula-particin-ventana
)
clusula-orden-ventana
funcin-agregacin:
funcin-columna OVER (
clusula-particin-ventana
clusula-orden-ventana
clusula-grupo-agregacin-ventana
clusula-particin-ventana:
PARTITION BY expresin-particionamiento
clusula-orden-ventana:
,
opcin asc
ORDER BY expresin-clave-clasificacin
opcin desc
opcin asc:
NULLS LAST
ASC
NULLS FIRST
opcin desc:
NULLS FIRST
DESC
NULLS LAST
clusula-grupo-agregacin-ventana:
ROWS inicio-grupo
RANGE entre-grupo
final-grupo
inicio-grupo:
UNBOUNDED PRECEDING
constante-sin-signo PRECEDING
CURRENT ROW
entre-grupo:
lmite-grupo1:
UNBOUNDED PRECEDING
constante-sin-signo PRECEDING
constante-sin-signo FOLLOWING
CURRENT ROW
lmite-grupo2:
UNBOUNDED FOLLOWING
constante-sin-signo PRECEDING
constante-sin-signo FOLLOWING
CURRENT ROW
final-grupo:
UNBOUNDED FOLLOWING
constante-sin-signo FOLLOWING
Cuando se utiliza una funcin OLAP, se especifica una ventana que define las
filas a las que se aplica la funcin, y en qu orden. Cuando la funcin OLAP
se utiliza con una funcin de columna, las filas pertinentes se pueden definir
con ms detalle, con respecto a la fila actual, en forma de rango o indicando
un nmero de filas que preceden y siguen a la fila actual. Por ejemplo, dentro
de una divisin por meses, se puede calcular un valor promedio respecto a los
tres meses anteriores.
ASC
Utiliza los valores de la expresin-clave-clasificacin en orden
ascendente.
NULLS FIRST
La ordenacin de ventana tiene en cuenta los valores nulos antes
de los valores no nulos en el orden de clasificacin.
NULLS LAST
La ordenacin de ventana tiene en cuenta los valores nulos antes
de los valores no nulos en el orden de clasificacin.
DESC
Utiliza los valores de la expresin-clave-clasificacin en orden
descendente. Se considera que los valores nulos ocupan la primera
posicin en la ordenacin.
clusula-grupo-agregacin-ventana
El grupo de agregacin de una fila R es un conjunto de filas definidas en
relacin a R (en la ordenacin de las filas de la particin de R). Esta
clusula especifica el grupo de agregacin. Si no se especifica esta
clusula, el valor por omisin es el mismo que RANGE BETWEEN
UNBOUNDED PRECEDING AND CURRENT ROW, lo que proporciona
un resultado de agregacin acumulativo.
ROWS
Indica que el grupo de agregacin se define mediante el contaje de
filas.
RANGE
Indica que el grupo de agregacin se define mediante un valor de
desplazamiento con respecto a una clave de clasificacin.
inicio-grupo
Especifica el punto de inicio del grupo de agregacin. El final del
grupo de agrupacin es la fila actual. La clusula inicio-grupo es
equivalente a una clusula entre-grupo en la forma BETWEEN
inicio-grupo AND CURRENT ROW.
entre-grupo
Especifica el inicio y final del grupo de agregacin basndose en
ROWS o RANGE.
final-grupo
Especifica el punto final del grupo de agregacin. El inicio del grupo
de agregacin es la fila actual. La especificacin de la clusula
final-grupo es equivalente a la de una clusula entre-grupo del
formato BETWEEN CURRENT ROW AND final-grupo.
UNBOUNDED PRECEDING
Incluye la particin completa que precede a la fila actual. Esto se
Ejemplos:
v Este ejemplo muestra la ordenacin de los empleados, dispuestos por
apellidos, de acuerdo con un salario total (salario ms prima) que sea
mayor que $30.000.
SELECT EMPNO, LASTNAME, FIRSTNME, SALARY+BONUS AS TOTAL_SALARY,
RANK() OVER (ORDER BY SALARY+BONUS DESC) AS RANK_SALARY
FROM EMPLOYEE WHERE SALARY+BONUS > 30000
ORDER BY LASTNAME
ORDER BY RANK_SALARY
o
ORDER BY RANK() OVER (ORDER BY SALARY+BONUS DESC)
v Este ejemplo ordena los departamentos de acuerdo con su salario total
medio.
SELECT WORKDEPT, AVG(SALARY+BONUS) AS AVG_TOTAL_SALARY,
RANK() OVER (ORDER BY AVG(SALARY+BONUS) DESC) AS RANK_AVG_SAL
FROM EMPLOYEE
GROUP BY WORKDEPT
ORDER BY RANK_AVG_SAL
v Este ejemplo ordena los empleados de un departamento de acuerdo con su
nivel de formacin. Si varios empleados de un departamento tienen el
mismo nivel, ello no debe suponer un aumento del nivel siguiente.
SELECT WORKDEPT, EMPNO, LASTNAME, FIRSTNME, EDLEVEL
DENSE_RANK() OVER
(PARTITION BY WORKDEPT ORDER BY EDLEVEL DESC) AS RANK_EDLEVEL
FROM EMPLOYEE
ORDER BY WORKDEPT, LASTNAME
v Este ejemplo proporciona nmeros a las filas del resultado de una consulta.
SELECT ROW_NUMBER() OVER (ORDER BY WORKDEPT, LASTNAME) AS NUMBER,
LASTNAME, SALARY
FROM EMPLOYEE
ORDER BY WORKDEPT, LASTNAME
v Este ejemplo lista los cinco empleados con mayores ingresos.
SELECT EMPNO, LASTNAME, FIRSTNME, TOTAL_SALARY, RANK_SALARY
FROM (SELECT EMPNO, LASTNAME, FIRSTNME, SALARY+BONUS AS TOTAL_SALARY,
RANK() OVER (ORDER BY SALARY+BONUS DESC) AS RANK_SALARY
FROM EMPLOYEE) AS RANKED_EMPLOYEE
WHERE RANK_SALARY < 6
ORDER BY RANK_SALARY
expresin
y
((a..b)..c) + ((x..y)..z)
y
point1..x()
Nota:
v Los mtodos de los tipos definidos con WITH FUNCTION ACCESS
tambin se pueden invocar utilizando la notacin normal de
funciones. La resolucin de funciones considera como aceptables
todas las funciones, as como los mtodos con acceso a funcin. Sin
embargo, las funciones no se pueden invocar utilizando la invocacin
de mtodo. La resolucin de mtodos considera como aceptables
todos los mtodos, pero no las funciones. Si la resolucin no
proporciona una funcin o mtodo apropiado, se produce un error
(SQLSTATE 42884).
Ejemplos:
v Este ejemplo utiliza el operador .. para invocar un mtodo llamado AREA.
Se supone que existe una tabla llamada RINGS, con una columna
CIRCLE_COL del tipo estructurado CIRCLE. Se supone tambin que el
mtodo AREA se ha definido previamente para el tipo CIRCLE como
AREA() RETURNS DOUBLE.
SELECT CIRCLE_COL..AREA()
FROM RINGS
Ejemplos:
v En este ejemplo, todas las instancias de objetos de la columna CIRCLE_COL
estn definidas con el tipo dinmico COLOREDCIRCLE para una
aplicacin. Se utiliza la consulta siguiente para invocar el mtodo RGB para
tales objetos. Se supone que existe una tabla llamada RINGS, con una
columna CIRCLE_COL del tipo estructurado CIRCLE. Se supone tambin
que COLOREDCIRCLE es un subtipo de CIRCLE y que el mtodo RGB se
ha definido previamente para COLOREDCIRCLE como RGB() RETURNS
DOUBLE.
SELECT TREAT (CIRCLE_COL AS COLOREDCIRCLE)..RGB()
FROM RINGS
expresin-nextval
expresin-prevval
expresin-nextval:
NEXTVAL FOR nombre-secuencia
expresin-prevval:
Nota:
v Se genera un valor nuevo para una secuencia cuando la expresin
NEXTVAL especifica el nombre de dicha secuencia. Sin embargo, si
existen mltiples instancias de una expresin NEXTVAL que
especifican el mismo nombre de secuencia en una consulta, el
contador para la secuencia se incrementa slo una vez para cada fila
del resultado y todas las instancias de NEXTVAL devuelven el
mismo valor para una fila del resultado.
v Se puede utilizar el mismo nmero de secuencia como valor de clave
de unicidad en dos tablas independientes haciendo referencia al
nmero de secuencia con una expresin NEXTVAL para la primera
fila (esto genera el valor de secuencia) y una expresin CURRVAL
para las dems filas (la instancia de CURRVAL hace referencia al
valor de secuencia generado ms recientemente en la sesin actual),
como se muestra a continuacin:
INSERT INTO order(orderno, cutno)
VALUES (NEXTVAL FOR order_seq, 123456);
Ejemplos:
En estos ejemplos se supone que existe una tabla llamada order y que se
crea una secuencia llamada order_seq del modo siguiente:
CREATE SEQUENCE order_seq
START WITH 1
INCREMENT BY 1
NO MAXVALUE
NO CYCLE
CACHE 24
v Ejemplos de cmo generar un nmero de secuencia order_seq con una
expresin NEXTVAL para la secuencia creada anteriormente:
INSERT INTO order(orderno, custno)
VALUES (NEXTVAL FOR order_seq, 123456);
o
UPDATE order
SET orderno = NEXTVAL FOR order_seq
WHERE custno = 123456;
o
VALUES NEXTVAL FOR order_seq INTO :hv_seq;
Predicados
Un predicado especifica una condicin que es cierta, falsa o desconocida acerca
de una fila o un grupo determinado.
Predicado bsico
expresin = expresin
(1)
<>
<
>
(1)
<=
(1)
>=
Notas:
33
1 Tambin se da soporte a otros operadores de comparacin .
Para valores x e y:
Predicado Es verdadero si y slo si...
x=y x es igual a y
x <> y x es diferente de y
x<y x es menor que y
x>y x es mayor que y
x >= y x es mayor o igual que y
x <= y x es menor o igual que y
Ejemplos:
EMPNO='528671'
SALARY < 20000
PRSTAFF <> :VAR1
SALARY > (SELECT AVG(SALARY) FROM EMPLOYEE)
33. Tambin se da soporte a los formatos siguientes de operadores de comparacin en predicados bsicos y
cuantificados; |=, |<, |>, !=, !< y !>. Adems, en las pginas de cdigos 437, 819 y 850, se da soporte a los
formatos =, < y >.
Estos formatos especficos de producto de los operadores de comparacin solamente pretenden dar soporte al SQL
existente que emplea estos operadores y no se recomienda utilizarlos al escribir sentencias de SQL nuevas.
Predicado cuantificado
expresin1 = SOME (seleccin completa1)
(1) ANY
<> ALL
<
>
<=
>=
,
Notas:
33
1 Tambin se da soporte a otros operadores de comparacin
TBLAB: TBLXY:
COLA COLB COLX COLY
1 12 2 22
2 12 3 23
3 13
4 14
- -
Figura 12.
Ejemplo 1
SELECT COLA FROM TBLAB
WHERE COLA = ANY(SELECT COLX FROM TBLXY)
Ejemplo 2
SELECT COLA FROM TBLAB
WHERE COLA > ANY(SELECT COLX FROM TBLXY)
Ejemplo 3
SELECT COLA FROM TBLAB
WHERE COLA > ALL(SELECT COLX FROM TBLXY)
Ejemplo 4
SELECT COLA FROM TBLAB
WHERE COLA > ALL(SELECT COLX FROM TBLXY
WHERE COLX<0)
Ejemplo 5
SELECT * FROM TBLAB
WHERE (COLA,COLB+10) = SOME (SELECT COLX, COLY FROM TBLXY)
Ejemplo 6
SELECT * FROM TBLAB
WHERE (COLA,COLB) = ANY (SELECT COLX,COLY-10 FROM TBLXY)
Predicado BETWEEN
expresin BETWEEN expresin AND expresin
NOT
El predicado BETWEEN:
valor1 BETWEEN valor2 AND valor3
El predicado BETWEEN:
valor1 NOT BETWEEN valor2 AND valor3
Los valores de las expresiones del predicado BETWEEN pueden tener pginas
de cdigos diferentes. Los operandos se convierten como si se especificaran
las condiciones de bsqueda equivalentes que se acaban de mencionar.
Ejemplos:
Ejemplo 1
EMPLOYEE.SALARY BETWEEN 20000 AND 40000
Ejemplo 2
SALARY NOT BETWEEN 20000 + :HV1 AND 40000
Suponiendo que :HV1 es 5000, da como resultado todos los salarios que son
inferiores a 25.000 dlares y superiores a 40.000.
Ejemplo 3
Suponiendo lo siguiente:
Tabla 12.
Expresiones Tipo Pgina de cdigos
variable del lenguaje
HV_1 principal 437
variable del lenguaje
HV_2 principal 437
Col_1 columna 850
Se interpretar como:
:HV_1 >= :HV_2
AND :HV_1 <= COL_1
Predicado EXISTS
EXISTS (seleccin completa)
Ejemplo:
EXISTS (SELECT * FROM TEMPL WHERE SALARY < 10000)
Predicado IN
expresin1 IN (seleccin completa1)
NOT ,
( expresin2 )
expresin2
,
es equivalente a:
expresin = ANY (seleccin completa)
(expresinA, expresinB,...,
expresinK) IN (seleccin completa)
Los valores para las expresiones del predicado IN (incluyendo las columnas
correspondientes de una seleccin completa)pueden tener pginas de cdigos
diferentes. Si se precisa realizar una conversin, la pgina de cdigos se
determina aplicando el apartado Reglas para las conversiones de series en la
pgina 124 a la lista IN primero y, posteriormente, al predicado que utiliza la
pgina de cdigos derivada para la lista IN como segundo operando.
Ejemplos:
Predicado LIKE
expresin-comparacin LIKE expresin-patrn
NOT
ESCAPE expresin-escape
v una constante
v un registro especial
v una variable del lenguaje principal
v una funcin escalar cuyos operandos sean cualquiera de los elementos
anteriores
v una expresin que concatene cualquiera de los elementos anteriores
Notas
Si el patrn especificado en un predicado LIKE es un marcador de parmetro
y se utiliza una variable del lenguaje principal de caracteres de longitud fija
para sustituir el marcador de parmetro, el valor especificado para la variable
del lenguaje principal debe tener la longitud correcta. Si no se especifica la
longitud correcta, la seleccin no devolver los resultados esperados.
Este patrn solicita al gestor de bases de datos que busque todos los valores
que empiezan con WYSE y terminan con cinco espacios en blanco. Si tena la
intencin de buscar slo los valores que empiezan con WYSE, deber asignar
el valor WSYE%%%%%% a la variable del lenguaje principal.
Ejemplos
v Busque la serie SYSTEMS que aparezca en la columna PROJNAME de la
tabla PROJECT.
SELECT PROJNAME FROM PROJECT
WHERE PROJECT.PROJNAME LIKE '%SYSTEMS%'
v Busque una serie con un primer carcter J que tenga exactamente dos
caracteres de longitud en la columna FIRSTNAME de la tabla EMPLOYEE.
SELECT FIRSTNME FROM EMPLOYEE
WHERE EMPLOYEE.FIRSTNME LIKE 'J_'
v Busque una serie de caracteres, de cualquier longitud, cuyo primer carcter
sea J, en la columna FIRSTNAME de la tabla EMPLOYEE.
Predicado NULL
expresin IS NULL
NOT
Ejemplos:
PHONENO IS NULL
SALARY IS NOT NULL
Predicado TYPE
expresin IS OF
NOT
IS
OF DYNAMIC TYPE
NOT
( nombre de tipo )
ONLY
Debe utilizarse la funcin DEREF siempre que el predicado TYPE tenga una
expresin que implique un valor de tipo de referencia. El tipo esttico de esta
forma de expresin es el tipo de destino de la referencia. Consulte DEREF en
la pgina 317 para obtener ms informacin sobre la funcin DEREF.
Ejemplo:
Existe una jerarqua de tablas que tiene una tabla raz EMPLOYEE de tipo
EMP y una subtabla MANAGER de tipo MGR. Otra tabla, ACTIVITIES,
incluye una columna denominada WHO_RESPONSIBLE que est definida
Condiciones de bsqueda
condicin-bsqueda:
predicado
NOT SELECTIVITY constante-numrica
(condicin-bsqueda)
AND predicado
OR NOT SELECTIVITY constante-numrica
(condicin-bsqueda)
SELECTIVITY valor
La clusula SELECTIVITY se utiliza para indicar a DB2 qu porcentaje de
selectividad prevista corresponde al predicado. SELECTIVITY se puede
especificar slo cuando el predicado es un predicado definido por el
usuario.
Un predicado definido por el usuario consta de una invocacin de funcin
definida por el usuario, en el contexto de una especificacin de predicado
que coincide con la existente en la clusula PREDICATES de CREATE
FUNCTION. Por ejemplo, si la funcin foo est definida con
PREDICATES WHEN=1..., es vlido utilizar SELECTIVITY de este modo:
SELECT *
FROM STORES
WHERE foo(parm,parm) = 1 SELECTIVITY 0.004
Nota:
v Junto con el gestor de bases de datos se proporcionan funciones
incorporadas, que devuelven un valor resultante individual y estn
catalogadas como parte del esquema SYSIBM. Ejemplos de dichas
funciones son las funciones de columna, como AVG, funciones de
operador, como +, funciones de conversin, como DECIMAL y
otras como SUBSTR.
v Las funciones definidas por el usuario son funciones que estn
registradas en una base de datos en SYSCAT.FUNCTIONS
(utilizando la sentencia CREATE FUNCTION). Estas funciones nunca
forman parte del esquema SYSIBM. El gestor de bases de datos
proporciona un conjunto de estas funciones dentro de un esquema
denominado SYSFUN.
Tabla 15. Funciones soportadas
Nombre de funcin Esquema Descripcin
Parmetros de entrada Devuelve
SYSIBM Devuelve el valor absoluto del argumento.
ABS o ABSVAL Cualquier expresin que devuelve un tipo de datos Mismo tipo de datos y
numrico incorporado. longitud que el argumento
SYSFUN Devuelve el valor absoluto del argumento.
SMALLINT SMALLINT
ABS o ABSVAL INTEGER INTEGER
BIGINT BIGINT
DOUBLE DOUBLE
SYSFUN Devuelve el arco coseno del argumento, en forma de ngulo expresado
ACOS en radianes.
DOUBLE DOUBLE
Notas
v En las referencias a tipos de datos de serie que no se califican por una longitud, debe suponerse que dan soporte
a la longitud mxima para el tipo de datos.
v En las referencias a un tipo de datos DECIMAL sin precisin ni escala, debe suponerse que se permite cualquier
precisin y escala soportadas.
Notas de la tabla
1
Cuando el parmetro de entrada es SMALLINT, el tipo del resultado es INTEGER. Cuando el parmetro
de entrada es REAL, el tipo del resultado es DOUBLE.
2
Las palabras clave permitidas son ISO, USA, EUR, JIS y LOCAL. Esta signatura de funcin no est
soportada como funcin derivada.
3
Esta funcin no se puede utilizar como funcin fuente.
4
Las palabras clave ALL o DISTINCT pueden utilizarse antes del primer parmetro. Si se especifica
DISTINCT, no se da soporte a la utilizacin de tipos estructurados definidos por el usuario, tipos de series
largas ni de un tipo DATALINK.
5
No se da soporte a la utilizacin de tipos estructurados definidos por el usuario, tipos de series largas ni
de un tipo DATALINK.
6
El tipo devuelto por RAISE_ERROR depende del contexto de su utilizacin. RAISE_ERROR, si no hay
conversin hacia un tipo determinado, devolver un tipo adecuado para su invocacin en una expresin
CASE.
7
No se soporta el uso de tipo-grfico, tipo-LOB, tipos de serie larga y tipos DATALINK.
Funciones de columna
El argumento de una funcin de columna es un conjunto de valores derivados
de una expresin. La expresin puede incluir columnas pero no puede incluir
una seleccincompleta-escalar ni otra funcin de columna (SQLSTATE 42607). El
mbito del conjunto es un grupo o una tabla resultante intermedia tal como se
explica en el Captulo 5. Consultas en la pgina 471.
AVG
ALL
AVG ( expresin )
DISTINCT
El esquema es SYSIBM.
Los valores del argumento deben ser nmeros (slo tipos incorporados) y su
suma debe estar dentro del rango del tipo de datos del resultado, excepto
para un tipo de datos de resultado decimal. Para los resultados decimales, la
suma debe estar dentro del rango soportado por un tipo de datos decimal que
tenga una precisin de 31 y una escala idntica a la escala de los valores del
argumento. El resultado puede ser nulo.
El tipo de datos del resultado es el mismo que el tipo de datos de los valores
del argumento, excepto que:
v El resultado es un entero grande si los valores del argumento son enteros
pequeos.
v El resultado es de coma flotante de precisin doble si los valores del
argumento son de coma flotante de precisin simple.
Ejemplos:
v Utilizando la tabla PROJECT, establezca la variable del lenguaje principal
AVERAGE (decimal(5,2)) en el nivel promedio de los trabajadores
(PRSTAFF) de los proyectos del departamento (DEPTNO) D11.
SELECT AVG(PRSTAFF)
INTO :AVERAGE
FROM PROJECT
WHERE DEPTNO = 'D11'
CORRELATION
CORRELATION ( expresin1 , expresin2 )
CORR
El esquema es SYSIBM.
El orden en el que los valores se agregan no est definido, pero cada resultado
intermedio debe estar dentro del rango del tipo de datos del resultado.
Ejemplo:
v Utilizando la tabla EMPLOYEE, establezca la variable de lenguaje principal
CORRLN (coma flotante de precisin doble) en la correlacin entre salario y
bono para los empleados del departamento (WORKDEPT) A00.
SELECT CORRELATION(SALARY, BONUS)
INTO :CORRLN
FROM EMPLOYEE
WHERE WORKDEPT = 'A00'
COUNT
ALL
COUNT ( expresin )
DISTINCT
*
El esquema es SYSIBM.
Ejemplos:
v Utilizando la tabla EMPLOYEE, establezca la variable del lenguaje principal
FEMALE (int) en el nmero de filas en que el valor de la columna SEX es
F.
SELECT COUNT(*)
INTO :FEMALE
FROM EMPLOYEE
WHERE SEX = 'F'
COUNT_BIG
ALL
COUNT_BIG ( expresin )
DISTINCT
*
El esquema es SYSIBM.
Ejemplos:
v Consulte los ejemplos de COUNT y sustituya COUNT_BIG por las
apariciones de COUNT. Los resultados son los mismos excepto por el tipo
de datos del resultado.
v Algunas aplicaciones pueden necesitar la utilizacin de COUNT pero
necesitan dar soporte a valores mayores que el entero ms grande. Esto se
puede conseguir mediante la utilizacin de funciones derivadas definidas
por el usuario y la definicin de la va de acceso de SQL. Las siguientes
series de sentencias muestran cmo crear una funcin derivada para dar
soporte a COUNT(*) basndose en COUNT_BIG y devolver un valor
decimal con una precisin de 15. La va de acceso de SQL se establece de
manera que se utilice la funcin derivada basada en COUNT_BIG en las
sentencias subsiguientes, tal como la consulta mostrada.
CREATE FUNCTION RICK.COUNT() RETURNS DECIMAL(15,0)
SOURCE SYSIBM.COUNT_BIG();
SET CURRENT FUNCTION PATH RICK, SYSTEM PATH;
SELECT COUNT(*) FROM EMPLOYEE;
Observe que la funcin derivada se define sin parmetros para dar soporte
a COUNT(*). Esto slo es efectivo si utiliza COUNT como nombre de la
funcin y no califica la funcin con el nombre de esquema cuando se
utiliza. Para conseguir el mismo efecto que COUNT(*) con un nombre
distinto de COUNT, invoque la funcin sin parmetros. Por lo tanto, si
RICK.COUNT se ha definido como RICK.MYCOUNT, la consulta se tendra
que haber escrito de la siguiente manera:
SELECT MYCOUNT() FROM EMPLOYEE;
COVARIANCE
COVARIANCE ( expresin1 , expresin2 )
COVAR
El esquema es SYSIBM.
El orden en el que los valores se agregan no est definido, pero cada resultado
intermedio debe estar dentro del rango del tipo de datos del resultado.
Ejemplo:
v Utilizando la tabla EMPLOYEE, establezca la variable del lenguaje principal
COVARNCE (coma flotante de precisin doble) en la covarianza entre
salario y bono para los empleados del departamento (WORKDEPT) A00.
SELECT COVARIANCE(SALARY, BONUS)
INTO :COVARNCE
FROM EMPLOYEE
WHERE WORKDEPT = 'A00'
GROUPING
GROUPING ( expresin )
El esquema es SYSIBM.
El argumento puede ser de cualquier tipo, pero debe ser un elemento de una
clusula GROUP BY.
Ejemplo:
La siguiente consulta:
SELECT SALES_DATE,
SALES_PERSON,
SUM(SALES) AS UNITS_SOLD,
GROUPING(SALES_DATE) AS DATE_GROUP,
GROUPING(SALES_PERSON) AS SALES_GROUP
FROM SALES
GROUP BY CUBE (SALES_DATE, SALES_PERSON)
ORDER BY SALES_DATE, SALES_PERSON
da como resultado:
SALES_DATE SALES_PERSON UNITS_SOLD DATE_GROUP SALES_GROUP
---------- --------------- ----------- ----------- -----------
12/31/1995 GOUNOT 1 0 0
12/31/1995 LEE 6 0 0
12/31/1995 LUCCHESSI 1 0 0
12/31/1995 - 8 0 1
03/29/1996 GOUNOT 11 0 0
03/29/1996 LEE 12 0 0
03/29/1996 LUCCHESSI 4 0 0
03/29/1996 - 27 0 1
03/30/1996 GOUNOT 21 0 0
03/30/1996 LEE 21 0 0
03/30/1996 LUCCHESSI 4 0 0
03/30/1996 - 46 0 1
03/31/1996 GOUNOT 3 0 0
03/31/1996 LEE 27 0 0
03/31/1996 LUCCHESSI 1 0 0
03/31/1996 - 31 0 1
04/01/1996 GOUNOT 14 0 0
04/01/1996 LEE 25 0 0
04/01/1996 LUCCHESSI 4 0 0
04/01/1996 - 43 0 1
- GOUNOT 50 1 0
- LEE 91 1 0
- LUCCHESSI 14 1 0
- - 155 1 1
MAX
ALL
MAX ( expresin )
DISTINCT
El esquema es SYSIBM.
Los valores del argumento pueden ser de cualquier tipo incorporado que no
sea una serie larga ni DATALINK.
Ejemplos:
v Utilizando la tabla EMPLOYEE, establezca la variable del lenguaje principal
MAX_SALARY (decimal(7,2)) en el valor del salario mximo mensual
(SALARY/12).
SELECT MAX(SALARY) / 12
INTO :MAX_SALARY
FROM EMPLOYEE
MIN
ALL
MIN ( expresin )
DISTINCT
El esquema es SYSIBM.
Los valores del argumento pueden ser de cualquier tipo incorporado que no
sea una serie larga ni DATALINK.
Ejemplos:
v Utilizando la tabla EMPLOYEE, establezca la variable del lenguaje principal
COMM_SPREAD (decimal(7,2)) en la diferencia entre la comisin mxima y
mnima (COMM) de los miembros del departamento (WORKDEPT) D11.
SELECT MAX(COMM) - MIN(COMM)
INTO :COMM_SPREAD
FROM EMPLOYEE
WHERE WORKDEPT = 'D11'
Funciones REGRESSION
REGR_AVGX ( expresin1 , expresin2 )
REGR_AVGY
REGR_COUNT
REGR_INTERCEPT
REGR_ICPT
REGR_R2
REGR_SLOPE
REGR_SXX
REGR_SXY
REGR_SYY
El esquema es SYSIBM.
El orden en el que los valores se agregan no est definido, pero cada resultado
intermedio debe estar dentro del rango del tipo de datos del resultado.
Error estndar
SQRT( (REGR_SYY-
(POWER(REGR_SXY,2)/REGR_SXX))/(REGR_COUNT-2) )
Suma total de cuadrados
REGR_SYY
Suma de cuadrados de regresin
POWER(REGR_SXY,2) / REGR_SXX
Suma de cuadrados residuales
(Suma total de cuadrados)-(Suma de cuadrados de regresin)
t estadstica de inclinacin
REGR_SLOPE * SQRT(REGR_SXX) / (Error estndar)
t estadstica para interseccin y
REGR_INTERCEPT/((Error estndar)*SQRT((1/REGR_COUNT)+
(POWER(REGR_AVGX,2)/REGR_SXX))
Ejemplo:
v Utilizando la tabla EMPLOYEE, calcule la lnea de regresin de
cuadrados-mnimos-normales que expresa el bono de un empleado del
departamento (WORKDEPT) A00 como una funcin lineal del salario del
empleado. Establezca las variables del lenguaje principal SLOPE, ICPT,
RSQR (coma flotante de precisin doble) en la inclinacin, interseccin y
coeficiente de determinacin de la lnea de regresin, respectivamente.
Establezca tambin las variables del lenguaje principal AVGSAL y
AVGBONUS en el salario promedio y el bono promedio, respectivamente,
de los empleados del departamento A00, y establezca la variable del
lenguaje principal CNT (entero) en el nmero de empleados del
departamento A00 para los que estn disponibles los datos de salario y de
bono. Almacene las dems estadsticas de regresin en las variables del
lenguaje principal SXX, SYY y SXY.
SLOPE: +1,71002671916749E-002
ICPT: +1,00871888623260E+002
RSQR: +9,99707928128685E-001
CNT: 3
AVGSAL: +4,28333333333333E+004
AVGBONUS: +8,33333333333333E+002
SXX: +2,96291666666667E+008
SYY: +8,66666666666667E+004
SXY: +5,06666666666667E+006
STDDEV
ALL
STDDEV ( expresin )
DISTINCT
El esquema es SYSIBM.
El orden en el que los valores se agregan no est definido, pero cada resultado
intermedio debe estar dentro del rango del tipo de datos resultante.
Ejemplo:
v Utilizando la tabla EMPLOYEE, establezca la variable del lenguaje principal
DEV (coma flotante de precisin doble) en la desviacin estndar de los
salarios para los empleados del departamento (WORKDEPT) A00.
SELECT STDDEV(SALARY)
INTO :DEV
FROM EMPLOYEE
WHERE WORKDEPT = 'A00'
SUM
ALL
SUM ( expresin )
DISTINCT
El esquema es SYSIBM.
Los valores del argumento deben ser nmeros (slo tipos incorporados) y su
suma debe estar dentro del rango del tipo de datos del resultado.
El tipo de datos del resultado es el mismo que el tipo de datos de los valores
del argumento excepto que:
v El resultado es un entero grande si los valores del argumento son enteros
pequeos.
v El resultado es de coma flotante de precisin doble si los valores del
argumento son de coma flotante de precisin simple.
Ejemplo:
v Utilizando la tabla EMPLOYEE, establezca la variable del lenguaje principal
JOB_BONUS (decimal(9,2)) en el total de bonificaciones (BONUS) pagadas a
los conserjes (JOB=CLERK).
SELECT SUM(BONUS)
INTO :JOB_BONUS
FROM EMPLOYEE
WHERE JOB = 'CLERK'
VARIANCE
ALL
VARIANCE ( expresin )
VAR DISTINCT
El esquema es SYSIBM.
Ejemplo:
v Utilizando la tabla EMPLOYEE, establezca la variable del lenguaje principal
VARNCE (coma flotante de precisin doble) en la varianza de los salarios
para los empleados del departamento (WORKDEPT) A00.
SELECT VARIANCE(SALARY)
INTO :VARNCE
FROM EMPLOYEE
WHERE WORKDEPT = 'A00'
Funciones escalares
Una funcin escalar se puede utilizar siempre que se pueda utilizar una
expresin. Sin embargo, las restricciones que se aplican a la utilizacin de
expresiones y a las funciones de columna tambin se aplican cuando se utiliza
una expresin o una funcin de columna en una funcin escalar. Por ejemplo,
el argumento de una funcin escalar slo puede ser una funcin de columna
si est permitida una funcin de columna en el contexto en el que se utiliza la
funcin escalar.
ABS o ABSVAL
ABS ( expresin )
ABSVAL
El esquema es SYSIBM.
Esta funcin est disponible por primera vez en el FixPak 2 de la Versin 7.1.
Por ejemplo:
ABS(-51234)
ACOS
ACOS ( expresin )
El esquema es SYSFUN.
ASCII
ASCII ( expresin )
El esquema es SYSFUN.
ASIN
ASIN ( expresin )
El esquema es SYSFUN.
ATAN
ATAN ( expresin )
El esquema es SYSFUN.
ATAN2
ATAN2 ( expresin , expresin )
El esquema es SYSFUN.
BIGINT
BIGINT ( expresin-numrica )
expresin-caracteres
El esquema es SYSIBM.
Ejemplos:
v En la tabla ORDERS_HISTORY, cuente el nmero de rdenes y devuelva el
resultado como un valor de entero superior.
SELECT BIGINT (COUNT_BIG(*) )
FROM ORDERS_HISTORY
v Utilizando la tabla EMPLOYEE, seleccione la columna EMPNO en el
formato de enteros superiores para procesarla ms en la aplicacin.
SELECT BIGINT(EMPNO) FROM EMPLOYEE
BLOB
BLOB ( expresin-serie )
, entero
El esquema es SYSIBM.
Ejemplos
v Suponiendo una tabla con una columna BLOB denominada
TOPOGRAPHIC_MAP y una columna VARCHAR denominada
MAP_NAME, localice los mapas que contienen la serie Pellow Island y
devuelva una sola serie binaria con el nombre del mapa concatenado
delante del mapa real.
SELECT BLOB(MAP_NAME || ': ') || TOPOGRAPHIC_MAP
FROM ONTARIO_SERIES_4
WHERE TOPOGRAPIC_MAP LIKE BLOB('%Pellow Island%')
CEILING o CEIL
CEILING ( expresin )
CEIL
El esquema es SYSFUN.
CHAR
De fecha y hora a caracteres :
CHAR ( expresin-fechahora )
, ISO
USA
EUR
JIS
LOCAL
De caracteres a caracteres :
CHAR ( expresin-caracteres )
, entero
De entero a carcter:
CHAR ( expresin-entero )
De decimal a carcter:
CHAR ( expresin-decimal )
, carcter-decimal
34. En el futuro, se introducir una signatura SYSIBM.CHAR(expresin-coma-flotante) que utilizar por omisin el
punto como carcter decimal, independientemente del entorno nacional del servidor de bases de datos. Aunque
SYSFUN.CHAR(expresin-coma-flotante) continuar estando disponible, la va de acceso de SQL por omisin
hara que la resolucin de funcin utilizara la versin SYSIBM de la funcin. Si se desea obtener el
comportamiento por omisin basado en el entorno de base de datos, se recomienda especificar explcitamente el
nombre de esquema SYSFUN al utilizar SYSFUN.CHAR(expresin-coma-flotante).
Ejemplos:
v Supongamos que la columna PRSTDATE tiene un valor interno equivalente
a 1988-12-25.
CHAR(PRSTDATE, USA)
Para filas que tengan LASTNAME con una longitud mayor que 10
caracteres (excluyendo los blancos de cola), se devuelve un aviso de que el
valor se ha truncado.
v Utilice la funcin CHAR para devolver los valores para EDLEVEL (definido
como smallint) como una serie de caracteres de longitud fija.
SELECT CHAR(EDLEVEL) FROM EMPLOYEE
CHR
CHR ( expresin )
El esquema es SYSFUN.
Devuelve el carcter que tiene el valor del cdigo ASCII especificado por el
argumento.
CLOB
CLOB ( expresin-serie-caracteres )
, entero
El esquema es SYSIBM.
COALESCE
(1)
COALESCE ( expresin , expresin )
Notas:
1 VALUE es sinnimo de COALESCE.
El esquema es SYSIBM.
Los argumentos deben ser compatibles. Consulte el apartado Reglas para los
tipos de datos del resultado en la pgina 120 para ver qu tipos de datos son
compatibles y los atributos del resultado. Puede ser un tipo de datos
incorporado o un tipo de datos definido por el usuario.35
Ejemplos:
v Cuando se seleccionan todos los valores de todas las filas de la tabla
DEPARTMENT, si falta el director del departamento (MGRNO) (es decir, es
nulo), se ha de devolver un valor de ABSENT.
SELECT DEPTNO, DEPTNAME, COALESCE(MGRNO, 'ABSENT'), ADMRDEPT
FROM DEPARTMENT
v Cuando se selecciona el nmero de empleado (EMPNO) y el salario
(SALARY) de todas las filas de la tabla EMPLOYEE, si falta el salario (es
decir, es nulo), se ha de devolver un valor de cero.
SELECT EMPNO, COALESCE(SALARY, 0)
FROM EMPLOYEE
35. Esta funcin no puede utilizarse como una funcin fuente cuando se crea una funcin definida por el usuario.
Como acepta como argumento cualquier tipo de datos compatible, no es necesario crear signaturas adicionales
para dar soporte a los tipos diferenciados definidos por el usuario.
CONCAT
(1)
CONCAT ( expresin1 , expresin2 )
Notas:
1 || se utiliza como sinnimo de CONCAT.
El esquema es SYSIBM.
COS
COS ( expresin )
El esquema es SYSFUN.
COT
COT ( expresin )
El esquema es SYSFUN.
DATE
DATE ( expresin )
El esquema es SYSIBM.
Ejemplos:
v Suponga que la columna RECEIVED (indicacin de la hora) tiene un valor
interno equivalente a 1988-12-25-17.12.30.000000.
DATE(RECEIVED)
DATE(35)
DAY
DAY ( expresin )
El esquema es SYSIBM.
El argumento debe ser una fecha, una indicacin de la hora, una duracin de
fecha, una duracin de indicacin de la hora o una representacin de serie de
caracteres vlida de una fecha o indicacin de la hora que no sea CLOB ni
LONG VARCHAR.
Ejemplos:
v Utilizando la tabla PROJECT, establezca la variable del lenguaje principal
END_DAY (smallint) en el da en que est planificado que el proyecto
WELD LINE PLANNING (PROJNAME) finalice (PRENDATE).
SELECT DAY(PRENDATE)
INTO :END_DAY
FROM PROJECT
WHERE PROJNAME = 'WELD LINE PLANNING'
DAYNAME
DAYNAME ( expresin )
El esquema es SYSFUN.
DAYOFWEEK
DAYOFWEEK ( expresin )
El esquema es SYSFUN.
DAYOFWEEK_ISO
DAYOFWEEK_ISO ( expresin )
El esquema es SYSFUN.
DAYOFYEAR
DAYOFYEAR ( expresin )
El esquema es SYSFUN.
DAYS
DAYS ( expresin )
El esquema es SYSIBM.
Ejemplos:
v Utilizando la tabla PROJECT, establezca la variable del lenguaje principal
EDUCATION_DAYS (int) en el nmero de das transcurridos (PRENDATE -
PRSTDATE) estimados para el proyecto (PROJNO) IF2000.
SELECT DAYS(PRENDATE) - DAYS(PRSTDATE)
INTO :EDUCATION_DAYS
FROM PROJECT
WHERE PROJNO = 'IF2000'
DBCLOB
DBCLOB ( expresin-grfica )
, entero
El esquema es SYSIBM.
DECIMAL
De numrico a decimal :
DECIMAL ( expresin-numrica
DEC
)
, entero-precisin
, entero-escala
De carcter a decimal:
DECIMAL ( expresin-caracteres
DEC
)
, entero-precisin
, entero-escala
, carcter-decimal
El esquema es SYSIBM.
Ejemplos:
v Utilice la funcin DECIMAL para forzar a que se devuelva un tipo de datos
DECIMAL (con una precisin de 5 y una escala de 2) en una lista-seleccin
para la columna EDLEVEL (tipo de datos = SMALLINT) en la tabla
EMPLOYEE. La columna EMPNO debe aparecer tambin en la lista de
seleccin.
SELECT EMPNO, DECIMAL(EDLEVEL,5,2)
FROM EMPLOYEE
v Suponga que la variable del lenguaje principal PERIOD es de tipo
INTEGER. En este caso, para utilizar su valor como duracin de fecha debe
convertirse a decimal(8,0).
SELECTPRSTDATE + DECIMAL(:PERIOD,8)
FROM PROJECT
v Suponga que las actualizaciones en la columna SALARY se entran mediante
una ventana como una serie de caracteres que utiliza la coma como carcter
decimal (por ejemplo, el usuario entra 21400,50). Cuando se ha validado
por la aplicacin, se asigna a la variable del lenguaje principal newsalary
definida como CHAR(10).
UPDATE STAFF
SET SALARY = DECIMAL(:newsalary, 9, 2, ',')
WHERE ID = :empid;
DECRYPT_BIN y DECRYPT_CHAR
DECRYPT_BIN ( datos-cifrados )
DECRYPT_CHAR , expresin-serie-contrasea
El esquema es SYSIBM.
Ejemplos:
DEGREES
DEGREES ( expresin )
El esquema es SYSFUN.
DEREF
DEREF ( expresin )
El esquema es SYSIBM.
La funcin DEREF devuelve una instancia del tipo de destino del argumento.
Ejemplos:
DIFFERENCE
DIFFERENCE ( expresin , expresin )
El esquema es SYSFUN.
Los argumentos pueden ser series de caracteres que sean CHAR o VARCHAR
de un mximo de 4.000 bytes.
Ejemplo:
VALUES (DIFFERENCE('CONSTRAINT','CONSTANT'),SOUNDEX('CONSTRAINT'),
SOUNDEX('CONSTANT')),
(DIFFERENCE('CONSTRAINT','CONTRITE'),SOUNDEX('CONSTRAINT'),
SOUNDEX('CONTRITE'))
DIGITS
DIGITS ( expresin )
El esquema es SYSIBM.
El argumento debe ser una expresin que devuelva un valor con el tipo
SMALLINT, INTEGER, BIGINT o DECIMAL.
Ejemplos:
v Suponga que una tabla llamada TABLEX contiene una columna INTEGER
llamada INTCOL que contiene nmeros de 10 dgitos. Liste las cuatro
combinaciones de dgitos de los cuatro primeros dgitos contenidos en la
columna INTCOL.
SELECT DISTINCT SUBSTR(DIGITS(INTCOL),1,4)
FROM TABLEX
v Suponga que la columna COLUMNX tiene el tipo de datos DECIMAL(6,2)
y que uno de sus valores es -6.28. Entonces, para este valor:
DIGITS(COLUMNX)
DLCOMMENT
DLCOMMENT ( expresin-datalink )
El esquema es SYSIBM.
El argumento debe ser una expresin que d como resultado un valor con el
tipo de datos de DATALINK.
Ejemplo:
v Prepare una sentencia para seleccionar la fecha, la descripcin y el
comentario del enlace de la columna ARTICLES de la tabla
HOCKEY_GOALS. Las filas a seleccionar son las correspondientes a los
goles marcados por cualquiera de los dos hermanos Richard (Maurice o
Henri).
stmtvar = "SELECT DATE_OF_GOAL, DESCRIPTION, DLCOMMENT(ARTICLES)
FROM HOCKEY_GOALS
WHERE BY_PLAYER = 'Maurice Richard'
OR BY_PLAYER = 'Henri Richard' ";
EXEC SQL PREPARE HOCKEY_STMT FROM :stmtvar;
v Dado un valor DATALINK que se haba insertado en la columna COLA de
una fila de la tabla TBLA mediante la funcin escalar:
DLVALUE('http://dlfs.almaden.ibm.com/x/y/a.b','URL','Un comentario')
devolver el valor:
Un comentario
DLLINKTYPE
DLLINKTYPE ( expresin-datalink )
El esquema es SYSIBM.
El argumento debe ser una expresin que d como resultado un valor con el
tipo de datos DATALINK.
Ejemplo:
v Dado un valor DATALINK que se haba insertado en la columna COLA de
una fila de la tabla TBLA mediante la funcin escalar:
DLVALUE('http://dlfs.almaden.ibm.com/x/y/a.b','URL','un comentario')
devolver el valor:
URL
DLURLCOMPLETE
DLURLCOMPLETE ( expresin-datalink )
El esquema es SYSIBM.
El argumento debe ser una expresin que d como resultado un valor con el
tipo de datos DATALINK.
Ejemplo:
v Dado un valor DATALINK que se haba insertado en la columna COLA de
una fila de la tabla TBLA mediante la funcin escalar:
DLVALUE('http://dlfs.almaden.ibm.com/x/y/a.b','URL','un comentario')
devolver el valor:
HTTP://DLFS.ALMADEN.IBM.COM/x/y/****************;a.b
DLURLPATH
DLURLPATH ( expresin-datalink )
El esquema es SYSIBM.
El argumento debe ser una expresin que d como resultado un valor con el
tipo de datos DATALINK.
Ejemplo:
v Dado un valor DATALINK que se haba insertado en la columna COLA de
una fila de la tabla TBLA mediante la funcin escalar:
DLVALUE('http://dlfs.almaden.ibm.com/x/y/a.b','URL','un comentario')
devolver el valor:
/x/y/****************;a.b
DLURLPATHONLY
DLURLPATHONLY ( expresin-datalink )
El esquema es SYSIBM.
El argumento debe ser una expresin que d como resultado un valor con el
tipo de datos DATALINK.
Ejemplo:
v Dado un valor DATALINK que se haba insertado en la columna COLA de
una fila de la tabla TBLA mediante la funcin escalar:
DLVALUE('http://dlfs.almaden.ibm.com/x/y/a.b','URL','un comentario')
devolver el valor:
/x/y/a.b
DLURLSCHEME
DLURLSCHEME ( expresin-datalink )
El esquema es SYSIBM.
El argumento debe ser una expresin que d como resultado un valor con el
tipo de datos DATALINK.
Ejemplo:
v Dado un valor DATALINK que se haba insertado en la columna COLA de
una fila de la tabla TBLA mediante la funcin escalar:
DLVALUE('http://dlfs.almaden.ibm.com/x/y/a.b','URL','un comentario')
devolver el valor:
HTTP
DLURLSERVER
DLURLSERVER ( expresin-datalink )
El esquema es SYSIBM.
El argumento debe ser una expresin que d como resultado un valor con el
tipo de datos DATALINK.
Ejemplo:
v Dado un valor DATALINK que se haba insertado en la columna COLA de
una fila de la tabla TBLA mediante la funcin escalar:
DLVALUE('http://dlfs.almaden.ibm.com/x/y/a.b','URL','un comentario')
devolver el valor:
DLFS.ALMADEN.IBM.COM
DLVALUE
DLVALUE ( ubicacin-datos
, serie-tipoenlace
, serie-comentario
El esquema es SYSIBM.
Ejemplo:
v Inserte una fila en la tabla. Los valores de URL para los dos primeros
enlaces se incluyen en las variables denominadas url_article y url_snapshot.
La variable denominada url_snapshot_comment contiene un comentario
que acompaa el enlace de snapshot. Todava no existe el enlace de movie,
slo un comentario en la variable denominada url_movie_comment.
DOUBLE
De numrico a doble :
DOUBLE ( expresin-numrica )
FLOAT
DOUBLE_PRECISION
Ejemplo:
ENCRYPT
ENCRYPT
( expresin-serie-datos )
, expresin-serie-contrasea
, expresin-serie-indicacin
El esquema es SYSIBM.
Tenga en cuenta que el resultado cifrado tiene una longitud mayor que la del
valor expresin-serie-datos. Por consiguiente, al asignar valores cifrados,
asegrese de que el destino se declara con un tamao suficiente para contener
el valor cifrado entero.
Notas:
v Algoritmo de cifrado: El algoritmo de cifrado interno utilizado es la cifra de
bloque RC2 con relleno, la clave secreta de 128 bits se deriva de la
contrasea utilizando una conversin de mensaje MD2.
v Contraseas y datos de cifrado La gestin de contraseas es
responsabilidad del usuario. Una vez que se han cifrado los datos, slo se
puede utilizar para descifrarlos la contrasea utilizada para cifrarlos
(SQLSTATE 428FD). Tenga cuidado al utilizar las variables CHAR para
establecer valores de contrasea porque pueden estar rellenadas con
espacios en blanco. El resultado cifrado puede contener el terminador nulo
y otros caracteres no imprimibles.
v Definicin de columna de tabla: Cuando defina columnas y tipos para que
contengan datos cifrados, calcule siempre el atributo de longitud del modo
siguiente.
Para datos cifrados sin indicacin:
Longitud mxima de los datos no cifrados + 8 bytes + el nmero de bytes
hasta el siguiente lmite de 8 bytes = longitud de columna de datos
cifrados.
Para datos cifrados con indicacin incorporada:
Longitud mxima de los datos no cifrados + 8 bytes + el nmero de bytes
hasta el siguiente lmite de 8 bytes + 32 bytes para la longitud de la
indicacin = longitud de columna de datos cifrados.
Cualquier asignacin o clculo a una longitud inferior a la longitud de
datos sugerida puede producir un descifrado anmalo en el futuro y hacer
que se pierdan datos. Los espacios en blanco son valores de datos cifrados
vlidos que se pueden truncar al almacenarse en una columna que es
demasiado pequea.
Ejemplos de clculos de longitud de columna:
Longitud mxima de datos no cifrados 6 bytes
8 bytes 8 bytes
Nmero de bytes hasta el siguiente lmite de
de 8 bytes 2 bytes
---------
Longitud de columna de datos cifrados 16 bytes
Ejemplos:
EVENT_MON_STATE
EVENT_MON_STATE ( expresin-serie )
El esquema es SYSIBM.
Ejemplo:
v El siguiente ejemplo selecciona todos los supervisores de sucesos definidos
e indica si cada uno est activo o inactivo:
SELECT EVMONNAME,
CASE
WHEN EVENT_MON_STATE(EVMONNAME) = 0 THEN 'Inactivo'
WHEN EVENT_MON_STATE(EVMONNAME) = 1 THEN 'Active'
END
FROM SYSCAT.EVENTMONITORS
EXP
EXP ( expresin )
El esquema es SYSFUN.
FLOAT
FLOAT ( expresin-numrica )
El esquema es SYSIBM.
FLOOR
FLOOR ( expresin )
El esquema es SYSFUN.
GETHINT
GETHINT ( datos-cifrados )
El esquema es SYSIBM.
Ejemplo:
GENERATE_UNIQUE
GENERATE_UNIQUE ( )
El esquema es SYSIBM.
No hay ningn argumento para esta funcin (se han de especificar los
parntesis vacos).
Ejemplos:
v Cree una tabla que incluya una columna que sea exclusiva para cada fila.
Llene esta columna utilizando la funcin GENERATE_UNIQUE. Tenga en
cuenta que la columna UNIQUE_ID tiene especificado FOR BIT DATA
para identificar la columna como una serie de caracteres de datos de bits.
36. Se utiliza el reloj del sistema para generar la indicacin de la Hora Universal Coordinada (UTC) junto con el
nmero de particin en la que se ejecuta la funcin. Los ajustes que retrasan el reloj del sistema real podran
generar valores duplicados.
Esta tabla tendr un identificador exclusivo para cada fila siempre que la
columna UNIQUE_ID se establezca siempre utilizando
GENERATE_UNIQUE. Esto se puede realizar introduciendo un
desencadenante en la tabla.
CREATE TRIGGER EMP_UPDATE_UNIQUE
NO CASCADE BEFORE INSERT ON EMP_UPDATE
REFERENCING NEW AS NEW_UPD
FOR EACH ROW MODE DB2SQL
SET NEW_UPD.UNIQUE_ID = GENERATE_UNIQUE()
GRAPHIC
GRAPHIC ( expresin-grfica )
, entero
El esquema es SYSIBM.
HEX
HEX ( expresin )
El esquema es SYSIBM.
El argumento puede ser una expresin que sea un valor de cualquier tipo de
datos incorporado, con una longitud mxima de 16.336 bytes.
Ejemplos:
HOUR
HOUR ( expresin )
El esquema es SYSIBM.
El argumento debe ser una hora, una indicacin de fecha y hora, una
duracin de hora, una duracin de indicacin de fecha y hora o una
representacin de serie de caracteres vlida de una hora o de una fecha y hora
que no sea CLOB ni LONG VARCHAR.
Ejemplo:
IDENTITY_VAL_LOCAL
IDENTITY_VAL_LOCAL ( )
El esquema es SYSIBM.
37. Se inicia un nivel nuevo cada vez que se invoca un desencadenante, una funcin o un procedimiento almacenado.
38. A menos que se desactive la confirmacin automtica, las interfaces que realizan confirmaciones automticas
despus de cada sentencia devolvern un valor nulo cuando se invoca la funcin en sentencias independientes.
Notas:
v Las expresiones de la clusula VALUES de una sentencia INSERT se
evalan antes que las asignaciones para las columnas de destino de la
sentencia INSERT. Por consiguiente, una invocacin de una funcin
IDENTITY_VAL_LOCAL en la clusula VALUES de una sentencia INSERT
utilizar el valor asignado ms recientemente de una columna de identidad
de una sentencia INSERT anterior. La funcin devuelve el valor nulo si no
se ha ejecutado ninguna sentencia INSERT de fila individual anterior con
una clusula VALUES para una tabla que contiene una columna de
identidad dentro del mismo nivel que la funcin IDENTITY_VAL_LOCAL.
v El valor de columna de identidad de la tabla para la que se define el
desencadenante puede determinarse dentro de un desencadenante,
haciendo referencia a la variable de transicin desencadenante para la
columna de identidad.
v El resultado de la invocacin de la funcin IDENTITY_VAL_LOCAL desde
dentro de la condicin desencadenante de un desencadenante de insercin
es un valor nulo.
v Es posible que existan mltiples desencadenantes de insercin anteriores o
posteriores para una tabla. En este caso, cada desencadenante se procesa
por separado y los valores de identidad asignados por una accin
desencadenada no estn disponibles para las dems acciones
desencadenadas utilizando la funcin IDENTITY_VAL_LOCAL. Esto es
vlido incluso aunque las mltiples acciones desencadenadas estn
definidas conceptualmente al mismo nivel.
v Generalmente no es recomendable utilizar la funcin
IDENTITY_VAL_LOCAL en el cuerpo de un desencadenante anterior
(before) de insercin. El resultado de la invocacin de la funcin
IDENTITY_VAL_LOCAL desde dentro de la accin desencadenada de un
desencadenante de insercin anterior es el valor nulo. El valor de la
columna de identidad de la tabla para la que se ha definido el
desencadenante no se puede obtener invocando la funcin
IDENTITY_VAL_LOCAL en la accin desencadenada de un desencadenante
de insercin anterior. Sin embargo, el valor de la columna de identidad
puede obtenerse en la accin desencadenada, haciendo referencia a la
variable de transicin desencadenante para la columna de identidad.
v El resultado de la invocacin de la funcin IDENTITY_VAL_LOCAL desde
dentro de la accin desencadenada de un desencadenante posterior (after)
de insercin39 es el valor asignado a una columna de identidad de la tabla
identificada en la sentencia INSERT de fila individual ms reciente
39. Esto se aplica a los desencadenantes posteriores (after) de insercin FOR EACH ROW y FOR EACH STATEMENT.
Ejemplos:
CREATE TABLE T1
(C1 INTEGER GENERATED ALWAYS AS IDENTITY,
C2 INTEGER),
CREATE TABLE T2
(C1 DECIMAL(15,0) GENERATED BY DEFAULT AS IDENTITY
(START WITH 10),
C2 INTEGER),
INSERT INTO T1 (C2) VALUES (5),
INSERT INTO T1 (C2) VALUES (6),
SELECT * FROM T1
ACNT_NUM EMPNO
----------- -----------
1 1000
ID ACNT_NUM EMPNO
----------- ----------- -----------
100 1 1000
INSERT
INSERT ( expresin1 , expresin2 , expresin3 , expresin4 )
El esquema es SYSFUN.
Ejemplo:
v Suprima un carcter de la palabra DINING e inserte VID, empezando en
el tercer carcter.
VALUES CHAR(INSERT('DINING', 3, 1, 'VID'), 10)
INTEGER
INTEGER ( expresin-numrica )
INT expresin-caracteres
El esquema es SYSIBM.
Ejemplos:
v Utilizando la tabla EMPLOYEE, seleccione una lista que contenga el salario
(SALARY) dividido por el nivel de formacin (EDLEVEL). Trunque
cualquier decimal en el clculo. La lista tambin debe contener los valores
utilizados en el clculo y el nmero de empleado (EMPNO). La lista debe
estar en orden descendente del valor calculado.
SELECT INTEGER (SALARY / EDLEVEL), SALARY, EDLEVEL, EMPNO
FROM EMPLOYEE
ORDER BY 1 DESC
v Utilizando la tabla EMPLOYEE, seleccione la columna EMPNO en el
formato de enteros para procesarla ms en la aplicacin.
JULIAN_DAY
JULIAN_DAY ( expresin )
El esquema es SYSFUN.
LCASE o LOWER
LCASE ( expresin-serie )
LOWER
El esquema es SYSIBM. 40
Las funciones LCASE o LOWER devuelve una serie en la cual todos los
caracteres SBCS se han convertido a minsculas (es decir, los caracteres de la
A a la Z se convertirn en los caracteres de la a a la z, y los caracteres con
signos diacrticos se convertirn a sus minsculas equivalentes, si existen. Por
ejemplo, en la pgina de cdigos 850, se correlaciona con ). Puesto que no
se convierten todos los caracteres, LCASE(UCASE(expresin-serie)) no devuelve
necesariamente el mismo resultado que LCASE(expresin-serie).
El argumento debe ser una expresin cuyo valor sea un tipo de datos CHAR
o VARCHAR.
Notas:
40. Contina estando disponible la versin SYSFUN de esta funcin con el soporte para los argumentos LONG
VARCHAR y CLOB. Vea LCASE (esquema SYSFUN) en la pgina 357 para obtener una descripcin.
El esquema es SYSFUN.
LEFT
LEFT ( expresin1 , expresin2 )
El esquema es SYSFUN.
LENGTH
LENGTH ( expresin )
El esquema es SYSIBM.
Ejemplos:
v Suponga que la variable del lenguaje principal ADDRESS es una serie de
caracteres de longitud variable con un valor de '895 Don Mills Road'.
LENGTH(:ADDRESS)
Devuelve el valor 4.
v Este ejemplo devuelve el valor 10.
LENGTH(CHAR(START_DATE, EUR))
LN
LN ( expresin )
El esquema es SYSFUN.
LOCATE
LOCATE ( expresin1 , expresin2 )
, expresin3
El esquema es SYSFUN.
Ejemplo:
v Busque la ubicacin de la letra N (primera ocurrencia) en la palabra
DINING.
VALUES LOCATE ('N', 'DINING')
LOG
LOG ( expresin )
El esquema es SYSFUN.
LOG10
LOG10 ( expresin )
El esquema es SYSFUN.
LONG_VARCHAR
LONG_VARCHAR ( expresin-serie-caracteres )
El esquema es SYSIBM.
LONG_VARGRAPHIC
LONG_VARGRAPHIC ( expresin-grfica )
El esquema es SYSIBM.
LTRIM
LTRIM ( expresin-serie )
El esquema es SYSIBM. 41
Ejemplo: Suponga que la variable del lenguaje principal HELLO est definida
como CHAR(9) y tiene el valor Hola.
VALUES LTRIM(:HELLO)
El resultado es Hola.
41. Contina estando disponible la versin SYSFUN de esta funcin con el soporte para los argumentos LONG
VARCHAR y CLOB. Vea LTRIM (esquema SYSFUN) en la pgina 368 para obtener una descripcin.
El esquema es SYSFUN.
Devuelve los caracteres del argumento con los blancos iniciales eliminados.
MICROSECOND
MICROSECOND ( expresin )
El esquema es SYSIBM.
Ejemplo:
v Suponga que una tabla TABLEA contiene dos columnas, TS1 y TS2, del tipo
TIMESTAMP. Seleccione todas las filas cuya parte correspondiente a los
microsegundos de TS1 no sea cero y las partes correspondientes a los
segundos de TS1 y TS2 sean idnticas.
SELECT * FROM TABLEA
WHERE MICROSECOND(TS1) <> 0 AND
SECOND(TS1) = SECOND(TS2)
MIDNIGHT_SECONDS
MIDNIGHT_SECONDS ( expresin )
El esquema es SYSFUN.
Ejemplo:
v Encuentre el nmero de segundos entre la medianoche y 00:10:10 y la
medianoche y 13:10:10.
VALUES (MIDNIGHT_SECONDS('00:10:10'), MIDNIGHT_SECONDS('13:10:10'))
MINUTE
MINUTE ( expresin )
El esquema es SYSIBM.
El argumento debe ser una hora, una indicacin de fecha y hora, una
duracin de hora, una duracin de indicacin de fecha y hora o una
representacin de serie de caracteres vlida de una hora o de una fecha y hora
que no sea CLOB ni LONG VARCHAR.
Ejemplo:
v Utilizando la tabla de ejemplo CL_SCHED, seleccione todas las clases con
una duracin inferior a 50 minutos.
SELECT * FROM CL_SCHED
WHERE HOUR(ENDING - STARTING) = 0 AND
MINUTE(ENDING - STARTING) < 50
MOD
MOD ( expresin , expresin )
El esquema es SYSFUN.
MONTH
MONTH ( expresin )
El esquema es SYSIBM.
El argumento debe ser una fecha, una indicacin de la hora, una duracin de
fecha, una duracin de indicacin de la hora o una representacin de serie de
caracteres vlida de una fecha o indicacin de la hora que no sea CLOB ni
LONG VARCHAR.
Ejemplo:
v Seleccione todas las filas de la tabla EMPLOYEE de las personas que han
nacido (BIRTHDATE) en diciembre (DECEMBER).
SELECT * FROM EMPLOYEE
WHERE MONTH(BIRTHDATE) = 12
MONTHNAME
MONTHNAME ( expresin )
El esquema es SYSFUN.
MQPUBLISH
MQPUBLISH ( datos-msj
servicio-publicacin ,
poltica-servicio ,
)
, tema
(1)
, id-correl
Notas:
1 El id-correl no se puede especificar a no ser que se hayan
definido anteriormente un servicio y una poltica.
El esquema es MQDB2.
Ejemplos
MQREAD
MQREAD ( )
servicio-recepcin
, poltica-servicio
El esquema es MQDB2.
Ejemplos:
MQRECEIVE
MQRECEIVE
( )
servicio-recepcin
, poltica-servicio
, id-correl
El esquema es MQDB2.
42. Una Poltica de servicio define un conjunto de opciones de calidad de servicio que deben aplicarse a esta
operacin de mensajera. Estas opciones incluyen la prioridad de mensaje y la permanencia de mensaje. Consulte
el manual de MQSeries Application Messaging Interface para obtener detalles adicionales.
Ejemplos:
MQSEND
MQSEND ( datos-msj
servicio-envo ,
poltica-servicio ,
)
(1)
, id-correl
Notas:
1 El id-correl no se puede especificar a no ser que se hayan
definido anteriormente un servicio y una poltica.
El esquema es MQDB2.
Ejemplos:
MQSUBSCRIBE
MQSUBSCRIBE ( tema )
servicio-suscripcin ,
poltica-servicio ,
El esquema es MQDB2.
tema
Serie que define los tipos de mensajes que se deben recibir. Esta
suscripcin slo recibir los mensajes publicados con los temas
especificados. Pueden coexistir mltiples suscripciones. El tamao mximo
es de 40 bytes. Se pueden especificar mltiples temas en una serie (de una
longitud mxima de 40). Cada tema debe estar separado por dos puntos.
Por ejemplo, t1:t2:el tercer tema indica que el mensaje est asociado con
los tres temas: t1, t2 y el tercer tema.
Ejemplos:
MQUNSUBSCRIBE
MQUNSUBSCRIBE ( tema
servicio-suscripcin ,
poltica-servicio ,
El esquema es MQDB2.
Ejemplos:
MULTIPLY_ALT
MULTIPLY_ALT ( expresin_numrica_exacta , expresin_numrica_exacta )
El esquema es SYSIBM.
Ejemplo:
NODENUMBER
NODENUMBER ( nombre-columna )
El esquema es SYSIBM.
43. Esta funcin no puede utilizarse como una funcin fuente cuando se crea una funcin definida por el usuario.
Como acepta cualquier tipo de datos como argumento, no es necesario crear signaturas adicionales para dar
soporte a los tipos diferenciados definidos por el usuario.
Ejemplos:
v Cuente el nmero de filas en las que la fila para un EMPLOYEE est en
una particin diferente de la descripcin del departamento del empleado en
DEPARTMENT.
SELECT COUNT(*) FROM DEPARTMENT D, EMPLOYEE E
WHERE D.DEPTNO=E.WORKDEPT
AND NODENUMBER(E.LASTNAME) <> NODENUMBER(D.DEPTNO)
v Una las tablas EMPLOYEE y DEPARTMENT donde las filas de las dos
tablas estn en la misma particin.
SELECT * FROM DEPARTMENT D, EMPLOYEE E
WHERE NODENUMBER(E.LASTNAME) = NODENUMBER(D.DEPTNO)
v Anote cronolgicamente el nmero de empleado y el nmero de particin
proyectado de la nueva fila en una tabla denominada EMPINSERTLOG1
para cualquier insercin de empleados creando un desencadenante BEFORE
en la tabla EMPLOYEE.
CREATE TRIGGER EMPINSLOGTRIG1
BEFORE INSERT ON EMPLOYEE
REFERENCING NEW AW NEWTABLE
FOR EACH MODE ROW MODE DB2SQL
INSERT INTO EMPINSERTLOG1
VALUES(NEWTABLE.EMPNO, NODENUMBER(NEWTABLE.EMPNO))
NULLIF
NULLIF ( expresin , expresin )
El esquema es SYSIBM.
Observe que cuando e1=e2 se evala como desconocido (porque uno o los dos
argumentos son NULL), las expresiones CASE lo consideran como no
verdadero. Por lo tanto, en esta situacin, NULLIF devuelve el valor del
primer argumento.
Ejemplo:
v Suponga que las variables PROFIT, CASH y LOSSES tienen tipos de datos
DECIMAL con los valores 4500.00, 500.00 y 5000.00 respectivamente:
NULLIF (:PROFIT + :CASH , :LOSSES )
44. Esta funcin no puede utilizarse como una funcin fuente cuando se crea una funcin definida por el usuario.
Como acepta cualquier tipo de datos compatible como argumento, no es necesario crear signaturas adicionales
para dar soporte a los tipos de datos diferenciados definidos por el usuario.
PARTITION
PARTITION ( nombre-columna )
El esquema es SYSIBM.
45. Esta funcin no puede utilizarse como una funcin fuente cuando se crea una funcin definida por el usuario.
Como acepta cualquier tipo de datos como argumento, no es necesario crear signaturas adicionales para dar
soporte a los tipos diferenciados definidos por el usuario.
Ejemplo:
v Liste los nmeros de empleado (EMPNO) de la tabla EMPLOYEE para
todas las filas con un ndice de mapa de particionamiento de 100.
SELECT EMPNO FROM EMPLOYEE
WHERE PARTITION(PHONENO) = 100
v Anote el nmero de empleado y el ndice de mapa de particionamiento
previsto de la nueva fila en una tabla denominada EMPINSERTLOG2 para
cualquier insercin de empleados creando un desencadenante BEFORE en
la tabla EMPLOYEE.
CREATE TRIGGER EMPINSLOGTRIG2
BEFORE INSERT ON EMPLOYEE
REFERENCING NEW AW NEWTABLE
FOR EACH MODE ROW MODE DB2SQL
INSERT INTO EMPINSERTLOG2
VALUES(NEWTABLE.EMPNO, PARTITION(NEWTABLE.EMPNO))
POSSTR
POSSTR ( serie-fuente , serie-bsqueda )
El esquema es SYSIBM.
Tenga en cuenta que estas reglas son iguales que las de la expresin-patrn
descrita en el apartado Predicado LIKE en la pgina 223.
La funcin POSSTR acepta las series de datos mixtos. Sin embargo, POSSTR
opera sobre la base de un nmero de bytes estricto, ajeno a los cambios entre
caracteres de un solo byte o de mltiples bytes.
Ejemplo
v Seleccione las columnas RECEIVED y SUBJECT as como la posicin inicial
de las palabras GOOD BEER de la columna NOTE_TEXT para todas las
entradas de la tabla IN_TRAY que contienen estas palabras.
POWER
POWER ( expresin1 , expresin2 )
El esquema es SYSFUN.
QUARTER
QUARTER ( expresin )
El esquema es SYSFUN.
RADIANS
RADIANS ( expresin )
El esquema es SYSFUN.
RAISE_ERROR
RAISE_ERROR ( sqlstate , serie-diagnstico )
El esquema es SYSIBM.
Para utilizar esta funcin en un contexto en el que las Reglas para los tipos de
datos del resultado no se aplican (por ejemplo, solo en una lista de seleccin),
se debe utilizar una especificacin de conversin (cast) para dar un tipo de
datos al valor nulo devuelto. La funcin RAISE_ERROR ser ms til en una
expresin CASE.
Ejemplo:
RAND
RAND ( )
expresin
El esquema es SYSFUN.
REAL
REAL ( expresin-numrica )
El esquema es SYSIBM.
Ejemplo:
REC2XML
REC2XML ( constante-decimal , serie-formato , serie-cdigo-fila
, nombre-columna )
El esquema es SYSIBM.
La funcin REC2XML devuelve una serie que est formateada con cdigos
XML y que contiene nombres de columna y datos de columna.
constante-decimal
Factor de expansin para sustituir caracteres de datos de columna. El
valor decimal debe ser mayor que 0.0 y menor que o igual a 6.0.
(SQLSTATE 42820).
El valor constante-decimal se utiliza para calcular la longitud de resultado
de la funcin. Para cada columna con un tipo de datos de tipo carcter, el
atributo de longitud de la columna se multiplica por este factor de
expansin antes de que se sume a la longitud de resultado.
Para especificar que no haya expansin, utilice un valor de 1.0. Si se
especifica un valor menor que 1.0, se reducir la longitud de resultado
calculada. Si la longitud real de la serie de resultado es mayor que la
longitud de resultado calculada de la funcin, se producir un error
(SQLSTATE 22001).
serie-formato
Constante de serie que especifica qu formato debe utilizar la funcin
durante la ejecucin.
La serie-formato es sensible a las maysculas y minsculas, de modo que
los valores siguientes deben especificarse en maysculas para que se
reconozcan.
COLATTVAL o COLATTVAL_XML
Estos formatos devuelven una serie con columnas como valores de
atributo.
< serie-cdigo-fila >
donde yn es equivalente a:
'<column name="' CONCAT xvcn CONCAT vn
y vn es equivalente a:
'">' CONCAT rn CONCAT '</column>'
si la columna no es nula y
'" null="true"/>'
Sustitucin de caracteres:
Ejemplos:
<row>
<column name="DEPTNO">D01</column>
<column name="MGRNO" null="true"/>
<column name="ADMRDEPT">A00</column>
</row>
v Una planificacin universitaria de 5 das introduce una clase llamada
&43<FIE en una tabla llamada CL_SCHED, con un formato nuevo para la
columna CLASS_CODE. Utilizando la funcin REC2XML, este ejemplo
formatea una serie XML con estos datos de clase nuevos, exceptuando la
hora final de clase.
El atributo de longitud para la llamada REC2XML (vea ms abajo) con un
factor de expansin de 1.0 ser 128 (11 para la actividad general de <row>
y </row>, 21 para los nombres de columna, 75 para <column name=, >,
</column> y las comillas dobles, 7 para los datos CLASS_CODE, 6 para
los datos DAY y 8 para los datos STARTING). Dado que los caracteres & y
< se sustituirn, no ser suficiente un factor de expansin de 1.0. El
atributo de longitud de la funcin necesitar soportar un incremento de 7 a
14 caracteres para los datos CLASS_CODE de formato nuevo.
Sin embargo, puesto que se sabe que el valor DAY no tendr nunca ms de
1 dgito de longitud, se aaden al total 5 unidades adicionales no utilizadas
de longitud. Por consiguiente, la expansin slo necesita manejar un
incremento de 2. Dado que CLASS_CODE es la nica columna de serie de
caracteres de la lista de argumentos, stos son los nicos datos de columna
a los que se aplica el factor de expansin. Para obtener un incremento de 2
para la longitud, sera necesario un factor de expansin de 9/7 (1.2857
aproximadamente). Se utilizar un factor de expansin de 1.3.
SELECT REC2XML (1.3, 'COLATTVAL', 'record', CLASS_CODE, DAY, STARTING)
FROM CL_SCHED
WHERE CLASS_CODE = '&43<FIE'
Este ejemplo devuelve una fila para cada empleado que tiene un resumen
en formato XML. Cada fila devuelta ser una serie con el formato siguiente:
<row>
<column name="EMPNO">{nmero de empleado}</column>
<column name="RESUME_XML">{resumen en XML}</column>
</row>
REPEAT
REPEAT ( expresin , expresin )
El esquema es SYSFUN.
Ejemplo:
v Liste la frase REPITA ESTO cinco veces.
VALUES CHAR(REPEAT('REPITA ESTO', 5), 60)
REPLACE
REPLACE ( expresin1 , expresin2 , expresin3 )
El esquema es SYSFUN.
Ejemplo:
v Sustituya todas las ocurrencias de la letra N en la palabra DINING por
VID.
VALUES CHAR (REPLACE ('DINING', 'N', 'VID'), 10)
RIGHT
RIGHT ( expresin1 , expresin2 )
El esquema es SYSFUN.
ROUND
ROUND ( expresin1 , expresin2 )
El esquema es SYSIBM.
El tipo de datos y el atributo de longitud del resultado son iguales que el tipo
de datos y el atributo de longitud del primer argumento, excepto en que la
precisin se incrementa en uno si la expresin1 es DECIMAL y la precisin es
inferior a 31.
Ejemplos:
RTRIM
RTRIM ( expresin-serie )
El esquema es SYSIBM. 47
Ejemplo: Suponga que la variable del lenguaje principal HELLO est definida
como CHAR(9) y tiene el valor Hola.
VALUES RTRIM(:HELLO)
El resultado es Hola.
47. Contina estando disponible la versin SYSFUN de esta funcin con el soporte para los argumentos LONG
VARCHAR y CLOB. Vea RTRIM (esquema SYSFUN) en la pgina 417 para obtener una descripcin.
El esquema es SYSFUN.
Devuelve los caracteres del argumento con los blancos de cola eliminados.
SECOND
SECOND ( expresin )
El esquema es SYSIBM.
El argumento debe ser una hora, una indicacin de fecha y hora, una
duracin de hora, una duracin de indicacin de fecha y hora o una
representacin vlida de serie de caracteres de una hora o de una fecha y hora
que no sea CLOB ni LONG VARCHAR.
Ejemplos:
v Suponga que la variable del lenguaje principal TIME_DUR (decimal(6,0))
tiene el valor 153045.
SECOND(:TIME_DUR)
SIGN
SIGN ( expresin )
El esquema es SYSFUN.
SIN
SIN ( expresin )
El esquema es SYSFUN.
SMALLINT
SMALLINT ( expresin-numrica )
expresin-caracteres
El esquema es SYSIBM.
SOUNDEX
SOUNDEX ( expresin )
El esquema es SYSFUN.
Ejemplo:
SPACE
SPACE ( expresin )
El esquema es SYSFUN.
SQRT
SQRT ( expresin )
El esquema es SYSFUN.
SUBSTR
SUBSTR ( serie , inicio )
, longitud
El esquema es SYSIBM.
Ejemplos:
v Suponga que la variable del lenguaje principal NAME (VARCHAR(50))
tiene un valor de BLUE JAY y la variable del lenguaje principal
SURNAME_POS (int) tiene un valor de 6.
SUBSTR(:NAME, :SURNAME_POS):ehp2s
Devuelve el valor J.
v Seleccione todas las filas de la tabla PROJECT para las que el nombre del
proyecto (PROJNAME) empiece por la palabra OPERATION .
TABLE_NAME
TABLE_NAME ( nombreobjeto )
, esquemaobjeto
El esquema es SYSIBM.
Ejemplos:
TABLE_SCHEMA
TABLE_SCHEMA ( nombreobjeto )
, esquemaobjeto
El esquema es SYSIBM.
Ejemplos:
v PBIRD intenta seleccionar las estadsticas para una tabla determinada de
SYSCAT.TABLES utilizando un seudnimo PBIRD.A1 definido en la tabla
HEDGES.T1.
SELECT NPAGES, CARD FROM SYSCAT.TABLES
WHERE TABNAME = TABLE_NAME ('A1')
AND TABSCHEMA = TABLE_SCHEMA ('A1')
Suponiendo que HEDGES.X1 sea una tabla, las estadsticas solicitadas para
HEDGES.X1 se recuperan del catlogo.
v Seleccione las estadsticas para una tabla determinada de SYSCAT.TABLES
utilizando un seudnimo PBIRD.A2 definido en HEDGES.T2 donde
HEDGES.T2 no existe.
SELECT NPAGES, CARD FROM SYSCAT.TABLES
WHERE TABNAME = TABLE_NAME ('A2','PBIRD')
AND TABSCHEMA = TABLE_SCHEMA ('A2',PBIRD')
TAN
TAN ( expresin )
El esquema es SYSFUN.
TIME
TIME ( expresin )
El esquema es SYSIBM.
El argumento debe ser una hora, una indicacin de fecha y hora o una
representacin de serie de caracteres vlida de una hora o de una fecha y hora
que no sea CLOB ni LONG VARCHAR.
Ejemplo:
v Seleccione todas las notas de la tabla de ejemplo IN_TRAY que se hayan
recibido como mnimo una hora ms tarde (de cualquier da) que la hora
actual.
SELECT * FROM IN_TRAY
WHERE TIME(RECEIVED) >= CURRENT TIME + 1 HOUR
TIMESTAMP
TIMESTAMP ( expresin )
,expresin
El esquema es SYSIBM.
Ejemplo:
v Suponga que la columna START_DATE (fecha) tiene un valor equivalente a
1988-12-25 y la columna START_TIME (hora) tiene un valor equivalente a
17.12.30.
TIMESTAMP(START_DATE, START_TIME)
TIMESTAMP_ISO
TIMESTAMP_ISO ( expresin )
El esquema es SYSFUN.
TIMESTAMPDIFF
TIMESTAMPDIFF ( expresin , expresin )
El esquema es SYSFUN.
TRANSLATE
expresin de serie de caracteres:
TRANSLATE ( exp-serie-car
)
,
, a-exp-serie , de-exp-serie
, car-relleno
,
)
, car-relleno
El esquema es SYSIBM.
Si los argumentos son del tipo de datos CHAR o VARCHAR, los caracteres
correspondientes de la a-exp-serie y la de-exp-serie deben tener el mismo
nmero de bytes. Por ejemplo, no es vlido convertir un carcter de un solo
byte a un carcter de mltiples bytes o viceversa. Se generar un error si se
intenta realizarlo. La exp-car-relleno no debe ser el primer byte de un carcter
de mltiples bytes vlido o se devuelve SQLSTATE 42815. Si la exp-car-relleno
no est presente, se tomar un blanco de un solo byte.
Ejemplos:
v Suponga que la variable del lenguaje principal SITE (VARCHAR(30)) tiene
un valor de Hanauma Bay.
TRANSLATE(:SITE)
TRUNCATE o TRUNC
TRUNCATE ( expresin , expresin )
TRUNC
El esquema es SYSFUN.
TYPE_ID
TYPE_ID ( expresin )
El esquema es SYSIBM.
Ejemplos:
v Existe una jerarqua de tablas que tiene una tabla raz EMPLOYEE de tipo
EMP y una subtabla MANAGER de tipo MGR. Otra tabla ACTIVITIES
incluye una columna denominada WHO_RESPONSIBLE que se define
como REF(EMP) SCOPE EMPLOYEE. Para cada referencia de ACTIVITIES,
visualice el identificador de tipo interno de la fila que corresponda a la
referencia.
SELECT TASK, WHO_RESPONSIBLE>NAME,
TYPE_ID(DEREF(WHO_RESPONSIBLE))
FROM ACTIVITIES
48. Esta funcin no puede utilizarse como una funcin fuente cuando se crea una funcin definida por el usuario.
Como acepta cualquier tipo de datos estructurado como argumento, no es necesario crear signaturas adicionales
para dar soporte a los diferentes tipos definidos por el usuario.
TYPE_NAME
TYPE_NAME ( expresin )
El esquema es SYSIBM.
Ejemplos:
v Existe una jerarqua de tablas que tiene una tabla raz EMPLOYEE de tipo
EMP y una subtabla MANAGER de tipo MGR. Otra tabla ACTIVITIES
incluye una columna denominada WHO_RESPONSIBLE que se define
como REF(EMP) SCOPE EMPLOYEE. Para cada referencia de ACTIVITIES,
visualice el tipo de la fila que corresponda a la referencia.
SELECT TASK, WHO_RESPONSIBLE>NAME,
TYPE_NAME(DEREF(WHO_RESPONSIBLE)),
TYPE_SCHEMA(DEREF(WHO_RESPONSIBLE))
FROM ACTIVITIES
49. Esta funcin no puede utilizarse como una funcin fuente cuando se crea una funcin definida por el usuario.
Como acepta cualquier tipo de datos estructurado como argumento, no es necesario crear signaturas adicionales
para dar soporte a los diferentes tipos definidos por el usuario.
TYPE_SCHEMA
TYPE_SCHEMA ( expresin )
El esquema es SYSIBM.
Ejemplos:
50. Esta funcin no puede utilizarse como una funcin fuente cuando se crea una funcin definida por el usuario.
Como acepta cualquier tipo de datos estructurado como argumento, no es necesario crear signaturas adicionales
para dar soporte a los diferentes tipos definidos por el usuario.
UCASE o UPPER
UCASE ( expresin )
UPPER
El esquema es SYSIBM.51
Notas:
51. La versin SYSFUN de esta funcin sigue estando disponible para la compatibilidad con versiones superiores.
Para obtener una descripcin, consulte la documentacin de la Versin 5.
VALUE
El esquema es SYSIBM.
VARCHAR
De caracteres a varchar:
VARCHAR ( expresin-serie-caracteres )
, entero
De grfico a varchar:
VARCHAR ( expresin-serie-grfica )
, entero
El esquema es SYSIBM.
De Grfico a varchar slo es vlido para una base de datos UCS-2. En bases
de datos que no sean Unicode, esto no est permitido.
De caracteres a varchar
expresin-serie-caracteres
Una expresin cuyo valor debe ser de tipo serie de caracteres, distinto de
LONG VARGRAPHIC y DBCLOB, con una longitud mxima de 32.672
bytes.
entero
El atributo de longitud para la serie de caracteres de longitud variable
resultante. El valor debe estar entre 0 y 32 672. Si no se especifica este
argumento, la longitud del resultado es igual que la longitud del
argumento.
expresin-fechahora
Una expresin cuyo valor debe ser de tipo de datos de fecha, hora o
indicacin de la hora.
De grfico a varchar
expresin-serie-grfica
Una expresin cuyo valor debe ser de tipo serie grfica, distinto de LONG
VARGRAPHIC y DBCLOB, con una longitud mxima de 16.336 bytes.
entero
El atributo de longitud para la serie de caracteres de longitud variable
resultante. El valor debe estar entre 0 y 32 672. Si no se especifica este
argumento, la longitud del resultado es igual que la longitud del
argumento.
Ejemplo:
v Utilizando la tabla EMPLOYEE, establezca la variable del lenguaje principal
JOB_DESC (VARCHAR(8)) en el equivalente VARCHAR de la descripcin
del trabajo (JOB definido como CHAR(8)) para la empleada Dolores
Quintana.
SELECT VARCHAR(JOB)
INTO :JOB_DESC
FROM EMPLOYEE
WHERE LASTNAME = 'QUINTANA'
VARGRAPHIC
De carcter a vargraphic:
VARGRAPHIC ( expresin-serie-caracteres )
De grfico a vargraphic:
VARGRAPHIC ( expresin-serie-grfica )
, entero
El esquema es SYSIBM.
De carcter a vargraphic
expresin-serie-caracteres
Una expresin cuyo valor debe ser de tipo serie de caracteres, distinto de
LONG VARCHAR o CLOB, y cuya longitud mxima no debe ser mayor
que 16.336 bytes.
De grfico a vargraphic
expresin-serie-grfica
Una expresin que devuelve un valor que es una serie grfica.
entero
El atributo de longitud para la serie grfica de longitud variable
resultante. El valor debe estar entre 0 y 16 336. Si no se especifica este
argumento, la longitud del resultado es igual que la longitud del
argumento.
WEEK
WEEK ( expresin )
El esquema es SYSFUN.
El argumento debe ser una fecha, una indicacin de fecha y hora o una
representacin de serie de caracteres vlida de una fecha o de una fecha y
hora que no sea CLOB ni LONG VARCHAR.
WEEK_ISO
WEEK_ISO ( expresin )
El esquema es SYSFUN.
El argumento debe ser una fecha, una indicacin de la fecha y hora o una
representacin de serie de caracteres vlida de una fecha o de una indicacin
de la fecha y hora que no sea CLOB ni LONG VARCHAR.
Ejemplo:
YEAR
YEAR ( expresin )
El esquema es SYSIBM.
El argumento debe ser una fecha, una indicacin de fecha y hora, una
duracin de fecha, una duracin de indicacin de fecha y hora o una
representacin vlida de serie de caracteres de una fecha o de una fecha y
hora que no sea CLOB ni LONG VARCHAR.
Las dems reglas dependen del tipo de datos del argumento especificado:
v Si el argumento es una fecha, una indicacin de fecha y hora o una
representacin vlida de serie de caracteres de una fecha o de una fecha y
hora:
El resultado es la parte correspondiente al ao del valor, que es un
entero entre 1 y 9.999.
v Si el argumento es una duracin de fecha o duracin de indicacin de fecha
y hora:
El resultado es la parte correspondiente al ao del valor, que es un
entero entre 9.999 y 9.999. El resultado que no es cero tiene el mismo
signo que el argumento.
Ejemplos:
v Seleccione todos los proyectos de la tabla PROJECT que se han planificado
para empezar (PRSTDATE) y finalizar (PRENDATE) en el mismo ao.
SELECT * FROM PROJECT
WHERE YEAR(PRSTDATE) = YEAR(PRENDATE)
v Seleccione todos los proyectos de la tabla PROJECT que se haya planificado
que finalizasen en menos de un ao.
SELECT * FROM PROJECT
WHERE YEAR(PRENDATE - PRSTDATE) < 1
Funciones de tabla
Slo se puede utilizar una funcin de tabla en la clusula FROM de una
sentencia. Sin embargo, las expresiones o funciones de columnas no se pueden
utilizar en una funcin de tabla.
Las funciones de tabla devuelven las columnas de una tabla, lo que se parece
a una tabla creada por una sentencia CREATE TABLE simple.
Las funciones de tabla que siguen pueden estar calificados por el nombre de
esquema.
MQREADALL
MQREADALL (
servicio-recepcin nm-filas
, poltica-servicio
El esquema es MQDB2.
La funcin MQREADALL devuelve una tabla que contiene los mensajes y los
metadatos de mensaje de la ubicacin MQSeries especificada por
servicio-recepcin, utilizando la poltica de calidad de servicio poltica-servicio. Al
realizar esta operacin no se eliminan los mensajes de la cola asociada con
servicio-recepcin.
Ejemplos:
MQRECEIVEALL
MQRECEIVEALL (
servicio-recepcin
, poltica-servicio
, id-correl
)
nm-filas
,
El esquema es MQDB2.
servicio-recepcin
Serie que contiene el destino MQSeries lgico desde el cual se recibe el
mensaje. Si se especifica, el servicio-recepcin debe hacer referencia a un
punto de servicio definido en el archivo de depsito AMT.XML. Un punto
de servicio es un punto final lgico desde el cual se enva o se recibe un
mensaje. Las definiciones de punto de servicio incluyen el nombre del
Gestor de colas y de la Cola de MQSeries. Consulte el manual de
MQSeries Application Messaging Interface para obtener detalles
adicionales. Si no se especifica servicio-recepcin, se utilizar
DB2.DEFAULT.SERVICE. El tamao mximo de servicio-recepcin es de 48
bytes.
poltica-servicio
Serie que contiene la Poltica de servicio AMI de MQSeries utilizada en el
manejo de este mensaje. Si se especifica, la poltica-servicio hace referencia a
una Poltica definida en el archivo de depsito AMT.XML. Una poltica de
servicio define un conjunto de opciones de calidad de servicio que deben
aplicarse a esta operacin de mensajera. Estas opciones incluyen la
prioridad de mensaje y la permanencia de mensaje. Consulte el manual de
MQSeries Application Messaging Interface para obtener detalles
adicionales. Si no se especifica poltica-servicio, se utilizar el valor por
omisin DB2.DEFAULT.POLICY. El tamao mximo de poltica-servicio es
de 48 bytes.
id-correl
Serie opcional que contiene un identificador de correlacin asociado con
este mensaje. El id-correl se especifica normalmente en escenarios de
peticin y respuesta para asociar las peticiones con las respuestas. Si no se
especifica, no se especifica ningn id de correlacin. El tamao mximo de
id-correl es de 24 bytes.
nm-filas
Entero positivo que contiene el nmero mximo de mensajes que debe
devolver la funcin.
Ejemplos:
SQLCACHE_SNAPSHOT
SQLCACHE_SNAPSHOT ( )
El esquema es SYSFUN.
Devuelve una tabla tal como se lista ms abajo. Consulte el manual System
Monitor Guide and Reference para ver los detalles de las columnas.
Tabla 19. Nombres de columna y tipos de datos de la tabla devueltos por la funcin de
tabla SQLCACHE_SNAPSHOT
Nombre de columna Tipo de datos
NUM_EXECUTIONS INTEGER
NUM_COMPILATIONS INTEGER
PREP_TIME_WORST INTEGER
PREP_TIME_BEST INTEGER
INT_ROWS_DELETED INTEGER
INT_ROWS_INSERTED INTEGER
ROWS_READ INTEGER
INT_ROWS_UPDATED INTEGER
ROWS_WRITE INTEGER
STMT_SORTS INTEGER
TOTAL_EXEC_TIME_S INTEGER
TOTAL_EXEC_TIME_MS INTEGER
TOT_U_CPU_TIME_S INTEGER
TOT_U_CPU_TIME_MS INTEGER
TOT_S_CPU_TIME_S INTEGER
TOT_S_CPU_TIME_MS INTEGER
DB_NAME VARCHAR(8)
STMT_TEXT CLOB(64K)
Procedimientos
Un procedimiento es un programa de aplicacin que se puede iniciar
mediante la sentencia CALL de SQL. El procedimiento se especifica con un
nombre de procedimiento, seguido de la especificacin de argumentos entre
parntesis (puede que no haya argumentos).
GET_ROUTINE_SAR
GET_ROUTINE_SAR
El esquema es SYSFUN.
PUT_ROUTINE_SAR
PUT_ROUTINE_SAR
PUT_ROUTINE_SAR
( sarblob )
, propietario_nuevo , distintivo_registro_uso
El esquema es SYSFUN.
expresin
Una funcin escalar o funcin de columna definida por el usuario que est
registrada en la base de datos puede referenciarse en el mismo contexto
donde pueda aparecer una funcin incorporada cualquiera.
Ejemplos:
v Suponga que una funcin escalar llamada ADDRESS se ha escrito para
extraer la direccin personal de un resumen en formato de script. La
funcin ADDRESS espera un argumento CLOB y devuelve
VARCHAR(4000). El siguiente ejemplo ilustra la invocacin de la funcin
ADDRESS.
SELECT EMPNO, ADDRESS(RESUME) FROM EMP_RESUME
WHERE RESUME_FORMAT = 'SCRIPT'
v Suponga una tabla T2 con una columna A numrica y la funcin ADDRESS
descrita en el ejemplo anterior. El ejemplo siguiente ilustra un intento de
invocar la funcin ADDRESS con un argumento incorrecto.
Hay otra sentencia de SQL que puede utilizarse para recuperar como mucho
una sola fila que se describe en el apartado SELECT INTO en la
pgina 1145.
Autorizacin
subseleccin
clusula-select clusula-from
clusula-where
clusula-group-by clusula-having
Una subseleccin especifica una tabla resultante que deriva de las tablas,
vistas o apodos identificados en la clusula FROM. La derivacin puede
describirse como una secuencia de operaciones en las que el resultado de cada
operacin es la entrada de la siguiente. (Es la nica manera de describir la
subseleccin. El mtodo utilizado para realizar la derivacin puede ser
bastante diferente de esta descripcin.)
clusula-select
ALL
SELECT *
DISTINCT ,
expresin
AS
nombre-nueva-columna
nombre-expuesto.*
expresin
Especifica los valores de una columna del resultado. Puede ser cualquier
expresin del tipo descrito en el Captulo 3, pero las expresiones utilizadas
normalmente incluyen nombres de columna. Cada nombre de columna
utilizado en la lista de seleccin debe identificar sin ambigedades una
columna R.
nuevo-nombre-columna o AS nuevo-nombre-columna
Nombra o cambia el nombre de la columna del resultado. El nombre
no debe estar calificado y no tiene que ser exclusivo. El uso
subsiguiente del nombre-columna est limitado en lo siguiente:
v Un nuevo-nombre-columna especificado en la clusula AS se puede
utilizar en la clusula-order-by, siempre que sea exclusivo.
v Un nuevo-nombre-columna especificado en la clusula AS de la
lista de seleccin no se puede utilizar en ninguna otra clusula de
la subseleccin (clusula-where, clusula-group-by o
clusula-having).
v Un nuevo-nombre-columna especificado en la clusula AS no se
puede utilizar en la clusula-update.
v Un nuevo-nombre-columna especificado en la clusula AS se conoce
fuera de la seleccin completa de las expresiones de tabla anidadas,
las expresiones de tablas comunes y CREATE VIEW.
nombre.*
Representa la lista de nombres que identifican las columnas de la tabla
resultante identificada por nombre-expuesto. El nombre-expuesto puede ser
un nombre de tabla, un nombre de vista, un apodo o un nombre de
correlacin, y debe designar una tabla, una vista o un apodo especificado
en la clusula FROM. El primer nombre de la lista identifica la primera
columna de la tabla, vista o apodo, el segundo nombre de la lista
identifica la segunda columna de la tabla, vista o apodo, y as
sucesivamente.
La lista de nombres se establece cuando se enlaza la sentencia que
contiene la clusula SELECT. Por lo tanto, * no identifica ninguna
columna que se haya aadido a la tabla despus de enlazar la sentencia.
El nmero de columnas del resultado de SELECT es igual que el nmero
de expresiones de la forma operativa de la lista de seleccin (es decir, la
lista establecida cuando se ha preparado la sentencia) y no puede exceder
de 500.
Atributos nulos de las columnas del resultado: Las columnas del resultado
no permiten valores nulos si se derivan de:
v Una columna que no permite valores nulos
v Una constante
v La funcin COUNT o COUNT_BIG
v Una variable del lenguaje principal que no tiene una variable indicadora
v Una funcin o expresin escalar que no incluye un operando que permita
nulos.
Tipos de datos de las columnas del resultado: Cada columna del resultado
de SELECT adquiere un tipo de datos de la expresin de la que se deriva.
52. El sistema asigna nmeros temporales (como series de caracteres) a estas columnas.
clusula-from
,
FROM referencia-tabla
referencia-tabla
apodo
nombre-tabla clusula-correlacin
nombre-vista
ONLY ( nombre-tabla )
OUTER nombre-vista
TABLE ( nombre-funcin ( ) ) clusula-correlacin
,
expresin
(seleccin completa) clusula-correlacin
TABLE
tabla-unida
clusula-correlacin:
AS
nombre-correlacin
,
( nombre-columna )
Cada nombre-funcin, junto con los tipos de sus argumentos, especificado como
una referencia a tabla, debe resolverse en una funcin de tabla existente en el
servidor de aplicaciones.
Los nombres expuestos de todas las referencias a tabla deben ser exclusivos.
Un nombre expuesto es:
v Un nombre-correlacin,
v Un nombre-tabla que no va seguido de un nombre-correlacin,
v Un nombre-vista que no va seguido de un nombre-correlacin,
v Un apodo que no va seguido de un nombre-correlacin,
v Un nombre-seudnimo que no va seguido de un nombre-correlacin.
Ejemplo 2: SELECT c1
FROM TABLE( tf2 (:hostvar1, CURRENT DATE) ) AS z;
Ejemplo 3: SELECT c1
FROM t
WHERE c2 IN
(SELECT c3 FROM
TABLE( tf5(t.c4) ) AS z -- referencia correlacionada
) -- a clusula FROM anterior
tabla-unida
INNER
referencia-tabla JOIN referencia-tabla ON condicin-unin
unin externa
( tabla-unida )
unin externa:
OUTER
LEFT
RIGHT
FULL
Una tabla unida especifica una tabla resultante intermedia que es el resultado
de una unin interna o una unin externa. La tabla se deriva de aplicar uno
de los operadores de unin: INNER, LEFT OUTER, RIGHT OUTER o FULL
OUTER a sus operandos.
Se puede decir que las uniones internas son el producto cruzado de las tablas
(combinacin de cada fila de la tabla izquierda con cada fila de la tabla
derecha), conservando slo las filas en que la condicin-unin es verdadera.
Es posible que a la tabla resultante le falten filas de una o ambas tablas
unidas. Las uniones externas incluyen la unin interna y conservan las filas
que faltan. Hay tres tipos de uniones externas:
1. unin externa izquierda incluye las filas de la tabla de la izquierda que
faltaban en la unin interna.
2. unin externa derecha incluye las filas de la tabla de la derecha que
faltaban en la unin interna.
3. unin externa completa incluye las filas las tabla de la izquierda y de la
derecha que faltaban en la unin interna.
es igual que:
Operaciones de unin
Una condicin-unin especifica emparejamientos de T1 y T2, donde T1 y T2 son
tablas de los operandos izquierdo y derecho del operador JOIN de la
condicin-unin. En todas las combinaciones posibles de filas de T1 y T2, una
fila de T1 se empareja con una fila de T2 si la condicin-unin es verdadera.
Cuando una fila de T1 se une con una fila de T2, una fila del resultado consta
de los valores de dicha fila de T1 concatenada con los valores de dicha fila de
T2. La ejecucin puede implicar la generacin de una fila nula. La fila nula de
una tabla consta de un valor nulo para cada columna de la tabla, sin tener en
cuenta si las columnas permiten valores nulos.
clusula-where
WHERE condicin-bsqueda
Clusula group-by
,
GROUP BY expresin-agrupacin
conjuntos-agrupacin
supergrupos
conjuntos-agrupacin
,
( expresin-agrupacin )
supergrupos
es igual a
GROUP BY GROUPING SET((a))
y
GROUP BY a,b,c
es igual a
GROUP BY GROUPING SET((a,b,c))
supergrupos
(1)
ROLLUP (
lista-expresiones-agrupacin )
(2)
CUBE ( lista-expresiones-agrupacin )
total
lista-expresiones-agrupacin:
expresin-agrupacin
,
( expresin-agrupacin )
total:
( )
Notas:
1 Una especificacin alternativa cuando se utiliza sola en la clusula
Group By es: lista-expresiones-agrupacin WITH ROLLUP.
2 Una especificacin alternativa cuando se utiliza sola en la clusula
Group By es: lista-expresiones-agrupacin WITH CUBE.
ROLLUP ( lista-expresiones-agrupacin )
Una agrupacin ROLLUP es una extensin de la clusula GROUP BY que
produce un conjunto resultante que contiene filas de subtotales adems de
las filas agrupadas normales. Las filas de subtotales 53 son filas
superagregadas que contienen ms agregrados cuyos valores se obtienen
al aplicar las mismas funciones de columna que se han utilizado para
obtener las filas agrupadas.
Una agrupacin ROLLUP es una serie de conjuntos-agrupacin. La
especificacin general de ROLLUP con n elementos
GROUP BY ROLLUP(C1,C2,...,Cn-1,Cn)
es equivalente a
GROUP BY GROUPING SETS((C1,C2,...,Cn-1,Cn)
(C1,C2,...,Cn-1)
...
(C1,C2)
(C1)
() )
es equivalente a
GROUP BY GROUPING SETS((a,b)
(a)
() )
53. Se llaman filas de subtotales porque es su utilizacin ms normal, sin embargo, puede utilizarse cualquier funcin
de columna para la agregacin. Por ejemplo, MAX y AVG se utilizan en Ejemplo C8 en la pgina 510.
mientras que
GROUP BY ROLLUP(b,a)
es igual a
GROUP BY GROUPING SETS((b,a)
(b)
() )
es equivalente a
GROUP BY GROUPING SETS((a,b,c)
(a,b)
(a,c)
(b,c)
(a)
(b)
(c)
() )
lista-expresiones-agrupacin
Una lista-expresiones-agrupacin se utiliza en la clusula CUBE o ROLLUP
para definir el nmero de elementos de la operacin CUBE o ROLLUP. Se
controla utilizando los parntesis para delimitar los elementos con
mltiples expresiones-agrupacin.
Las reglas para la expresin-agrupacin se describen en el apartado
Clusula group-by en la pgina 487. Por ejemplo, suponga que una
consulta tiene que devolver los gastos totales para ROLLUP de City
dentro de una Province pero no de un County. Sin embargo la clusula:
GROUP BY ROLLUP(Province, County, City)
genera
GROUP BY GROUPING SETS((Province, County, City)
(Province)
() )
es equivalente a
GROUP BY GROUPING SETS((a,b,c)
(a,b)
(a) )
O de manera parecida,
GROUP BY a, b, ROLLUP(c,d)
es equivalente a
GROUP BY GROUPING SETS((a,b,c,d)
(a,b,c)
(a,b) )
es equivalente a
GROUP BY GROUPING SETS((a,b,c)
(a,b)
(a)
(b,c)
(b)
() )
De manera similar,
GROUP BY ROLLUP(a), CUBE(b,c)
es equivalente a
GROUP BY GROUPING SETS((a,b,c)
(a,b)
(a,c)
(a)
(b,c)
(b)
(c)
() )
es equivalente a
GROUP BY GROUPING SETS((a,b,c,d)
(a,b,c)
(a,b)
(a,c,d)
(a,c)
(a)
(b,c,d)
(b,c)
(b)
(c,d)
(c)
() )
es equivalente a
GROUP BY GROUPING SETS((a,b)
(a) )
clusula-having
HAVING condicin-bsqueda
Cuando se utiliza HAVING sin GROUP BY, la lista de seleccin slo puede ser
un nombre de columna dentro de una funcin de columna, una referencia
correlacionada a columna, un literal o un registro especial.
Ejemplos de subselecciones
Ejemplo A2: Una las tablas EMP_ACT y EMPLOYEE, seleccione todas las
columnas de la tabla EMP_ACT y aada el apellido del empleado
(LASTNAME) de la tabla EMPLOYEE a cada fila del resultado.
SELECT EMP_ACT.*, LASTNAME
FROM EMP_ACT, EMPLOYEE
WHERE EMP_ACT.EMPNO = EMPLOYEE.EMPNO
Ejemplo A5: Seleccione todas las filas de la tabla EMP_ACT para los
empleados (EMPNO) del departamento (WORKDEPT) E11. (Los nmeros del
departamento del empleado se muestran en la tabla EMPLOYEE.)
SELECT *
FROM EMP_ACT
WHERE EMPNO IN
(SELECT EMPNO
FROM EMPLOYEE
WHERE WORKDEPT = 'E11')
Esta consulta primero debe crear una expresin de tabla anidada (DINFO)
para obtener las columnas AVGSALARY y EMPCOUNT, as como la columna
DEPTNO que se utiliza en la clusula WHERE.
SELECT THIS_EMP.EMPNO, THIS_EMP.SALARY, DINFO.AVGSALARY, DINFO.EMPCOUNT
FROM EMPLOYEE THIS_EMP,
(SELECT OTHERS.WORKDEPT AS DEPTNO,
AVG(OTHERS.SALARY) AS AVGSALARY,
COUNT(*) AS EMPCOUNT
FROM EMPLOYEE OTHERS
GROUP BY OTHERS.WORKDEPT
) AS DINFO
WHERE THIS_EMP.JOB = 'SALESREP'
AND THIS_EMP.WORKDEPT = DINFO.DEPTNO
Utilizar una expresin de tabla anidada para este caso ahorra la actividad
general de crear la vista DIFO como una vista normal. Durante la preparacin
de la sentencia, se evita el acceso al catlogo para la vista y, debido al
contexto del resto de la consulta, slo se han de tener en cuenta las filas para
el departamento de representantes de ventas para la vista.
Ejemplos de uniones
Ejemplo B1: Este ejemplo ilustra el resultado de varias uniones utilizando las
tablas J1 y J2. Estas tablas contienen las filas que se muestran.
SELECT * FROM J1
W X
--- ------
A 11
B 12
C 13
SELECT * FROM J2
Y Z
--- ------
A 21
C 22
D 23
W X Y Z
--- ------ --- ------
A 11 A 21
C 13 C 22
W X Y Z
--- ------ --- ------
A 11 A 21
B 12 - -
C 13 C 22
La siguiente unin externa derecha recuperar la fila que falta de J2 con nulos
para las columnas de J1. Se incluyen todas la filas de J2.
W X Y Z
--- ------ --- ------
A 11 A 21
C 13 C 22
- - D 23
La siguiente unin externa completa recuperar las filas que faltan de las dos
tablas J1 y J2, con nulos cuando sea adecuado. Se incluyen todas las filas de
las tablas J1 y J2.
SELECT * FROM J1 FULL OUTER JOIN J2 ON W=Y
W X Y Z
--- ------ --- ------
A 11 A 21
C 13 C 22
- - D 23
B 12 - -
Ejemplo B2: Utilizando las tablas J1 y J2 del ejemplo anterior, examine lo que
pasa cuando se aade un predicado adicional a la condicin de bsqueda.
SELECT * FROM J1 INNER JOIN J2 ON W=Y AND X=13
W X Y Z
--- ------ --- ------
C 13 C 22
W X Y Z
--- ------ --- ------
- - A 21
C 13 C 22
- - D 23
A 11 - -
B 12 - -
W X Y Z
--- ------ --- ------
C 13 C 22
W X Y Z
--- ------ --- ------
- - A 21
- - C 22
- - D 23
A 11 - -
B 12 - -
C 13 - -
W X Y Z
--- ------ --- ------
B 12 - -
Ejemplo B4: Liste todos los nmeros de empleado y el apellido con el nmero
de empleado y el apellido de su director, incluyendo los empleados sin
director.
Ejemplo C1: Esta es una consulta con una clusula GROUP BY bsica en 3
columnas:
SELECT WEEK(SALES_DATE) AS WEEK,
DAYOFWEEK(SALES_DATE) AS DAY_WEEK,
SALES_PERSON, SUM(SALES) AS UNITS_SOLD
FROM SALES
WHERE WEEK(SALES_DATE) = 13
GROUP BY WEEK(SALES_DATE), DAYOFWEEK(SALES_DATE), SALES_PERSON
ORDER BY WEEK, DAY_WEEK, SALES_PERSON
Da como resultado:
WEEK DAY_WEEK SALES_PERSON UNITS_SOLD
----------- ----------- --------------- -----------
13 6 GOUNOT 11
13 6 LEE 12
13 6 LUCCHESSI 4
13 7 GOUNOT 21
13 7 LEE 21
13 7 LUCCHESSI 4
Las filas con WEEK 13 son del primer conjunto de agrupacin y las dems
filas son del segundo conjunto de agrupacin.
13 7 GOUNOT 21
13 7 LEE 21
13 7 LUCCHESSI 4
13 7 - 46
13 - - 73
- - - 73
Da como resultado:
WEEK DAY_WEEK SALES_PERSON UNITS_SOLD
----------- ----------- --------------- -----------
13 6 GOUNOT 11
13 6 LEE 12
13 6 LUCCHESSI 4
13 6 - 27
13 7 GOUNOT 21
13 7 LEE 21
13 7 LUCCHESSI 4
13 7 - 46
13 - GOUNOT 32
13 - LEE 33
13 - LUCCHESSI 8
13 - - 73
- 6 GOUNOT 11
- 6 LEE 12
- 6 LUCCHESSI 4
- 6 - 27
- 7 GOUNOT 21
- 7 LEE 21
- 7 LUCCHESSI 4
- 7 - 46
- - GOUNOT 32
- - LEE 33
- - LUCCHESSI 8
- - - 73
SELECT SALES_PERSON,
MONTH(SALES_DATE) AS MONTH,
SUM(SALES) AS UNITS_SOLD
FROM SALES
GROUP BY GROUPING SETS ( (SALES_PERSON, MONTH(SALES_DATE)),
()
)
ORDER BY SALES_PERSON, MONTH
Ejemplo C6: Este ejemplo muestra dos consultas ROLLUP simples seguidas
de una consulta que trata los dos ROLLUP como conjuntos de agrupacin en
un slo conjunto resultante y especifica el orden de filas para cada columna
implicada en los conjuntos de agrupacin.
Ejemplo C6-1:
SELECT WEEK(SALES_DATE) AS WEEK,
DAYOFWEEK(SALES_DATE) AS DAY_WEEK,
SUM(SALES) AS UNITS_SOLD
FROM SALES
GROUP BY ROLLUP ( WEEK(SALES_DATE), DAYOFWEEK(SALES_DATE) )
ORDER BY WEEK, DAY_WEEK
da como resultado:
WEEK DAY_WEEK UNITS_SOLD
----------- ----------- -----------
13 6 27
13 7 46
13 - 73
14 1 31
14 2 43
14 - 74
53 1 8
53 - 8
- - 155
Ejemplo C6-2:
da como resultado:
MONTH REGION UNITS_SOLD
----------- --------------- -----------
3 Manitoba 22
3 Ontario-North 8
3 Ontario-South 34
3 Quebec 40
3 - 104
4 Manitoba 17
4 Ontario-North 1
4 Ontario-South 14
4 Quebec 11
4 - 43
12 Manitoba 2
12 Ontario-South 4
12 Quebec 2
12 - 8
- - 155
Ejemplo C6-3:
SELECT WEEK(SALES_DATE) AS WEEK,
DAYOFWEEK(SALES_DATE) AS DAY_WEEK,
MONTH(SALES_DATE) AS MONTH,
REGION,
SUM(SALES) AS UNITS_SOLD
FROM SALES
GROUP BY GROUPING SETS ( ROLLUP( WEEK(SALES_DATE), DAYOFWEEK(SALES_DATE) ),
ROLLUP( MONTH(SALES_DATE), REGION ) )
ORDER BY WEEK, DAY_WEEK, MONTH, REGION
da como resultado:
WEEK DAY_WEEK MONTH REGION UNITS_SOLD
----------- ----------- ----------- --------------- -----------
13 6 - - 27
13 7 - - 46
13 - - - 73
14 1 - - 31
14 2 - - 43
14 - - - 74
53 1 - - 8
53 - - - 8
- - 3 Manitoba 22
- - 3 Ontario-North 8
- - 3 Ontario-South 34
- - 3 Quebec 40
- - 3 - 104
- - 4 Manitoba 17
- - 4 Ontario-North 1
- - 4 Ontario-South 14
- - 4 Quebec 11
- - 4 - 43
- - 12 Manitoba 2
- - 12 Ontario-South 4
- - 12 Quebec 2
- - 12 - 8
- - - - 155
- - - - 155
Ejemplo C7: En las consultas que realizan varios ROLLUP en una sola pasada
(como por ejemplo, Ejemplo C6-3 en la pgina 507) tiene la posibilidad de
indicar, si lo desea, qu conjunto de agrupacin ha producido cada fila. Los
pasos siguientes demuestran cmo proporcionar una columna (denominada
GROUP) que indica el origen de cada fila del conjunto resultante. Por origen
se quiere decir cual de los dos conjuntos de agrupacin ha producido la fila
del conjunto resultante.
da como resultado:
R1 R2
------- -------
GROUP 1 GROUP 2
Paso 2: Forme el producto cruzado de esta tabla X con la tabla SALES. Esto
aade las columnas R1 y R2 a cada fila.
da como resultado:
R1 R2 WEEK DAY_WEEK MONTH REGION UNITS_SOLD
------- ------- -------- --------- --------- --------------- -----------
GROUP 1 - 13 6 - - 27
GROUP 1 - 13 7 - - 46
GROUP 1 - 13 - - - 73
GROUP 1 - 14 1 - - 31
GROUP 1 - 14 2 - - 43
GROUP 1 - 14 - - - 74
GROUP 1 - 53 1 - - 8
GROUP 1 - 53 - - - 8
- GROUP 2 - - 3 Manitoba 22
- GROUP 2 - - 3 Ontario-North 8
- GROUP 2 - - 3 Ontario-South 34
- GROUP 2 - - 3 Quebec 40
- GROUP 2 - - 3 - 104
- GROUP 2 - - 4 Manitoba 17
- GROUP 2 - - 4 Ontario-North 1
- GROUP 2 - - 4 Ontario-South 14
- GROUP 2 - - 4 Quebec 11
- GROUP 2 - - 4 - 43
- GROUP 2 - - 12 Manitoba 2
- GROUP 2 - - 12 Ontario-South 4
- GROUP 2 - - 12 Quebec 2
- GROUP 2 - - 12 - 8
- GROUP 2 - - - - 155
GROUP 1 - - - - - 155
da como resultado:
GROUP WEEK DAY_WEEK MONTH REGION UNITS_SOLD
------- ----------- ----------- ----------- --------------- -----------
GROUP 1 13 6 - - 27
GROUP 1 13 7 - - 46
GROUP 1 13 - - - 73
GROUP 1 14 1 - - 31
GROUP 1 14 2 - - 43
GROUP 1 14 - - - 74
GROUP 1 53 1 - - 8
GROUP 1 53 - - - 8
GROUP 1 - - - - 155
GROUP 2 - - 3 Manitoba 22
GROUP 2 - - 3 Ontario-North 8
GROUP 2 - - 3 Ontario-South 34
GROUP 2 - - 3 Quebec 40
GROUP 2 - - 3 - 104
GROUP 2 - - 4 Manitoba 17
GROUP 2 - - 4 Ontario-North 1
GROUP 2 - - 4 Ontario-South 14
GROUP 2 - - 4 Quebec 11
GROUP 2 - - 4 - 43
GROUP 2 - - 12 Manitoba 2
GROUP 2 - - 12 Ontario-South 4
GROUP 2 - - 12 Quebec 2
GROUP 2 - - 12 - 8
GROUP 2 - - - - 155
Da como resultado:
MONTH REGION UNITS_SOLD BEST_SALE AVG_UNITS_SOLD
----------- --------------- ----------- ----------- --------------
3 Manitoba 22 7 3.14
3 Ontario-North 8 3 2.67
3 Ontario-South 34 14 4.25
3 Quebec 40 18 5.00
3 - 104 18 4.00
4 Manitoba 17 9 5.67
4 Ontario-North 1 1 1.00
4 Ontario-South 14 8 4.67
4 Quebec 11 8 5.50
4 - 43 9 4.78
12 Manitoba 2 2 2.00
12 Ontario-South 4 3 2.00
12 Quebec 2 1 1.00
12 - 8 3 1.60
- Manitoba 41 9 3.73
- Ontario-North 9 3 2.25
- Ontario-South 52 14 4.00
- Quebec 53 18 4.42
- - 155 18 3.87
seleccin completa
subseleccin
(seleccin completa) UNION subseleccin
clusula-values UNION ALL (seleccin completa)
EXCEPT clusula-values
EXCEPT ALL
INTERSECT
INTERSECT ALL
clusula-values:
VALUES fila-valores
fila-valores:
expresin
NULL
,
( expresin )
NULL
Dos filas son duplicadas entre s si cada valor de la primera es igual al valor
correspondiente de la segunda. (Para la determinacin de duplicados, dos
valores nulos se consideran iguales.)
Para ver las reglas de cmo se determinan los tipos de datos de las columnas
del resultado, consulte el apartado Reglas para los tipos de datos del
resultado en la pgina 120.
Para ver las reglas sobre cmo se manejan las conversiones de las columnas
de serie, consulte el apartado Reglas para las conversiones de series en la
pgina 124.
Ejemplos de una seleccin completa
Ejemplo 1: Seleccione todas las columnas y filas de la tabla EMPLOYEE.
SELECT * FROM EMPLOYEE
Ejemplo 5: Realice la misma consulta que en el ejemplo 3, slo que esta vez
incluya dos empleados adicionales que no estn actualmente en ninguna tabla
e identifquelos como new.
SELECT EMPNO, 'emp'
FROM EMPLOYEE
WHEREWORKDEPTLIKE 'E%'
UNION
SELECT EMPNO, 'emp_act'
FROM EMP_ACT
WHERE PROJNO IN('MA2100', 'MA2110', 'MA2112')
UNION
VALUES ('NEWAAA', 'new'), ('NEWBBB', 'new')
Ejemplo 6: Este ejemplo de EXCEPT genera todas las filas que estn en T1
pero no en T2.
(SELECT * FROM T1)
EXCEPT ALL
(SELECT * FROM T2)
Si no hay ningn valor NULL implicado, este ejemplo devuelve los mismos
resultados que
SELECT ALL *
FROM T1
WHERE NOT EXISTS (SELECT * FROM T2
WHERE T1.C1 = T2.C1 AND T1.C2 = T2.C2 AND...)
Ejemplo 7: Este ejemplo de INTERSECT genera todas las filas que estn en
ambas tablas, T1 y T2, eliminando los duplicados.
(SELECT * FROM T1)
INTERSECT
(SELECT * FROM T2)
sentencia-select
seleccin completa
,
WITH expresin-tabla-comn
*
clusula-order-by clusula-fetch-first clusula-read-only
(1)
clusula-update
* *
clusula-optimize-for WITH RR
RS
CS
UR
Notas:
1 La clusula-update y la clusula-order-by no pueden especificarse en la
misma sentencia-select.
expresin-comn-tabla
nombre-tabla , AS ( seleccin completa )
(1)
( )
nombre-columna
Notas:
1 Si una expresin de tabla comn es recursiva o si la seleccin completa
da como resultado nombres de columna duplicados, deben especificarse
los nombres de columna.
Una expresin de tabla comn permite la definicin de una tabla resultante con
un nombre-tabla que puede especificarse como un nombre de tabla en
cualquier clusula FROM de la seleccin completa que sigue. Se pueden
especificar mltiples expresiones de tabla comunes a continuacin de una sola
palabra clave WITH. Cada expresin de tabla comn especificada tambin
puede referirse por nombre en la clusula FROM de expresiones de tabla
comunes subsiguientes.
v Cada seleccin completa que forma parte del ciclo de repeticin no debe
incluir ninguna funcin de columna, clusula-group-by ni clusula-having
(SQLSTATE 42836).
Las clusulas FROM de estas selecciones completas pueden incluir como
mximo una referencia a una expresin de tabla comn que forme parte de
un ciclo de repeticin (SQLSTATE 42836).
v Las subconsultas (escalares o cuantificadas) no deben formar parte de ciclos
de repeticin (SQLSTATE 42836).
clusula-order-by
,
ASC
ORDER BY clave-clasificacin
DESC
clave-clasificacin:
nombre-columna-simple
entero-simple
expresin-clave-clasificacin
54. Las reglas para determinar el nombre de las columnas resultantes en una seleccin completa donde intervengan
operadores de conjuntos (UNION, INTERSECT o EXCEPT) se pueden encontrar en seleccin completa en la
pgina 512.
nombre-columna-simple
Normalmente identifica una columna de la tabla resultante. En este caso,
nombre-columna-simple debe ser el nombre de columna de una columna
con nombre de la lista de seleccin.
El nombre-columna-simple tambin puede identificar un nombre de columna
de una tabla, vista o tabla anidada identificada en la clusula FROM si la
consulta es una subseleccin. Se produce un error si la subseleccin:
v especifica DISTINCT en la clusula de seleccin (SQLSTATE 42822)
v produce un resultado agrupado y el nombre-columna-simple no es una
expresin-agrupacin (SQLSTATE 42803).
Notas
v Nombres de columna en claves de clasificacin:
El nombre de columna est calificado.
La consulta debe ser una subseleccin (SQLSTATE 42877). El nombre de
columna debe identificar sin ambigedades una columna de alguna
tabla, vista o tabla anidada en la clusula FROM de la
subseleccin(SQLSTATE 42702). El valor de la columna se utiliza para
calcular el valor de la especificacin de clasificacin.
El nombre de columna no est calificado.
- La consulta es una subseleccin.
Si el nombre de columna es idntico al nombre de ms de una
columna de la tabla resultante, el nombre de columna debe identificar
sin ambigedades una columna de alguna tabla, vista o tabla anidada
en la clusula FROM de la subseleccin de orden (SQLSTATE 42702).
Si el nombre de columna es idntico a una columna, dicha columna se
utiliza para calcular el valor de la especificacin de clasificacin. Si el
nombre de columna no es idntico a una columna de la tabla
resultante, debe identificar sin ambigedades una columna de alguna
tabla, vista o tabla anidada en la clusula FROM de la seleccin
completa de la sentencia-select (SQLSTATE 42702).
- La consulta no es una subseleccin (incluye operaciones de conjuntos
como la unin, excepcin o interseccin).
El nombre de columna no debe ser idntico al nombre de ms de una
columna de la tabla resultante (SQLSTATE 42702). El nombre de
columna debe ser idntico a exactamente una columna de la tabla
resultante (SQLSTATE 42707) y esta columna se utiliza para calcular el
valor de la especificacin de clasificacin.
Consulte el apartado Calificadores de nombres de columna para evitar
ambigedad en la pgina 147 para obtener ms informacin sobre
nombres de columna no calificados.
v Lmites: La utilizacin de una expresin-clave-clasificacin o un
nombre-columna-simple donde la columna no est en la lista de seleccin
puede dar como resultado la adicin de la columna o expresin a la tabla
temporal utilizada para clasificacin. Esto puede dar como resultado que se
clusula-update
FOR UPDATE
,
OF nombre-columna
clusula-read-only
FOR READ ONLY
FETCH
La clusula FOR READ ONLY indica que la tabla resultante es de slo lectura
y que, por lo tanto, no se puede hacer referencia al cursor en las sentencias
UPDATE con posicin y DELETE. FOR FETCH ONLY tiene el mismo
significado.
Algunas tablas resultantes son de slo lectura por naturaleza. (Por ejemplo,
una tabla basada en una vista de slo lectura.) Se puede seguir especificando
FOR READ ONLY para dichas tablas, pero la especificacin no surtir efecto.
Para las tablas resultantes en las que estn permitidas las actualizaciones y
supresiones, la especificacin de FOR READ ONLY (o FOR FETCH ONLY)
posiblemente mejorar el rendimiento de las operaciones FETCH permitiendo
al gestor de bases de datos realizar el bloqueo y evitar bloqueos exclusivos.
Por ejemplo, en los programas que contienen sentencias del SQL dinmico sin
la clusula FOR READ ONLY u ORDER BY, el gestor de bases de datos puede
abrir cursores como si se hubiese especificado la clusula FOR UPDATE. Por
lo tanto, se recomienda utilizar la clusula FOR READ ONLY para mejorar el
rendimiento excepto en los casos en que se utilizarn las consultas en
sentencias UPDATE con posicin o DELETE.
clusula-fetch-first
1
FETCH FIRST ROW ONLY
entero ROWS
clusula-optimize-for
OPTIMIZE FOR entero ROWS
ROW
55. El tamao del almacenamiento intermedio de comunicaciones est definido por el parmetro de configuracin
RQRIOBLK o ASLHEAPSZ. Vea el manual Administration Guide para obtener detalles.
Sentencias ejecutables
Una sentencia ejecutable incorporada en un programa de aplicacin se ejecuta
cada vez que se ejecutara una sentencia del lenguaje principal si se
especificase en el mismo lugar. Por lo tanto, una sentencia dentro de un bucle
Todos los objetos a los que las sentencias DML hacen referencia deben existir
cuando se enlazan las sentencias con una DB2 Universal Database.
Sentencias no ejecutables
Una sentencia no ejecutable incorporada slo se procesa por el precompilador.
El precompilador informa de cualquier error encontrado en la sentencia. La
sentencia no se procesa nunca durante la ejecucin del programa. Por lo tanto,
dichas sentencias no deben ir seguidas por una prueba de un cdigo de
retorno SQL.
Una sentencia emitida interactivamente debe ser una sentencia ejecutable que
no contenga marcadores de parmetros ni referencias a las variables del
lenguaje principal, porque esto slo tiene sentido en el contexto de un
programa de aplicacin.
Utilizacin de SQL con otros sistemas principales
La sintaxis de las sentencias de SQL presenta pequeas variaciones entre los
diversos tipos de sistemas principales (DB2 para z/OS, DB2 para iSeries, DB2
Universal Database). Independientemente de que las sentencias de SQL de
una aplicacin sean estticas o dinmicas, asegrese de que las sentencias de
SQL y las opciones de precompilacin/enlace se soporten en los sistemas de
bases de datos a los que acceder la aplicacin, si dicha aplicacin va a
acceder a diferentes sistemas principales de bases de datos.
ALTER BUFFERPOOL
La sentencia ALTER BUFFERPOOL se utiliza para realizar lo siguiente:
v modificar el tamao de la agrupacin de almacenamientos intermedios de
todas las particiones (o nodos) o de una sola particin.
v activar o desactivar la utilizacin del almacenamiento ampliado.
v aadir esta definicin de agrupacin de almacenamientos intermedios a un
nuevo grupo de nodos.
Invocacin
Esta sentencia puede intercalarse en un programa de aplicacin o emitirse de
forma interactiva. Se trata de una sentencia ejecutable que se puede preparar
dinmicamente. Sin embargo, si la opcin de enlace DYNAMICRULES BIND
es aplicable, la sentencia no se puede preparar dinmicamente (SQLSTATE
42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener la autorizacin SYSCTRL o
SYSADM.
Sintaxis
ALTER BUFFERPOOL nombre-agrupalmacinter
SIZE nmero-de-pginas
NODE nmero-nodo
NOT EXTENDED STORAGE
EXTENDED STORAGE
ADD NODEGROUP nombre-gruponodos
Descripcin
nombre-agrupalmacinter
Indica el nombre de la agrupacin de almacenamientos intermedios. Este
nombre consta de una sola parte. Es un identificador de SQL (ordinario o
delimitado). Debe ser una agrupacin de almacenamientos intermedios
descrita en el catlogo.
NODE nmero-nodo
Especifica la particin en la que se modifica el tamao de la agrupacin
de almacenamientos intermedios. La particin debe estar en uno de los
grupos de nodos para la agrupacin de almacenamientos intermedios
(SQLSTATE 42729). Si no se especifica la clusula, se modifica el tamao
de la agrupacin de almacenamientos intermedios en todas las particiones
en las que existe la agrupacin de almacenamientos intermedios que
utilizaba el tamao por omisin para dicha agrupacin (no se haba
56. El tamao puede especificarse con un valor de (-1), que indicar que el tamao de la agrupacin de
almacenamientos intermedios deber obtenerse del parmetro de configuracin de base de datos BUFFPAGE.
57. La configuracin del almacenamiento ampliado se activa estableciendo los parmetros de configuracin de la base
de datos NUM_ESTORE_SEGS y ESTORE_SEG_SIZE en valores que no sean cero. Consulte la publicacin
Administration Guide para obtener detalles.
ALTER NICKNAME
La sentencia ALTER NICKNAME modifica la representacin que la base de
datos federada hace de la tabla o la vista de la fuente de datos:
v Cambiando los nombres locales de las columnas de la tabla o la vista
v Cambiando los tipos de datos locales de estas columnas
v Aadiendo, cambiando o suprimiendo opciones para estas columnas
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o bien emitirse
mediante la utilizacin de sentencias de SQL dinmicas. Se trata de una
sentencia ejecutable que se puede preparar dinmicamente. Sin embargo, si la
opcin de enlace DYNAMICRULES BIND es aplicable, la sentencia no se
puede preparar dinmicamente (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener al menos uno de los
privilegios siguientes:
v Autorizacin SYSADM o DBADM
v Privilegio ALTER para el apodo especificado en la sentencia
v Privilegio CONTROL para el apodo especificado en la sentencia
v Privilegio ALTERIN para el esquema, si existe el nombre de esquema del
apodo
v El definidor del apodo tal como est registrado en la columna DEFINER de
la vista de catlogo para el apodo
Sintaxis
ALTER NICKNAME apodo
,
COLUMN
ALTER nombre-columna LOCAL NAME nombre-columna
LOCAL TYPE tipo-datos
(1)
opciones-columna-federada
opciones-columna-federada:
,
ADD
OPTIONS ( nombre-opcin-columna constante-serie )
SET
DROP nombre-opcin-columna
Notas:
1 Si el usuario necesita especificar la clusula opciones-columna-federada
adems del parmetro LOCAL NAME, el parmetro LOCAL TYPE o
ambos, debe especificar la clusula opciones-columna-federada en
ltimo lugar.
Descripcin
apodo
Identifica el apodo para la tabla o la vista de la fuente de datos que
contiene la columna especificada despus de la palabra clave COLUMN.
Debe ser un apodo descrito en el catlogo.
ALTER COLUMN nombre-columna
Los nombres de la columna que se han de modificar. El nombre-columna es
el nombre actual del servidor federado para la columna de la tabla o la
vista de la fuente de datos. El nombre-columna debe identificar una
columna existente de la tabla o la vista de la fuente de datos a la que el
apodo hace referencia.
LOCAL NAME nombre-columna
Es el nuevo nombre por el cual el servidor federado va a hacer referencia
a la columna identificada por el parmetro ALTER COLUMN
nombre-columna. Este nuevo nombre debe ser un identificador DB2 vlido.
LOCAL TYPE tipo-datos
Correlaciona el tipo de datos de la columna especificada con un tipo de
datos local distinto del que se correlaciona ahora. El nuevo tipo se indica
por tipo-datos.
El tipo-datos no puede ser LONG VARCHAR, LONG VARGRAPHIC,
DATALINK, un tipo de datos de objeto grande (LOB) ni un tipo definido
por el usuario.
OPTIONS
Indica las opciones de columna que se han de habilitar, restaurar o
desactivar para la columna especificada despus de la palabra clave
COLUMN. Consulte el apartado Opciones de columna en la pgina 1413
para obtener las descripciones de nombres-opcin-columna y sus valores.
ADD
Habilita una opcin de columna.
SET
Cambia el valor de una opcin de columna.
nombre-opcin-columna
Nombra una opcin de columna que se ha de habilitar o restaurar.
constante-serie
Especifica el valor para nombre-opcin-columna como una constante de
serie de caracteres.
DROP nombre-opcin-columna
Desactiva una opcin de columna.
Normas
v Si una vista se ha creado en un apodo, no se puede utilizar la sentencia
ALTER NICKNAME para cambiar los nombres locales ni los tipos de datos
para las columnas de la tabla o la vista a la que el apodo hace referencia
(SQLSTATE 42601). Sin embargo, la sentencia se puede utilizar para
habilitar, restaurar o desactivar las opciones de columna para estas
columnas.
Notas
v Si se utiliza ALTER NICKNAME para cambiar el nombre local de una
columna de una tabla o vista a la que un apodo hace referencia, las
consultas de la columna deben hacerle referencia por su nuevo nombre.
v No se puede especificar una opcin de columna ms de una vez en la
misma sentencia ALTER NICKNAME (SQLSTATE 42853). Cuando se
habilita, restaura o desactiva una opcin de columna, no afecta a ninguna
otra opcin de columna que se est utilizando.
v Cuando se cambia la especificacin local del tipo de datos de una columna,
el gestor de bases de datos invalida cualquier estadstica (HIGH2KEY,
LOW2KEY, etctera) reunida para esa columna.
v La sentencia ALTER NICKNAME no se puede procesar en una unidad de
trabajo (UOW) si una sentencia SELECT de la misma UOW ya hace
referencia al apodo al que esta sentencia hace referencia (SQLSTATE 55007).
Ejemplos
Ejemplo 1: El apodo NICK1 hace referencia a una tabla DB2 Universal
Database para AS/400 llamada T1. Tambin, COL1 es el nombre local que
hace referencia a la primera columna de esta tabla, C1. Cambie el nombre
local C1 por NEWCOL.
ALTER NICKNAME NICK1
ALTER COLUMN COL1
LOCAL NAME NEWCOL
Ejemplo 3: Indique que en una tabla Oracle, una columna con el tipo de datos
de VARCHAR no tiene blancos de cola. El apodo para la tabla es NICK2 y el
nombre local para la columna es COL1.
ALTER NICKNAME NICK2
ALTER COLUMN COL1
OPTIONS ( ADD VARCHAR_NO_TRAILING_BLANKS 'Y' )
ALTER NODEGROUP
La sentencia ALTER NODEGROUP se utiliza para:
v aadir una o mas particiones o nodos a un grupo de nodos
v eliminar una o ms particiones de un grupo de nodos.
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o emitirse de
forma interactiva. Se trata de una sentencia ejecutable que puede prepararse
de forma dinmica. Sin embargo, si es aplicable la opcin de enlace
DYNAMICRULES BIND, la sentencia no se puede preparar de forma
dinmica (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener autorizacin SYSCTRL o
SYSADM.
Sintaxis
ALTER NODEGROUP nombre-gruponodos
clusula-nodes:
( nmero-nodo1 )
TO nmero-nodo2
Descripcin
nombre-gruponodos
Indica el nombre del grupo de nodos. Este nombre slo se compone de
una parte. Se trata de un identificador de SQL (ordinario o bien
delimitado). Debe ser un grupo de nodos descrito en el catlogo. No se
puede especificar IBMCATGROUP ni IBMTEMPGROUP (SQLSTATE
42832).
ADD NODE
Especifica la particin o particiones especficas que se han de aadir al
Ejemplo
Suponga que tiene una base de datos de seis particiones que presenta las
particiones siguientes: 0, 1, 2, 5, 7 y 8. Se aaden dos particiones al sistema
con los nmeros de particin 3 y 6.
v Suponga que desea aadir ambas particiones o nodos 3 y 6 a un grupo de
nodos llamado MAXGROUP y que tiene contenedores de espacios de tablas
como los de la particin 2. La sentencia es la siguiente:
ALTER NODEGROUP MAXGROUP
ADD NODES (3,6) LIKE NODE 2
ALTER SEQUENCE
La sentencia ALTER SEQUENCE puede utilizarse para cambiar una secuencia
en cualquiera de estos modos:
v Reiniciando la secuencia
v Cambiando el incremento entre valores de secuencia futuros
v Estableciendo o eliminando los valores mnimo y mximo
v Cambiando los nmeros de secuencia almacenados en antememoria
v Cambiando el atributo que determina si la secuencia puede realizar un ciclo
o no
v Cambiando la posibilidad de que los nmeros de secuencia deban
generarse en orden de peticin
Invocacin
Esta sentencia puede incorporarse en un programa de aplicacin o emitirse
mediante el uso de sentencias de SQL dinmicas. Se trata de una sentencia
ejecutable que puede prepararse dinmicamente. Sin embargo, si se aplica la
opcin de enlace DYNAMICRULES BIND, la sentencia no se puede preparar
de forma dinmica (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener al menos uno de los
siguientes privilegios:
v Definidor de la secuencia
v Privilegio ALTERIN para el esquema especificado implcita o explcitamente
v Autorizacin SYSADM o DBADM
Sintaxis
Descripcin
nombre-secuencia
Identifica la secuencia en concreto que se debe cambiar. El nombre,
incluido el calificador de esquema implcito o explcito, debe identificar de
forma exclusiva una secuencia existente en el servidor actual. Si no existe
ninguna secuencia con este nombre en el esquema especificado explcita o
implcitamente, se emitir un error (SQLSTATE 42704). nombre-secuencia no
debe ser una secuencia generada por el sistema para una columna de
identidad (SQLSTATE 428FB).
RESTART
Reinicia la secuencia. Si no se especifica constante-numrica, la secuencia se
reinicia en el valor especificado implcita o explcitamente como el valor
inicial en la sentencia CREATE SEQUENCE que ha creado originalmente
la secuencia.
WITH constante-numrica
Reinicia la secuencia con el valor especificado. Este valor puede ser
cualquier valor positivo o negativo que pueda asignarse a una
columna del tipo de datos asociado con la secuencia (SQLSTATE
42820), a condicin de que no haya dgitos distintos de cero a la
derecha de la coma decimal (SQLSTATE 428FA).
INCREMENT BY
Especifica el intervalo entre valores consecutivos de la secuencia. Este
valor puede ser cualquier valor positivo o negativo que pueda asignarse a
una columna del tipo de datos asociado con la secuencia (SQLSTATE
42820), que no exceda el valor de una constante entera grande (SQLSTATE
42815) y que no tenga dgitos distintos de cero a la derecha de la coma
decimal (SQLSTATE 428FA).
Si este valor es negativo, se trata de una secuencia descendente. Si este
valor es 0 o el valor absoluto es mayor que MAXVALUE - MINVALUE o
positivo, se trata de una secuencia ascendente.
MINVALUE o NO MINVALUE
Especifica el valor mnimo en el que una secuencia descendente pasa por
un ciclo o deja de generar valores o en el que una secuencia ascendente
pasa por un ciclo despus de alcanzar el valor mximo.
MINVALUE constante-numrica
Especifica la constante numrica que es el valor mnimo. Este valor
puede ser cualquier valor positivo o negativo que pueda asignarse a
una columna del tipo de datos asociado con la secuencia (SQLSTATE
42820), que no tenga dgitos distintos de cero a la derecha de la coma
decimal (SQLSTATE 428FA) pero que sea inferior o igual al valor
mximo (SQLSTATE 42815).
NO MINVALUE
Para una secuencia ascendente, el valor es el valor de inicio original.
Para una secuencia descendente, el valor es el valor mnimo del tipo
de datos asociado con la secuencia.
MAXVALUE o NO MAXVALUE
Especifica el valor mximo en el que una secuencia ascendente pasa por
un ciclo o deja de generar valores o en el que una secuencia descendente
pasa por un ciclo despus de alcanzar el valor mnimo.
MAXVALUE constante-numrica
Especifica la constante numrica que es el valor mximo. Este valor
puede ser cualquier valor positivo o negativo que pueda asignarse a
una columna del tipo de datos asociado con la secuencia (SQLSTATE
42820), que no tenga dgitos distintos de cero a la derecha de la coma
decimal (SQLSTATE 428FA) pero que sea superior o igual al valor
mnimo (SQLSTATE 42815).
NO MAXVALUE
Para una secuencia ascendente, el valor es el valor mximo del tipo de
datos asociado con la secuencia. Para una secuencia descendente, el
valor es el valor de inicio original.
CYCLE o NO CYCLE
Especifica si la secuencia debe continuar generando valores despus de
alcanzar el valor mximo o el valor mnimo. El lmite de la secuencia
puede alcanzarse con el siguiente valor que coincida exactamente con la
condicin de lmite o excediendo el valor.
CYCLE
Especifica que se continan generando valores para esta secuencia
despus de haber alcanzado el valor mximo o mnimo. Si se utiliza
esta opcin, cuando una secuencia ascendente haya alcanzado su
valor mximo, generar su valor mnimo; o cuando una secuencia
descendente haya alcanzado su valor mnimo, generar su valor
mximo. Los valores mximo y mnimo para la secuencia determinan
el rango que se utiliza para el ciclo.
Cuando CYCLE est en vigor, DB2 puede generar valores duplicados
para la secuencia.
NO CYCLE
Especifica que no se generarn valores para la secuencia una vez que
se haya alcanzado el valor mximo o mnimo para la secuencia.
CACHE o NO CACHE
Especifica si se deben mantener algunos valores preasignados en memoria
para obtener un acceso ms rpido. Esta opcin se utiliza para el
rendimiento y el ajuste.
CACHE constante-entera
Especifica el nmero mximo de valores de secuencia que se
preasignan y se mantienen en memoria. La preasignacin y el
almacenamiento de valores en la antememoria reduce la E/S sncrona
en las anotaciones cronolgicas cuando se generan valores para la
secuencia.
En el caso de producirse una anomala del sistema, todos los valores
de secuencia almacenados en antememoria que no se han utilizando
en sentencias confirmadas se pierden (es decir, no se utilizarn nunca).
El valor especificado para la opcin CACHE es el nmero mximo de
valores de secuencia que puede perderse en caso de anomala del
sistema.
El valor mnimo es 2 (SQLSTATE 42815).
NO CACHE
Especifica que los valores de la secuencia no se deben preasignar.
Asegura que no haya ninguna prdida de valores en el caso de
producirse una anomala del sistema, un cierre o una desactivacin de
la base de datos. Cuando se especifica esta opcin, los valores de la
secuencia no se almacenan en la antememoria. En este caso, cada
peticin de un valor nuevo para la secuencia produce E/S sncrona en
las anotaciones cronolgicas.
NO ORDER o ORDER
Especifica si los nmeros de secuencia deben generarse segn el orden de
peticin.
ORDER
Especifica que los nmeros de secuencia se generan segn el orden de
peticin.
NO ORDER
Especifica que los nmeros de secuencia no necesitan generarse segn
el orden de peticin.
ALTER SERVER
La sentencia ALTER SERVER 58 se utiliza para:
v Modificar la definicin de una fuente de datos especfica o la definicin de
una categora de fuentes de datos
v Realizar cambios en la configuracin de una fuente de datos especfica o en
la configuracin de una categora de fuentes de datoscambios que
persisten a travs de mltiples conexiones a la base de datos federada.
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o bien emitirse
mediante la utilizacin de sentencias de SQL dinmicas. Se trata de una
sentencia ejecutable que puede prepararse de forma dinmica. Sin embargo, si
se aplica la opcin de enlace lgico DYNAMICRULES BIND, la sentencia no
puede prepararse dinmicamente (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe incluir la autorizacin SYSADM o
DBADM en la base de datos federada.
Sintaxis
ALTER SERVER
nombre-servidor
VERSION versin-servidor
TYPE tipo-servidor
VERSION versin-servidor
WRAPPER nombre-reiniciador
,
ADD
OPTIONS ( nombre-opcin-servidor constante-serie )
SET
DROP nombre-opcin-servidor
versin-servidor:
versin
. release
. mod
constante-serie-versin
58. En esta sentencia, la palabra SERVER y los nombres de parmetros que terminan en -servidor slo hacen referencia
a las fuentes de datos de un sistema federado. No hacen referencia al servidor federado de dicho sistema ni a los
servidores de aplicaciones DRDA. Para obtener informacin acerca de los sistemas federados, consulte Sistemas
federados DB2 en la pgina 56. Para obtener informacin acerca de los servidores de aplicaciones DRDA, consulte
Base de datos relacional distribuida en la pgina 43.
Descripcin
nombre-servidor
Identifica el nombre del servidor federado para la fuente de datos a la que
se han de aplicar los cambios que se estn solicitando. La fuente de datos
debe ser una descrita en el catlogo.
VERSION
Despus de nombre-servidor, VERSION y su parmetro especifican una
nueva versin de la fuente de datos que indica nombre-servidor.
versin
Especifica el nmero de versin. versin debe ser un entero.
release
Especifica el nmero de release de la versin indicada por versin.
release debe ser un entero.
mod
Especifica el nmero de la modificacin del release indicado por
release. mod debe ser un entero.
constante-serie-versin
Especifica la designacin completa de la versin. La
constante-serie-versin puede ser un solo valor (por ejemplo, 8i); o
puede ser los valores concatenados de versin, release y, si se aplica,
mod (por ejemplo, 8.0.3).
TYPE tipo-servidor
Especifica el tipo de fuente de datos al que se han de aplicar los cambios
que se estn solicitando. El tipo de servidor debe ser uno listado en el
catlogo.
VERSION
Despus de tipo-servidor, VERSION y su parmetro especifican la versin
de las fuentes de datos para las cuales se han de habilitar, restaurar o
desactivar las opciones de servidor.
WRAPPER nombre-reiniciador
Especifica el nombre del reiniciador que el servidor federado utiliza para
interactuar con las fuentes de datos del tipo y versin indicados por
tipo-servidor y versin-servidor. El reiniciador debe estar listado en el
catlogo.
OPTIONS
Indica las opciones de servidor que se han de habilitar, restaurar o
desactivar para la fuente de datos indicada por nombre-servidor o para la
categora de fuentes de datos indicada por tipo-servidor y sus parmetros
asociados. Consulte Opciones de servidor en la pgina 1415 para ver las
descripciones de nombre-opcin-servidor y sus valores.
ADD
Habilita una opcin de servidor.
SET
Cambia el valor de una opcin de servidor.
nombre-opcin-servidor
Nombra una opcin de servidor que se ha de habilitar o restaurar.
constante-serie
Especifica un valor para nombre-opcin-servidor como una constante de
serie de caracteres.
DROP nombre-opcin-servidor
Desactiva una opcin de servidor.
Notas
v Esta sentencia no soporta las opciones de servidor DBNAME y NODE
(SQLSTATE 428EE).
v Una opcin de servidor no se puede especificar ms de una vez en la
misma sentencia ALTER SERVER (SQLSTATE 42853). Cuando se habilita,
restaura o desactiva una opcin de servidor, no afecta a ninguna otra
opcin de servidor que se est utilizando.
v Una sentencia ALTER SERVER de una unidad de trabajo (UOW)
determinada no se puede procesar bajo ninguna de las condiciones
siguientes:
La sentencia hace referencia a una sola fuente de datos y la UOW ya
incluye una sentencia SELECT que hace referencia a un apodo de una
tabla o la vista contenida en esta fuente de datos (SQLSTATE 55007).
La sentencia hace referencia a una categora de una fuente de datos (por
ejemplo, todas las fuentes de datos para un tipo especfico y versin) y la
UOW ya incluye una sentencia SELELCT que hace referencia a un apodo
de una tabla o vista contenida en una de estas fuentes de datos
(SQLSTATE 55007).
v Si la opcin de servidor se establece en un valor para un tipo de fuente de
datos y se establece en otro valor para una instancia del tipo, el segundo
valor prevalece sobre el primero para la instancia. Por ejemplo, suponga
que PLAN_HINTS se establece en Y para el tipo de servidor ORACLE y
en N para una fuente de datos Oracle llamada DELPHI. Esta
configuracin provoca que se habiliten las indicaciones de planes en todas
las fuentes de datos Oracle excepto en DELPHI.
Ejemplos
Ejemplo 1: Asegrese de que cuando se envan ID de autorizacin a las fuentes
de datos Oracle 8.0.3, no se cambian las maysculas y minsculas de los ID.
Tambin, suponga que estas fuentes de datos han iniciado su ejecucin en una
CPU actualizada que es la mitad de rpida que la CPU local. Informe al
optimizador de esta estadstica.
ALTER SERVER
TYPE ORACLE
VERSION 8.0.3
OPTIONS
( ADD FOLD_ID 'N',
SET CPU_RATIO '2.0' )
Ejemplo 2: Indique que una fuente de datos DB2 Universal Database para
AS/400 Versin 3.0 llamada SUNDIAL se ha actualizado a la Versin 3.1.
ALTER SERVER SUNDIAL
VERSION 3.1
ALTER TABLE
La sentencia ALTER TABLE modifica las tablas existentes al:
v Aadir una o ms columnas a una tabla
v Aadir o eliminar una clave primaria
v Aadir o eliminar una o ms restricciones de unicidad o de referencia
v Aadir o eliminar una o ms definiciones de restriccin de comprobacin
v Alterar la longitud de una columna VARCHAR
v Alterar una columna de tipo de referencia para aadir un mbito
v Alterar la expresin de generacin de una columna generada
v Aadir o eliminar una clave de particionamiento
v Cambiar atributos de una tabla, tales como la opcin DATA CAPTURE,
PCTFREE, LOCKSIZE o la modalidad APPEND.
v Poner la tabla en un estado de NOT LOGGED INITIALLY.
Invocacin
Esta sentencia se puede intercalar en un programa de aplicacin o emitir
mediante el uso de sentencias de SQL dinmicas. Es una sentencia ejecutable
que puede prepararse de forma dinmica. Sin embargo, si es aplicable la
opcin de enlace DYNAMICRULES BIND, la sentencia no se puede preparar
dinmicamente (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener al menos uno de los
privilegios siguientes:
v Privilegio ALTER para la tabla que se debe modificar
v Privilegio CONTROL para la tabla que se debe modificar
v Privilegio ALTERIN para el esquema de la tabla
v Autorizacin SYSADM o DBADM.
(1) COLUMN
ADD definicin-columna
restriccin-unicidad
restriccin-referencia
restriccin-comprobacin
definicin-clave-particin
COLUMN
ALTER alteracin-columna
DROP PRIMARY KEY
FOREIGN KEY nombre-restriccin
UNIQUE
CHECK
CONSTRAINT
PARTITIONING KEY
DATA CAPTURE NONE
CHANGES
INCLUDE LONGVAR COLUMNS
ACTIVATE NOT LOGGED INITIALLY
WITH EMPTY TABLE
PCTFREE entero
LOCKSIZE ROW
TABLE
APPEND ON
OFF
CARDINALITY
VOLATILE
NOT VOLATILE
SET SUMMARY AS DEFINITION ONLY
definicin-tabla-resumen
Notas:
1 Para que haya compatibilidad con la Versin 1, la palabra clave ADD es
opcional para:
v las restricciones PRIMARY KEY sin nombre
v las restricciones de referencia sin nombre
v las restricciones de referencia cuyo nombre vaya a continuacin de
la frase FOREIGN KEY.
definicin-tabla-resumen:
opciones-tabla-renovables:
definicin-columna:
nombre-columna
(1) opciones-columna
tipo-datos
opciones-columna:
NOT NULL
(2)
opciones-lob
(3)
opciones-datalink
(4)
SCOPE nombre-tabla-tipo2
nombre-vista-tipo2
PRIMARY KEY
(5) UNIQUE
CONSTRAINT nombre-restriccin clusula-referencias
CHECK ( condicin-control )
espec-columna-generada
Notas:
1 Si la primera opcin de columna elegida es la especificacin de columna
generada, se puede omitir el tipo de datos y ser calculado por
la expresin de generacin.
2 La clusula opciones-lob slo se aplica a tipos de gran objeto (BLOB,
CLOB y DBCLOB) y a los tipos diferenciados basados en tipos de gran
objeto.
3 La clusula opciones-datalink slo se aplica al tipo DATALINK y a los
tipos diferenciados basados en el tipo DATALINK.
4 La clusula SCOPE slo se aplica al tipo REF.
5 Para que exista compatibilidad con la Versin 1, se puede omitir
la palabra clave CONSTRAINT en una definicin-columna que defina
una clusula-referencia.
opciones-lob:
opciones-datalink:
NO LINK CONTROL
LINKTYPE URL
FILE LINK CONTROL opciones-enlace-archivo
MODE DB2OPTIONS
opciones-enlace-archivo:
* INTEGRITY ALL * READ PERMISSION FS
DB
* ON UNLINK RESTORE *
DELETE
clusula-referencias:
( nombre-columna )
clusula-regla:
espec-columna-generada:
clusula-predefinida
GENERATED ALWAYS AS ( expresin-generacin )
clusula-predefinida:
WITH
DEFAULT
constante
registro-especial-fechahora
USER
NULL
funcin-conversin ( constante )
registro-especial-fechahora
USER
restriccin-unicidad:
,
UNIQUE ( nombre-columna )
CONSTRAINT nombre-restriccin PRIMARY KEY
restriccin-referencia:
(1)
CONSTRAINT nombre-restriccin
restriccin-comprobacin:
CHECK ( condicin-control )
CONSTRAINT nombre-restriccin
definicin-clave-particin:
,
USING HASHING
PARTITIONING KEY ( nombre-columna )
alteracin-columna:
nombre-columna
alteracin-identidad:
RESTART
WITH constante-numrica
SET INCREMENT BY constante-numrica
SET NO MINVALUE
MINVALUE constante-numrica
SET NO MAXVALUE
MAXVALUE constante-numrica
SET CYCLE
NO CYCLE
SET NO CACHE
CACHE constante-entera
SET NO ORDER
ORDER
Notas:
1 Por razones de compatibilidad con la Versin 1, nombre-restriccin se
puede especificar a continuacin de FOREIGN KEY (sin la palabra clave
CONSTRAINT).
Descripcin
nombre-tabla
Identifica la tabla que se va a cambiar. Debe ser una tabla descrita en el
catlogo y no debe ser una vista ni una tabla del catlogo. Si nombre-tabla
identifica una tabla de resumen, las alteraciones se limitan a establecer la
tabla de resumen en DEFINITION ONLY, activar NOT LOGGED
INITIALLY, cambiar PCTFREE, LOCKSIZE, APPEND o VOLATILE. El
nombre-tabla no puede ser un apodo (SQLSTATE 42809) ni una tabla
temporal declarada (SQLSTATE 42995).
SET SUMMARY AS
Permite modificar las propiedades de una tabla de resumen.
DEFINITION ONLY
Cambia una tabla de resumen de forma de que deja de ser
considerada como una tabla de resumen. La tabla especificada por
nombre-tabla debe estar definida como tabla de resumen que no est
duplicada (SQLSTATE 428EW). La definicin de las columnas de
nombre-tabla no se modifica, pero la tabla ya no puede utilizarse para
la optimizacin de consultas y ya no puede utilizarse la sentencia
REFRESH TABLE.
definicin-tabla-resumen
Modifica una tabla regular para convertirla en una tabla de resumen y
utilizarla en la optimizacin de consultas. La tabla especificada por
nombre-tabla:
v No debe estar previamente definida como tabla de resumen
v No debe ser una tabla con tipo
v No debe tener ninguna restriccin, ndice de unicidad ni
desencadenante definidos
v No debe estar referenciada en la definicin de otra tabla de
resumen.
Si nombre-tabla no cumple estos criterios, se devuelve un error
(SQLSTATE 428EW).
seleccin completa
Define la consulta en la que se basa la tabla. Las columnas de la
tabla existente:
v deben tener el mismo nmero de columnas
v deben tener exactamente los mismos tipos de datos
v deben tener los mismos nombres de columna en las mismas
posiciones de orden
59. El identificador est formado por SQL seguido de una secuencia de 15 caracteres numricos, generados por una
funcin basada en la indicacin de la hora.
DEFAULT
Proporciona un valor por omisin en el caso de que no se
suministre ningn valor en INSERT o se especifique uno como
DEFAULT en INSERT o UPDATE. Si no se especifica un valor por
omisin especfico a continuacin de la palabra clave DEFAULT, el
valor por omisin depende del tipo de datos de la columna, tal
como se muestra en la Tabla 21. Si una columna est definida
como DATALINK o tipo estructurado, no puede especificarse una
clusula por omisin.
Si se define una columna utilizando un tipo diferenciado, el valor
por omisin de la columna es el valor por omisin del tipo de
datos fuente convertido al tipo diferenciado.
Tabla 21. Valores por omisin (cuando no se especifica ningn valor)
Tipo de datos Valor por omisin
Numrico 0
Serie de caracteres de longitud fija Blancos
Serie de caracteres de longitud variable Una serie de longitud 0
Serie grfica de longitud fija Blancos de doble byte
Serie grfica de longitud variable Una serie de longitud 0
Fecha Para las filas existentes, fecha que
corresponde al 1 de enero de 0001. Para
las filas aadidas, la fecha actual.
Hora Para filas existentes, una hora que
corresponde a las 0 horas, 0 minutos y 0
segundos. Para filas aadidas, la hora
actual.
Indicacin de la hora Para las filas existentes, una fecha que
corresponde al 1 de Enero, 0001 y una
hora que corresponde a las 0 horas, 0
minutos, 0 segundos y 0 microsegundos.
Para filas aadidas, la indicacin de la
hora actual.
Serie binaria (blob) Una serie de longitud 0
constante
Especifica la constante como el valor por omisin para la
columna. La constante especificada debe:
v representar un valor que pueda asignarse a la columna de
acuerdo con las reglas de asignacin descritas en el
Captulo 3
v no ser una constante de coma flotante a menos que la
columna est definida con un tipo de datos de coma
flotante
v no tener dgitos diferentes de cero fuera de la escala del
tipo de datos de la columna si la constante es decimal (por
ejemplo, 1,234 no puede ser el valor por omisin para una
columna DECIMAL(5,2))
v estar expresada con un mximo de 254 caracteres,
incluyendo los caracteres de comillas, cualquier carcter
prefijo como la X para una constante hexadecimal, los
caracteres del nombre de funcin completamente calificado
y parntesis, cuando la constante es el argumento de una
funcin-conversin.
registro-especial-fechahora
Especifica el valor del registro especial de indicacin de fecha
y hora (CURRENT DATE, CURRENT TIME o CURRENT
TIMESTAMP) en el momento de INSERT o UPDATE como
valor por omisin para la columna. El tipo de datos de la
columna debe ser el tipo de datos que corresponde al registro
especial especificado (por ejemplo, el tipo de datos debe ser
DATE cuando se especifica CURRENT DATE). Para las filas
existentes, el valor es la fecha, hora o indicacin de la hora
actuales en el momento de procesar la sentencia ALTER
TABLE.
USER
Especifica el valor del registro especial USER en el momento
de ejecutar INSERT o UPDATE, como el valor por omisin
para la columna. Si se especifica USER, el tipo de datos de la
columna debe ser una serie de caracteres con una longitud no
inferior al atributo de longitud de USER. Para las filas
existentes, el valor es el ID de autorizacin de la sentencia
ALTER TABLE.
NULL
Especifica NULL como valor por omisin para la columna. Si
se ha especificado NO NULL, DEFAULT NULL no debe
especificarse en la misma definicin de columna.
funcin-conversin
Esta forma de valor por omisin slo puede utilizarse con las
columnas definidas como tipo de datos diferenciado, BLOB o
de indicacin de fecha y hora (DATE, TIME o TIMESTAMP).
Para el tipo diferenciado, a excepcin de los tipos
diferenciados basados en tipos BLOB o de indicacin de fecha
y hora, el nombre de la funcin debe coincidir con el nombre
del tipo diferenciado de la columna. Si est calificado con un
nombre de esquema, debe ser el mismo que el nombre de
esquema del tipo diferenciado. Si no est calificado, el nombre
de esquema procedente de la resolucin de la funcin debe
ser el mismo que el nombre de esquema del tipo diferenciado.
Para un tipo diferenciado basado en un tipo de indicacin de
fecha y hora, en el que el valor por omisin es una constante,
debe utilizarse una funcin y el nombre de sta debe coincidir
con el nombre del tipo fuente del tipo diferenciado, con un
nombre de esquema implcito o explcito de SYSIBM. Para las
dems columnas de indicacin de fecha y hora, tambin
puede utilizarse la correspondiente funcin de fecha y hora.
Para un BLOB o tipo diferenciado basado en BLOB, debe
utilizarse una funcin, y el nombre de la funcin debe ser
BLOB, junto con SYSIBM como nombre de esquema implcito
o explcito.
constante
Especifica una constante como argumento. La constante
debe cumplir las reglas de una constante para el tipo
fuente del tipo diferenciado, o para el tipo de datos si no
es un tipo diferenciado. Si la funcin-conversin es BLOB,
la constante debe ser de tipo serie.
registro-especial-fechahora
Especifica CURRENT DATE, CURRENT TIME o
CURRENT TIMESTAMP. El tipo fuente del tipo
diferenciado de la columna debe ser el tipo de datos que
corresponde al registro especial especificado.
USER
Especifica el registro especial USER. El tipo de datos del
tipo fuente del tipo diferenciado de la columna debe ser el
tipo de datos serie con una longitud mnima de 8 bytes. Si
la funcin-conversin es BLOB, el atributo de longitud
debe ser como mnimo 8 bytes.
ADD restriccin-unicidad
Define una restriccin de clave primaria o de unicidad. No puede
aadirse una restriccin de unicidad o de clave primaria a una tabla que
sea una subtabla (SQLSTATE 429B3). Si la tabla es la supertabla del
principio de la jerarqua, la restriccin se aplica a la tabla y a todas sus
subtablas.
CONSTRAINT nombre-restriccin
Indica el nombre de la restriccin de clave primaria o de unicidad.
Para obtener ms informacin, vea nombre-restriccin en CREATE
TABLE en la pgina 835.
UNIQUE (nombre_columna...,)
Define una clave de unicidad compuesta por las columnas
identificadas. Las columnas identificadas deben estar definidas como
NOT NULL. Cada nombre-columna debe identificar una columna de la
tabla y la misma columna no debe estar identificada ms de una vez.
El nombre no puede estar calificado. El nmero de columnas
identificadas no debe exceder de 16 y la suma de sus longitudes
almacenadas no debe exceder de 1024 (consulte el apartado Cuentas
de bytes en la pgina 885 para conocer las longitudes almacenadas de
columnas). La longitud de una columna individual cualquiera no debe
exceder de 255 bytes. No puede utilizarse ningn LOB, LONG
VARCHAR, LONG VARGRAPHIC, DATALINK, un tipo diferenciado
de cualquiera de estos tipos ni una columna de tipo estructurado
como parte de una clave de unicidad (aunque el atributo de longitud
de la columna sea lo bastante pequeo como para caber dentro del
lmite de 255 bytes) (SQLSTATE 42962). El conjunto de columnas de la
clave de unicidad no puede ser el mismo que el conjunto de columnas
de la clave primaria o de otra clave de unicidad (SQLSTATE 01543). 60
Cualquier valor existente en el conjunto de columnas identificadas
debe ser exclusivo (SQLSTATE 23515).
Se realiza una comprobacin para determinar si un ndice existente
coincide con la definicin de clave de unicidad (ignorando cualquier
columna INCLUDE del ndice). Una definicin de ndice coincide si
identifica el mismo conjunto de columnas sin tener en cuenta el orden
de las columnas ni las especificaciones de direccin (ASC/DESC). Si
se encuentra una definicin de ndice coincidente, la descripcin del
ndice se cambia para indicar que el sistema lo necesita y se cambia
por de unicidad (despus de asegurar la exclusividad) si no era un
ndice de unicidad. Si la tabla tiene ms de un ndice coincidente, se
selecciona un ndice de unicidad existente (la seleccin es arbitraria).
Si no se encuentra ningn ndice coincidente, se crear
automticamente un ndice de unicidad para las columnas, tal como
ADD restriccin-comprobacin
Define una restriccin de comprobacin. Vea restriccin-comprobacin en
CREATE TABLE en la pgina 835.
ADD definicin-clave-particin
Define una clave de particionamiento. La tabla debe estar definida en un
espacio de tablas de un grupos de nodos de una sola particin y todava
no debe tener ninguna clave de particionamiento. Si ya existe una clave
de particionamiento para la tabla, se debe suprimir la clave existente antes
de aadir la nueva clave de particionamiento.
No puede aadirse una clave de particionamiento a una tabla que sea una
subtabla (SQLSTATE 428DH).
PARTITIONING KEY (nombre-columna...)
Define una clave de particionamiento utilizando las columnas
especificadas. Cada nombre-columna debe identificar una columna de la
tabla, y la misma columna no debe identificarse ms de una vez. El
nombre no puede estar calificado. Una columna no se puede utilizar
como parte de una clave de particionamiento si el tipo de datos de la
columna es un LONG VARCHAR, LONG VARGRAPHIC, BLOB,
CLOB, DBCLOB, DATALINK, un tipo diferenciado de cualquiera de
estos tipos o un tipo estructurado.
USING HASHING
Especifica la utilizacin de la funcin de generacin aleatoria como el
mtodo de particin para la distribucin de datos. Es el nico mtodo
de particin soportado.
ALTER alteracin-columna
Altera las caractersticas de una columna.
nombre-columna
Es el nombre de la columna que se va a alterar en la tabla. El
nombre-columna debe identificar una columna existente de la tabla
(SQLSTATE 42703). El nombre no puede estar calificado.
SET DATA TYPE VARCHAR (entero)
Aumenta la longitud de una columna VARCHAR existente.
CHARACTER VARYING o CHAR VARYING se pueden utilizar como
sinnimos de la palabra clave VARCHAR. El tipo de datos de
nombre-columna debe ser VARCHAR y la longitud mxima actual
definida para la columna no debe ser superior al valor de entero
(SQLSTATE 42837). El valor de entero puede ser de hasta 32672. La
tabla no debe ser una tabla con tipo (SQLSTATE 428DH).
La alteracin de la columna no debe hacer que la cuenta total de bytes
de todas las columnas sobrepase el tamao mximo de registro
especificado en la Tabla 36 en la pgina 1260 (SQLSTATE 54010). Vea
Notas en la pgina 881 para obtener ms informacin. Si la columna
APPEND
Indica si los datos se aaden al final de los datos de la tabla o si se
colocan donde haya espacio libre disponible en las pginas de datos. Si la
tabla es una tabla con tipo, esta opcin slo recibe soporte en la tabla raz
de la jerarqua de tablas con tipo (SQLSTATE 428DR).
ON
Indica que los datos de la tabla se aadirn y no se conservar la
informacin sobre el espacio libre de las pginas. La tabla no debe
tener un ndice agrupado (SQLSTATE 428CA).
OFF
Indica que los datos de la tabla se colocarn donde haya espacio
disponible. ste es el valor por omisin cuando se crea una tabla.
Se debe reorganizar la tabla despus de establecer APPEND OFF
porque la informacin sobre el espacio libre disponible no es exacta y
puede dar como resultado un rendimiento bajo durante la insercin.
VOLATILE
Esto indica al optimizador que la cardinalidad de la tabla nombre-tabla
puede variar significativamente durante la ejecucin, de vaca a bastante
grande. Para acceder a nombre-tabla, el optimizador utilizar una
exploracin de ndice en vez de una exploracin de tabla, sean cual sean
las estadsticas, si esta ndice es slo ndice (todas las columnas referencias
estn en el ndice) o este ndice puede aplicar un predicador en la
exploracin el ndice. Si la tabla es una tabla con tipo, esta opcin slo
recibe soporte en la tabla raz de la jerarqua de tablas con tipo
(SQLSTATE 428DR).
NOT VOLATILE
Esto indica al optimizador que la cardinalidad de nombre-tabla no es
voltil. Los Planes de acceso a esta tabla seguirn basndose en las
estadsticas existentes y en nivel de optimizacin que tiene lugar.
CARDINALITY
Palabra clave opcional que indica que es el nmero de filas de la tabla
que es voltil y no la propia tabla.
Normas
v Una columna de clave de particionamiento puede actualizarse, a menos que
el parmetro de configuracin DB2_UPDATE_PART_KEY se haya
establecido en 'OFF' (SQLSTATE 42997). 'OFF' es el valor por omisin.
v Cualquier restriccin de clave primaria o de unicidad definida en la tabla
debe ser un superconjunto de la clave de particionamiento, si hay
una(SQLSTATE 42997).
v Una columna que permita nulos de una clave de particionamiento puede
incluirse como columna de clave fornea cuando se define la relacin con
61. Si la clave primaria o de unicidad utiliza un ndice de unicidad existente que se ha creado en una versin anterior
y no se ha convertido para dar soporte a exclusividad diferida, entonces el ndice se convierte y los paquetes con
utilizacin de actualizacin en la tabla asociada se invaliden.
Ejemplo 9: Suponga que tiene una tabla llamada CUSTOMERS que est
definida con las siguientes columnas:
Nombre columna Tipo datos
BRANCH_NO SMALLINT
CUSTOMER_NO DECIMAL(7)
CUSTOMER_NAME VARCHAR(50)
En esta tabla, la clave primaria est formada por las columnas BRANCH_NO
y CUSTOMER_NO. Se desea particionar la tabla, por lo tanto necesita crear
una clave de particionamiento para la tabla. La tabla debe definirse en un
espacio de tablas de un grupo de nodos de un solo nodo. La clave primaria
debe ser un superconjunto de las columnas de particin: como mnimo una de
las columnas de la clave primaria debe utilizarse como la clave de
particionamiento. Suponga que desea que BRANCH_NO sea la clave de
particionamiento. Podra hacerlo con la sentencia siguiente:
ALTER TABLE CUSTOMERS
ADD PARTITIONING KEY (BRANCH_NO)
ALTER TABLESPACE
La sentencia ALTER TABLESPACE se utiliza para modificar un espacio de
tablas existente de las siguientes maneras.
v Aadir un contenedor a un espacio de tablas DMS (es decir, un espacio de
tablas creado con la opcin MANAGED BY DATABASE).
v Aumentar el tamao de un contenedor del espacio de tablas DMS (es decir,
un espacio de tablas creado con la opcin MANAGED BY DATABASE).
v Aadir un contenedor a un espacio de tablas SMS de una particin (o
nodo) que no tenga contenedores actualmente.
v Modificar el valor PREFETCHSIZE para un espacio de tablas.
v Modificar el valor BUFFERPOOL utilizado para las tablas del espacio de
tablas.
v Modificar el valor OVERHEAD para un espacio de tablas.
v Modificar el valor TRANSFERRATE para un espacio de tablas.
Invocacin
Esta sentencia puede intercalarse en un programa de aplicacin o emitirse de
forma interactiva. Se trata de una sentencia ejecutable que puede prepararse
de forma dinmica. Sin embargo, si es aplicable la opcin de enlace
DYNAMICRULES BIND, la sentencia no se puede preparar dinmicamente
(SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener autorizacin SYSCTRL o
SYSADM.
Sintaxis
ALTER TABLESPACE nombre-espacio-tablas
ADD clusula-contenedor-basedatos
clusula-on-nodes
clusula-contenedor-sistema clusula-on-nodes
(1)
EXTEND clusula-contenedor-basedatos
RESIZE clusula-contenedores-todos clusula-on-nodes
PREFETCHSIZE nmero-de-pginas
entero K
M
G
BUFFERPOOL nombre-agrupalmacinter
OVERHEAD nmero-de-milisegundos
TRANSFERRATE nmero-de-milisegundos
DROPPED TABLE RECOVERY ON
OFF
SWITCH ONLINE
clusula-contenedor-basedatos:
clusula-contenedor-sistema:
( serie-contenedor )
clusula-on-nodes:
,
ON NODE ( nmero-nodo1 )
NODES TO nmero-nodo2
clusula-contenedores-todos:
CONTAINERS
( ALL nmero-de-pginas )
entero K
M
G
Notas:
1 Las clusulas ADD, EXTEND y RESIZE no se pueden especificar en
una misma sentencia.
Descripcin
nombre-espacio-tablas
Designa el espacio de tablas. Es un nombre que consta de una sola parte.
Es un identificador SQL largo (ordinario o delimitado).
ADD
ADD especifica que va a aadir un nuevo contenedor al espacio de tablas.
EXTEND
EXTEND especifica que se aumenta el tamao de los contenedores
existentes. El tamao especificado es el tamao en el que se aumenta el
O
ALTER TABLESPACE TS1
RESIZE (ALL 2000)
O
ALTER TABLESPACE TS1
EXTEND (FILE '/conts/cont0' 1000,
DEVICE '/dev/rcont1' 1500,
FILE 'cont2' 1300)
,
(1)
ADD ATTRIBUTE definicin-atributo
RESTRICT
DROP ATTRIBUTE nombre-atributo
ADD especificacin-mtodo
RESTRICT
DROP METHOD nombre-mtodo
METHOD nombre-mtodo ( )
,
tipo-datos
SPECIFIC METHOD nombre-especfico
Notas:
1 Si se aaden o eliminan tanto atributos como mtodos,
las especificaciones de atributo deben preceder a las especificaciones
de mtodo.
Descripcin
nombre-tipo
Identifica el tipo estructurado a cambiar. Debe ser un tipo existente
definido en el catlogo (SQLSTATE 42704) y el tipo debe ser un tipo
estructurado (SQLSTATE 428DP). En las sentencias de SQL dinmicas, el
registro especial CURRENT SCHEMA se utiliza como calificador para un
Notas
v Cuando se altera un tipo, mediante la adicin o eliminacin de un atributo,
se invalidan todos los paquetes que dependen de funciones o mtodos que
utilizan este tipo o un subtipo de l como parmetro o resultado.
v Cuando un atributo se aade a un tipo estructurado o se elimina de l:
Si el valor INLINE LENGTH del tipo fue calculado por el sistema
cuando se cre el tipo, los valores INLINE LENGTH se modifican
automticamente para el tipo alterado, y para todos sus subtipos, para
reflejar el cambio. Los valores INLINE LENGTH tambin se modifican
automticamente (recursivamente) para todos los tipos estructurados
cuando INLINE LENGTH fue calculado por el sistema y el tipo incluye
un atributo de cualquier tipo con un valor INLINE LENGTH cambiado.
Si el usuario especific explcitamente el valor INLINE LENGTH de un
tipo cualquiera que se alter mediante la adicin o eliminacin de
atributos, entonces el valor INLINE LENGTH de ese tipo determinado
no se modifica. Debe tenerse especial cuidado en el caso de valores
INLINE LENGTH especificados explcitamente. Si es probable que ms
tarde se aadan atributos a un tipo, el valor de INLINE LENGTH, para
cualquier uso de ese tipo o de uno de sus subtipos en una definicin de
columna, debe ser lo suficiente grande para tener en cuenta el posible
aumento de longitud del objeto del que se creado una instancia.
Si deben habilitarse nuevos atributos para ser utilizados por programas
de aplicacin, se deben modificar las funciones de transformacin
existentes para que coincidan con la nueva estructura del tipo de datos.
Ejemplos
Ejemplo 1: La sentencia ALTER TYPE puede utilizarse para permitir un ciclo
de tablas y tipos que se hacen referencia mutuamente. Piense en las tablas
denominadas EMPLOYEE y DEPARTMENT que se hacen referencia
mutuamente.
Ejemplo 2: La sentencia ALTER TYPE puede utilizarse para crear un tipo con
un atributo que haga referencia a un subtipo.
CREATE TYPE EMP ...
CREATE TYPE MGR UNDER EMP ...
ALTER TYPE EMP ADD ATTRIBUTE MANAGER REF(MGR)
Observe que para utilizar el mtodo BONUS es necesario emitir una sentencia
CREATE METHOD para crear el cuerpo del mtodo. Si se supone que el tipo
EMP incluye un atributo llamado SALARY, el ejemplo siguiente define un
cuerpo de mtodo.
CREATE METHOD BONUS(RATE DOUBLE) FOR EMP
RETURN CAST(SELF.SALARY * RATE AS INTEGER)
,
ADD
OPTIONS ( nombre-opcin-usuario constante-serie )
SET
DROP nombre-opcin-usuario
Descripcin
nombre-autorizacin
Especifica el nombre de autorizacin bajo el cual un usuario o una
aplicacin se conecta a una base de datos federada.
USER
El valor del registro especial USER. Cuando se especifica USER, el ID de
autorizacin de la sentencia ALTER USER MAPPING se correlacionar
con el ID de autorizacin de la fuente de datos que se especifica en la
opcin de usuario REMOTE_AUTHID.
SERVER nombre-servidor
Identifica la fuente de datos que se puede acceder bajo el ID de
autorizacin remoto que se correlaciona con el ID de autorizacin local
que indica nombre-autorizacin o al que USER hace referencia.
OPTIONS
Indica las opciones de usuario que se han de habilitar, restaurar o
desactivar para la correlacin que se est modificando. Consulte el
apartado Opciones de usuario en la pgina 1420 para ver las
descripciones de nombre-opcin-usuario y sus valores.
ADD
Habilita una opcin de usuario.
SET
Cambia el valor de una opcin de usuario.
nombre-opcin-usuario
Nombra una opcin de usuario que se ha de habilitar o restaurar.
constante-serie
Especifica el valor para nombre-opcin-usuario como una constante de
serie de caracteres.
DROP nombre-opcin-usuario
Desactiva una opcin de usuario.
Notas
v Una opcin de usuario no se puede especificar ms de una vez en la misma
sentencia ALTER USER MAPPING (SQLSTATE 42853). Cuando se habilita,
restaura o desactiva una opcin de usuario, no afecta a ninguna otra opcin
de usuario que se est utilizando.
v Una correlacin de usuarios no se puede modificar en una unidad de
trabajo (UOW) determinada si la UOW ya incluye una sentencia SELECT
que hace referencia a un apodo para una tabla o una vista de la fuente de
datos que se ha de incluir en la correlacin.
Ejemplos
Ejemplo 1: Jim utiliza una base de datos local para conectarse a una fuente de
datos Oracle llamada ORACLE1. Accede a la fuente de datos local bajo el ID
de autorizacin KLEEWEIN; KLEEWEIN se correlaciona con CORONA, el ID
de autorizacin bajo el cual accede a ORACLE1. Jim va a iniciar el acceso a
ORACLE1 bajo un nuevo ID, JIMK. De modo que ahora es necesario
correlacionar KLEEWEIN con JIMK.
ALTER USER MAPPING FOR KLEEWEIN
SERVER ORACLE1
OPTIONS ( SET REMOTE_AUTHID 'JIMK' )
Ejemplo 2: Mary utiliza una base de datos federada para conectarse a una
fuente de datos DB2 Universal Database para OS/390 llamada DORADO.
Utiliza un ID de autorizacin para acceder a DB2 y otro para acceder a
DORADO y ha creado una correlacin entre los dos ID. Ha utilizado la misma
contrasea con ambos ID, pero ahora decide utilizar una contrasea diferente,
ALTER VIEW
La sentencia ALTER VIEW modifica una vista existente alterando una
columna de tipo de referencia para aadir un mbito.
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o bien emitirse
mediante la utilizacin de sentencias de SQL dinmicas. Se trata de una
sentencia ejecutable que se puede preparar dinmicamente. Sin embargo, si es
aplicable la opcin de enlace DYNAMICRULES BIND, la sentencia no se
puede preparar dinmicamente (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener al menos uno de los
privilegios siguientes:
v Autorizacin SYSADM o DBADM
v Privilegio ALTERIN para el esquema de la vista
v Definidor de la vista que se debe alterar
v Privilegio CONTROL para la vista que se debe alterar.
Sintaxis
ALTER VIEW nombre-vista
COLUMN
ALTER nombre-columna ADD SCOPE nombre-tabla-tipo
nombre-vista-tipo
Descripcin
nombre-vista
Identifica la vista que se va a cambiar. Debe ser una vista descrita en el
catlogo.
ALTER COLUMN nombre-columna
Es el nombre de la columna que se va a alterar en la vista. El
nombre-columna debe identificar una columna existente de la vista
(SQLSTATE 42703). El nombre no puede estar calificado.
ADD SCOPE
Aade un mbito a una columna de tipo de referencia existente que
todava no tiene un mbito definido (SQLSTATE 428DK). La columna no
debe ser herencia de una supervista (SQLSTATE 428DJ).
nombre-tabla-tipo
El nombre de una tabla con tipo. El tipo de datos de nombre-columna
Descripcin
La sentencia BEGIN DECLARE SECTION puede codificarse en el programa
de aplicacin siempre que puedan aparecer declaraciones de variables de
acuerdo a las reglas del lenguaje principal. Se utiliza para indicar el inicio de
una seccin de declaracin de variables del lenguaje principal. Una seccin de
variables del lenguaje principal finaliza con una sentencia END DECLARE
SECTION (vea END DECLARE SECTION en la pgina 1034).
Normas
v Las sentencias BEGIN DECLARE SECTION y END DECLARE SECTION
deben especificarse por pares y no pueden anidarse.
v No pueden incluirse sentencias de SQL dentro de la seccin de declaracin.
v Las variables a las que sentencias de SQL hagan referencia deben declararse
en una seccin de declaracin en todos los lenguajes principales que no
sean REXX. Adems, la seccin debe aparecer antes que la primera
referencia a la variable. Por lo general, las variables del lenguaje principal
no se declaran en REXX, excepto los localizadores de LOB y las variables de
referencia a archivos. En este caso, no se declaran dentro de una BEGIN
DECLARE SECTION.
v Las variables que se declaren fuera de una seccin de declaracin no
debern tener el mismo nombre que las variables que se declaran en la
seccin de declaracin.
v El tipo de datos y la longitud de los tipos de datos LOB deben ir
precedidos por las palabras clave SQL TYPE IS.
Ejemplos
Ejemplo 1: Defina las variables de lenguaje principal hv_smint (smallint),
hv_vchar24 (varchar(24)), hv_double (double), hv_blob_50k (blob(51200)),
hv_struct (del tipo estructurado struct_type como blob(10240)) en un
programa escrito en C.
CALL
Invoca un procedimiento almacenado en la ubicacin de una base de datos.
Un procedimiento almacenado, por ejemplo, se ejecuta en la ubicacin de la
base de datos y devuelve los datos a la aplicacin cliente.
Notas:
1 Los procedimientos almacenados ubicados en los servidores DB2
Universal Database para OS/390 y DB2 Universal Database para
AS/400 e invocados por clientes DB2 Universal Database para OS/390 o
DB2 Universal Database para AS/400 dan soporte a fuentes adicionales
de argumentos de procedimiento (por ejemplo, valores de constante).
Sin embargo, si el procedimiento almacenado est ubicado en una DB2
Universal Database o el procedimiento se invoca desde una DB2
Universal Database cliente, se deben proporcionar todos los argumentos
mediante las variables del lenguaje principal.
Descripcin
nombre-procedimiento o variable-lengprinc
Identifica el procedimiento que se va a llamar. El nombre de
procedimiento puede especificarse directamente o dentro de una variable
del lenguaje principal. El procedimiento identificado debe existir en el
servidor actual (SQLSTATE 42724).
Si se especifica nombre-procedimiento, debe ser un identificador normal con
un mximo de 254 bytes. Por lo tanto slo puede ser un identificador
normal, no puede contener blancos ni caracteres especiales y el valor se
nombre-procedimiento especificado y
PROCSCHEMA sea un nombre de esquema
en la va de acceso de SQL (registro
especial CURRENT PATH). Si el nombre de
esquema est especificado explcitamente,
la va de acceso de SQL se ignora y slo se
tienen en cuenta los procedimientos con el
nombre de esquema especificado.
b. Despus, elimine cualquiera de estos
procedimientos que no tengan el mismo
nmero de parmetros que el nmero de
argumentos especificados en la sentencia
CALL.
c. Elija el procedimiento restante que est
antes en la va de acceso de SQL.
d. Si despus de finalizar el paso 2 no queda
ningn procedimiento, se devuelve un
error (SQLSTATE 42884).
En OS/2, si se ha especificado
d:\terry\proclib!func, hara que el gestor de
bases de datos cargase el archivo func.dll del
directorio d:\terry\proclib.
62. Los servidores DB2 Universal Database para OS/390 y DB2 Universal Database para AS/400 dan soporte a las
conversiones entre tipos de datos compatibles cuando invocan sus procedimientos almacenados. Por ejemplo, si el
programa cliente utiliza el tipo de datos INTEGER y el procedimiento almacenado espera FLOAT, el servidor
convertir el valor INTEGER a FLOAT antes de invocar el procedimiento.
Ejemplos
Ejemplo 1:
Ejemplo 2:
CALL :SALARY_PROC
USING DESCRIPTOR :*INOUT_SQLDA;
Ejemplo 3:
stpCall.setInt( 1, variable1 ) ;
stpCall.setBigDecimal( 2, variable2 ) ;
stpCall.setInt( 3, variable3 ) ;
stpCall.registerOutParameter( 2, Types.DECIMAL, 2 ) ;
stpCall.registerOutParameter( 3, Types.INTEGER ) ;
stpCall.execute() ;
variable2 = stpCall.getBigDecimal(2) ;
variable3 = stpCall.getInt(3) ;
...
CLOSE
La sentencia CLOSE cierra un cursor. Si se ha creado una tabla resultante
cuando se ha abierto el cursor, se ha destruido esa tabla.
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o emitirse de
forma interactiva. Se trata de una sentencia ejecutable que no puede
prepararse de forma dinmica.
Autorizacin
No se necesita. Consulte DECLARE CURSOR en la pgina 976 para conocer
la autorizacin necesaria para utilizar un cursor.
Sintaxis
CLOSE nombre-cursor
WITH RELEASE
Descripcin
nombre-cursor
Identifica el cursor que se va a cerrar. El nombre-cursor debe identificar un
cursor declarado tal como se explica en la sentencia DECLARE CURSOR.
Cuando se ejecuta la sentencia CLOSE, el cursor debe estar en el estado
abierto.
WITH RELEASE
Se intenta liberar todos los bloqueos ledos que se han mantenido para el
cursor. Observe que no todos los bloqueos ledos se liberan
necesariamente; estos bloqueos se pueden mantener para otras
operaciones o actividades.
Notas
v Al final de una unidad de trabajo, todos los cursores que pertenecen a un
proceso de aplicacin y que se han declarado sin la opcin WITH HOLD se
cierran de manera implcita.
v La clusula WITH RELEASE no tiene ningn efecto para los cursores que
estn funcionando bajo los niveles de aislamiento CS o UR. Cuando se
especifica para cursores que estn funcionando bajo los niveles de
aislamiento RS o RR, WITH RELEASE termina algunas de las garantas de
dichos niveles de aislamiento. De forma especfica, si se vuelve a abrir el
cursor, un cursor RS puede experimentar el fenmeno de lectura no
repetible, y un cursor RR puede experimentar el fenmeno de lectura no
repetible y el de fantasma. Consulte el Apndice I. Comparacin de
niveles de aislamiento en la pgina 1453 para obtener ms detalles.
while (SQLCODE==0) { .
EXEC SQL FETCH C1 INTO :dnum, :dname, :mnum;
.
.
}
COMMENT
La sentencia COMMENT aade o sustituye comentarios en las descripciones
del catlogo de diversos objetos.
Invocacin
Esta sentencia se puede intercalar en un programa de aplicacin o emitir
mediante el uso de sentencias de SQL dinmicas. Es una sentencia ejecutable
que puede prepararse de forma dinmica. Sin embargo, si es aplicable la
opcin de enlace DYNAMICRULES BIND, la sentencia no se puede preparar
de forma dinmica (SQLSTATE 42509).
Autorizacin
Los privilegios que debe tener el ID de autorizacin de la sentencia
COMMENT deben incluir uno de los siguientes:
v SYSADM o DBADM
v definidor del objeto (tabla principal para la columna o restriccin) tal como
est registrado en la columna DEFINER de la vista de catlogo para el
objeto (columna OWNER para un esquema)
v Privilegio ALTERIN para el esquema (slo aplicable a los objetos que
permiten nombres de ms de una parte)
v Privilegio CONTROL para el objeto (slo aplicable a los objetos de ndice,
paquete, tabla y vista)
v Privilegio ALTER para el objeto (slo aplicable a los objetos de tabla)
objetos:
ALIAS nombre-seudnimo
COLUMN nombre-tabla.nombre-columna
nombre-vista.nombre-columna
CONSTRAINT nombre-tabla.nombre-restriccin
FUNCTION nombre-funcin
( )
,
tipo-datos
SPECIFIC FUNCTION nombre-especfico
FUNCTION MAPPING nombre-correlacin-funciones
(1)
INDEX nombre-ndice
NICKNAME apodo
NODEGROUP nombre-gruponodos
PACKAGE nombre-paquete
PROCEDURE nombre-procedimiento
( )
,
tipo-datos
SPECIFIC PROCEDURE nombre-especfico
SCHEMA nombre-esquema
SERVER nombre-servidor
SERVER OPTION nombre-opcin-servidor FOR servidor-remoto
TABLE nombre-tabla
nombre-vista
TABLESPACE nombre-espacio-tablas
TRIGGER nombre-desencadenante
TYPE nombre-tipo
(2)
DISTINCT
TYPE MAPPING nombre-correlacin-tipos
WRAPPER nombre-reiniciador
servidor-remoto:
SERVER nombre-servidor
TYPE tipo-servidor
VERSION versin-servidor
WRAPPER nombre-reiniciador
versin-servidor:
versin
. release
. mod
constante-serie-versin
Notas:
1 Nombre-ndice puede ser el nombre de un ndice o una especificacin de
ndice.
2 La palabra clave DATA se puede utilizar como sinnimo de DISTINCT.
Descripcin
ALIAS nombre-seudnimo
Indica un comentario que se aadir o sustituir para un seudnimo. El
nombre-seudnimo debe designar un seudnimo descrito en el catlogo
(SQLSTATE 42704). El comentario sustituye el valor de la columna
REMARKS de la vista de catlogo SYSCAT.TABLES para la fila que
describe el seudnimo.
COLUMN nombre-tabla.nombre-columna o nombre-vista.nombre-columna
Indica un comentario que se aadir o se sustituir para una columna. La
combinacin nombre-tabla.nombre-columna nombre-vista.nombre-columna debe
identificar una combinacin de columna y tabla que est descrita en el
catlogo (SQLSTATE 42704). El comentario sustituye el valor de la
columna REMARKS de la vista de catlogo SYSCAT.COLUMNS para la
fila que describe la columna.
No puede realizarse un comentario sobre una columna de una vista no
operativa. (SQLSTATE 51024).
CONSTRAINT nombre-tabla.nombre-restriccin
Indica que se aadir o se sustituir un comentario para una restriccin.
La combinacin nombre-tabla.nombre-restriccin debe identificar una
restriccin y la tabla que restringe; deben estar descritos en el catlogo
(SQLSTATE 42704). El comentario sustituye el valor de la columna
REMARKS de la vista de catlogo SYSCAT.TABCONST para la fila que
describe la restriccin.
FUNCTION
Indica que se aadir o se sustituir un comentario para una funcin. La
instancia de funcin especificada debe ser una funcin definida por el
usuario o una plantilla de funcin descritas en el catlogo.
Hay varias maneras distintas disponibles para identificar la instancia de
funcin:
FUNCTION nombre-funcin
Identifica la funcin en particular y slo es vlida si hay exactamente
una funcin con ese nombre-funcin. La funcin as identificada puede
tener cualquier nmero de parmetros definidos para la misma. En las
sentencias de SQL dinmicas, el registro especial CURRENT SCHEMA
se utiliza como calificador para un nombre de objeto no calificado. En
las sentencias de SQL estticas, la opcin de precompilacin/enlace
QUALIFIER especifica de forma implcita el calificador para los
VERSION
Especifica la versin de la fuente de datos identificada por
nombre-servidor.
versin
Especifica el nmero de versin. versin debe ser un entero.
release
Especifica el nmero de release de la versin indicada por
versin. release debe ser un entero.
mod
Especifica el nmero de la modificacin del release indicada
por release. mod debe ser un entero.
constante-serie-versin
Especifica el nmero completo de la versin. La
constante-serie-versin puede ser un solo valor (por ejemplo,
8i); o puede ser los valores concatenados de versin, release y,
si es aplicable, mod (por ejemplo, 8.0.3).
WRAPPER nombre-reiniciador
Identifica el reiniciador que se utiliza para acceder a la fuente de
datos referenciada por nombre-servidor.
TABLE nombre-tabla o nombre-vista
Indica que se aadir o se sustituir un comentario para una tabla o vista.
El nombre-tabla o nombre-vista debe identificar una tabla o vista (no un
seudnimo ni un apodo) que est descrita en el catlogo (SQLSTATE
42704) y no debe identificar una tabla temporal declarada (SQLSTATE
42995). El comentario sustituye el valor de la columna REMARKS de la
vista de catlogo SYSCAT.TABLES correspondiente a la fila que describe la
tabla o vista.
TABLESPACE nombre-espacio-tablas
Indica que se aadir o se sustituir un comentario para un espacio de
tablas. El nombre-espacio-tablas debe identificar un espacio de tablas
diferenciado que est descrito en el catlogo (SQLSTATE 42704). El
comentario sustituye el valor para la columna REMARKS de la vista de
catlogo SYSCAT.TABLESPACES para la fila que describe el espacio de
tablas.
TRIGGER nombre-desencadenante
Indica que se aadir o se sustituir un comentario para un
desencadenante. El nombre-desencadenante debe identificar un
desencadenante diferenciado que est descrito en el catlogo (SQLSTATE
42704). El comentario sustituye el valor para la columna REMARKS de la
vista de catlogo SYSCAT.TRIGGERS para la fila que describe el
desencadenante.
TYPE nombre-tipo
Indica que se aadir o se sustituir un comentario para un tipo definido
por el usuario. El nombre-tipo debe identificar un tipo definido por el
usuario que est descrito en el catlogo (SQLSTATE 42704). Si se especifica
DISTINCT, nombre-tipo debe identificar un tipo diferenciado que est
descrito en el catlogo (SQLSTATE 42704). El comentario sustituye el valor
de la columna REMARKS de la vista de catlogo SYSCAT.DATATYPES
para la fila que describe el tipo definido por el usuario.
En las sentencias de SQL dinmicas, el registro especial CURRENT
SCHEMA se utiliza como calificador para un nombre de objeto no
calificado. En las sentencias de SQL estticas, la opcin de
precompilacin/enlace QUALIFIER especifica implcitamente el calificador
para los nombres de objetos no calificados.
TYPE MAPPING nombre-correlacin-tipos
Indica que se aadir o sustituir un comentario para una correlacin de
tipos de datos definida por el usuario. El nombre-correlacin-tipos debe
identificar una correlacin de tipos de datos que est descrita en el
catlogo (SQLSTATE 42704). El comentario sustituye el valor de la
columna REMARKS de la vista de catlogo SYSCAT.TYPEMAPPINGS
correspondiente a la fila que describe la correlacin.
WRAPPER nombre-reiniciador
Indica que se aadir o sustituir un comentario para un reiniciador. El
nombre-reiniciador debe identificar un reiniciador que est descrito en el
catlogo (SQLSTATE 42704). El comentario sustituye el valor de la
columna REMARKS de la vista de catlogo SYSCAT.WRAPPERS
correspondiente a la fila que describe el reiniciador.
IS constante-serie
Especifica el comentario que va a aadirse o sustituirse. La constante-serie
puede ser cualquier constante de serie de caracteres con un mximo de
254 bytes. (El retorno de carro y el salto de lnea cuentan como 1 byte
cada uno.)
nombre-tabla|nombre-vista ( { nombre-columna IS constante-serie } ... )
Este formato de la sentencia COMMENT proporciona la posibilidad de
especificar comentarios para mltiples columnas de una tabla o vista. Los
nombres de columna no deben estar calificados, cada nombre debe
identificar una columna de la vista o tabla especificada y la tabla o vista
debe estar descrita en el catlogo. El nombre-tabla no puede ser una tabla
temporal declarada (SQLSTATE 42995).
No puede realizarse un comentario en una columna de una vista no
operativa (SQLSTATE 51024).
Ejemplos
Ejemplo 1: Aada un comentario para la tabla EMPLOYEE.
COMMIT
La sentencia COMMIT termina una unidad de trabajo y confirma los cambios
de la base de datos que ha realizado esa unidad de trabajo.
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o bien emitirse
mediante la utilizacin de sentencias de SQL dinmicas. Se trata de una
sentencia ejecutable que puede prepararse de forma dinmica.
Autorizacin
No se necesita.
Sintaxis
WORK
COMMIT
Descripcin
Finaliza la unidad de trabajo en la que se ejecuta la sentencia COMMIT y se
inicia una nueva unidad de trabajo. Se confirman todos los cambios
efectuados por las siguientes sentencias durante la unidad de trabajo: ALTER,
COMMENT ON, CREATE, DELETE, DROP, GRANT, INSERT, LOCK TABLE,
REVOKE, SET INTEGRITY, SET variable-transicin y UPDATE.
han declarado como WITH HOLD.Se cierran todos los cursores abiertos que
no estn definidos como WITH HOLD. Los cursores abiertos definidos con
WITH HOLD permanecen abiertos y el cursor se sita antes de la siguiente
fila lgica de la tabla resultante.63Se liberan todos los localizadores de LOB.
Observe que esto es verdadero incluso cuando los localizadores estn
asociados a valores LOB recuperados mediante un cursor que tenga la
propiedad WITH HOLD.
63. Debe ejecutarse una sentencia FETCH antes de emitir una sentencia UPDATE o DELETE posicionada.
sentencia-procedimiento-SQL ; END
etiqueta
declaracin-variable-SQL:
,
DEFAULT NULL
DECLARE nombre-variable-SQL tipo-datos
DEFAULT valores-omisin
declaracin-condicin:
DECLARE nombre-condicin CONDITION FOR
VALUE
SQLSTATE
constante-serie
Notas:
1 Slo se puede especificar una etiqueta cuando la sentencia est en
una definicin de funcin, mtodo o desencadenante.
Descripcin
etiqueta
Define la etiqueta del bloque de programa. Si se especifica la etiqueta
inicial, sta puede utilizarse para calificar las variables SQL declaradas en
la sentencia dinmica compuesta y tambin se puede especificar en una
sentencia LEAVE. Si se especifica la etiqueta final, sta deber ser igual
que la etiqueta inicial.
ATOMIC
ATOMIC indica que, si se produce un error en la sentencia compuesta,
todas las sentencias de SQL de la sentencia compuesta se retrotraern y
las sentencias de SQL restantes de la sentencia compuesta no se
procesarn.
sentencia-procedimiento-SQL
Se puede utilizar la lista siguiente de sentencias-control-SQL en la sentencia
dinmica compuesta:
v Sentencia FOR
v Sentencia GET DIAGNOSTICS
v Sentencia IF
v Sentencia ITERATE
v Sentencia LEAVE
v Sentencia SIGNAL
v Sentencia WHILE
declaracin-variable-SQL
Declara una variable que es local en la sentencia dinmica compuesta.
nombre-variable-SQL
Define el nombre de una variable local. DB2 convierte a maysculas
todos los nombres de variables del SQL. El nombre no puede:
v ser igual que el de otra variable de SQL de la misma sentencia
compuesta
v ser igual que un nombre de parmetro
v ser igual que los nombres de columna.
Si una sentencia de SQL contiene un identificador que tiene el mismo
nombre que una variable SQL y una referencia a columna, DB2
interpreta el identificador como una columna.
tipo-datos
Especifica el tipo de datos de la variable.
DEFAULT valores-omisin o NULL
Define el valor por omisin de la variable SQL. La variable se
inicializa al llamar a la sentencia dinmica compuesta. Si no se
especifica un valor por omisin, el valor de la variable se inicializa en
NULL.
declaracin-condicin
Declara el nombre de una condicin y el valor SQLSTATE asociado.
nombre-condicin
Especifica el nombre de la condicin. El nombre de la condicin debe
ser exclusivo dentro del cuerpo del procedimiento y slo puede estar
referenciado dentro de la sentencia compuesta donde est declarado.
FOR SQLSTATE constante-serie
Especifica el SQLSTATE asociado con la condicin. La constante-serie
debe especificarse en forma de cinco caracteres entre comillas simples
y no se puede ser 00000.
Notas
v DB2 compila las sentencias dinmicas compuestas como una sola sentencia.
Esta sentencia est en vigor para scripts cortos que incluyan poca lgica de
flujo de control pero un flujo de datos significativo. Para construcciones
mayores con un flujo de control complejo anidado, los procedimientos SQL
son una eleccin mejor. Consulte el apartado CREATE PROCEDURE en la
pgina 804 para obtener ms detalles sobre la utilizacin de los
procedimientos SQL.
Ejemplos
Ejemplo 1:
El ejemplo presenta tres tablas. La tabla target contiene los datos limpiados.
La tabla except almacena filas que no se pueden limpiar (excepciones) y la
tabla source contiene los datos sin procesar que se deben limpiar.
Esto crea una tabla llamada target que va a contener los datos limpiados.
CREATE TABLE except
(pk INTEGER
NOT NULL PRIMARY KEY, c1 INTEGER)
Esto crea una tabla llamada except que va a contener las excepciones.
CREATE TABLE source
(pk INTEGER
NOT NULL PRIMARY KEY, c1 INTEGER)
Esto crea una tabla llamada source que contiene los datos que se deben
limpiar.
PK C1
----------- -----------
1 -5
2 -
3 1200
3 registros(s) seleccionado(s).
PK C1
----------- -----------
4 25
5 15
6 875
3 registro(s) seleccionado(s).
STOP AFTER FIRST variable-lengprinc STATEMENTS sentencia-sql ;
END COMPOUND
Descripcin
ATOMIC
Especifica que, si falla alguna de las subsentencias de la sentencia de SQL
compuesta, se deshacen todos los cambios efectuados en la base de datos
por cualquiera de las subsentencias, incluidos los cambios realizados por
subsentencias satisfactorias.
NOT ATOMIC
Especifica que, sin tener en cuenta si falla alguna subsentencia, la
sentencia de SQL compuesta no deshar ningn cambio efectuado en la
base de datos por las otras subsentencias.
STATIC
Especifica que las variables de entrada para todas las subsentencias
conservan su valor original. Por ejemplo, si
va seguido de:
UPDATE T1 SET C1 = 5 WHERE C2 = :abc
CALL OPEN
CLOSE PREPARE
CONNECT RELEASE (Conexin)
SQL compuesto RELEASE SAVEPOINT
DESCRIBE ROLLBACK
DISCONNECT SAVEPOINT
EXECUTE IMMEDIATE SET CONNECTION
FETCH
65. Esto significa que los campos SQLCODE, SQLERRML, SQLERRMC y SQLERRP de la SQLCA que finalmente se
devuelve a la aplicacin son los campos de la subsentencia que desencaden el aviso de 'no se han encontrado
datos'. Si hay ms de un aviso 'no se han encontrado datos' en la sentencia de SQL compuesta, los campos
devueltos sern los correspondientes a la ltima subsentencia.
en la que la subserie que empieza por X se repite hasta seis veces ms y los
elementos de la serie estn definidos de la manera siguiente.
nnn El nmero total de sentencias que han producido errores. 66 Este
campo se justifica por la izquierda y se rellena con blancos.
X El separador de smbolos X'FF'.
sss La posicin ordinal de la sentencia que ha provocado el error. 66 Por
ejemplo, si la primera sentencia ha fallado, este campo contendra el
nmero uno justificado por la izquierda ('1 ').
ccccc El SQLSTATE del error.
CONNECT (Tipo 1)
La sentencia CONNECT (Tipo 1) conecta un proceso de aplicacin con el
servidor de aplicaciones identificado segn las reglas para una unidad de
trabajo remota.
TO nombre-servidor
variable-lengprinc bloque-bloqueo autorizacin
RESET
(1)
autorizacin
autorizacin:
NEW contrasea CONFIRM contrasea
variable-lengprinc
bloque-bloqueo:
IN SHARE MODE
IN EXCLUSIVE MODE
ON SINGLE NODE
Notas:
1 Este formato slo es vlido si se ha habilitado la conexin implcita.
Descripcin
CONNECT (sin ningn operando)
Devuelve informacin acerca del servidor actual. La informacin se
devuelve en el campo SQLERRP de la SQLCA, tal como se describe en
Conexin satisfactoria.
Si existe un estado de conexin, el ID de autorizacin y el seudnimo de
base de datos se colocan en el campo SQLERRMC de la SQLCA. Si el ID
de autorizacin es mayor que 8 bytes, se truncar a 8 bytes, y el
truncamiento se indicar en los campos SQLWARN0 y SQLWARN1 de la
SQLCA, mediante 'W' y 'A', respectivamente. Si el parmetro de
configuracin DYN_QUERY_MGMT de la base de datos est habilitado,
los campos SQLWARN0 y SQLWARN7 de la SQLCA se marcarn con los
indicadores 'W' y 'E', respectivamente.
Si no existe ninguna conexin y es posible la conexin implcita, se intenta
efectuar una conexin implcita. Si no hay una conexin implcita
disponible, este intento produce un error (no hay ninguna conexin
existente). Si no hay conexin, el campo SQLERRMC est en blanco.
Conexin satisfactoria:
68. Consulte la seccin Character Conversion Expansion Factor del captulo Programming in Complex
Environments del manual Application Development Guide para ver los detalles.
Conexin no satisfactoria:
ON SINGLE NODE
Especifica que la particin coordinadora est conectada en modalidad
exclusiva y que todas las dems particiones estn conectadas en
modalidad de compartimiento. Esta opcin slo es efectiva en una
base de datos particionada.
RESET
Desconecta el proceso de aplicacin del servidor actual. Se realiza una
operacin de confirmacin. Si no est disponible la conexin implcita, el
proceso de aplicacin contina no conectado hasta que se emite una
sentencia de SQL.
USER nombre-autorizacin/variable-lengprinc
Identifica el id de usuario que intenta conectarse al servidor de
aplicaciones. Si se especifica una variable del lenguaje principal, debe ser
una variable de serie de caracteres con un atributo de longitud no
superior a 8 y no debe contener ninguna variable indicadora. El ID de
usuario contenido en la variable-lengprinc debe estar justificado por la
izquierda y no debe estar delimitado por comillas.
USING contrasea/variable-lengprinc
Identifica la contrasea del ID de usuario que intenta conectarse al
servidor de aplicaciones. La contrasea o variable-lengprinc pueden tener
hasta 18 caracteres como mximo. Si se especifica una variable del
lenguaje principal, debe ser una variable de serie de caracteres con un
atributo de longitud no superior a 18 y no debe incluir una variable
indicadora.
NEW contrasea/variable-lengprinc CONFIRM contrasea
Identifica la nueva contrasea que debe asignarse al id de usuario
identificado por la opcin USER. La contrasea o variable-lengprinc pueden
tener hasta 18 caracteres como mximo. Si se especifica una variable del
lenguaje principal, debe ser una variable de serie de caracteres con un
atributo de longitud no superior a 18 y no debe incluir una variable
indicadora. El sistema en que se cambiar la contrasea depende de cmo
est configurada la autenticacin de usuario.
Notas
v Es recomendable que la primera sentencia de SQL que se ejecute en un
proceso de aplicacin sea la sentencia CONNECT TO.
v Si se emite una sentencia CONNECT TO para el servidor de aplicaciones
actual con un ID de usuario y una contrasea diferentes, la conversacin se
desasigna y se vuelve a asignar. El gestor de bases de datos cierra todos los
cursores (con prdida de la posicin del cursor si se ha utilizado la opcin
WITH HOLD).
v Si se emite una sentencia CONNECT TO para el servidor de aplicaciones
actual con el mismo ID de usuario y contrasea, la conversacin no se
desasigna ni se vuelve a asignar. En este caso, los cursores no se cierran.
CONNECT (Tipo 2)
La sentencia CONNECT (Tipo 2) conecta un proceso de aplicacin con el
servidor de aplicaciones identificado y establece las reglas para una unidad de
trabajo distribuida y dirigida por aplicacin. Este servidor es entonces el
servidor actual para el proceso.
Conexin no satisfactoria
Normas
v Como se describe en el apartado Opciones que controlan la semntica de
la unidad de trabajo distribuida en la pgina 54, un conjunto de opciones
de conexin rige la semntica de la gestin de conexin. Se asignan valores
por omisin a todos los archivos fuente preprocesados. Una aplicacin
puede constar de mltiples archivos fuente precompilados con diferentes
opciones de conexin.
A menos que antes se haya ejecutado un mandato SET CLIENT o una API,
las opciones de conexin utilizadas al preprocesar el archivo fuente que
contiene la primera sentencia de SQL ejecutada en tiempo de ejecucin se
convierten en opciones de conexin efectivas.
Si una sentencia CONNECT de un archivo fuente preprocesado con
opciones de conexin diferentes se ejecuta posteriormente sin que
intervenga en la ejecucin ningn mandato SET CLIENT ni API, se produce
un error (SQLSTATE 08001). Observe que, una vez que se ha ejecutado un
mandato SET CLIENT o una API, se pasan por alto las opciones de
conexin utilizadas al preprocesar todos los archivos fuente de la
aplicacin.
El ejemplo 1 de la pgina 667 ilustra estas reglas.
v Aunque la sentencia CONNECT TO puede utilizarse para establecer o
conmutar conexiones, slo se aceptar CONNECT TO con la clusula
USER/USING cuando no haya ninguna conexin actual o inactiva con el
servidor nombrado. La conexin debe liberarse antes de emitir una
conexin con el mismo servidor con la clusula USER/USING; de lo
contrario, se rechazar (SQLSTATE 51022). Libere la conexin emitiendo una
sentencia DISCONNECT o una sentencia RELEASE seguida de una
sentencia COMMIT.
Notas
v Se da soporte a la conexin implcita para la primera sentencia de SQL en
una aplicacin con conexiones de Tipo 2. Para ejecutar sentencias de SQL en
la base de datos por omisin, primero debe utilizarse la sentencia
CONNECT RESET o CONNECT USER/USING para establecer la conexin.
La sentencia CONNECT sin operandos visualizar informacin acerca de la
conexin actual si la hay, pero no establecer una conexin con la base de
datos por omisin si no hay ninguna conexin actual.
Tipo 1 Tipo 2
Cada unidad de trabajo slo puede Cada unidad de trabajo puede establecer
establecer conexin con un servidor de conexin con mltiples servidores de
aplicaciones. aplicaciones.
Se ha de confirmar o retrotraer la unidad No es necesario confirmar ni retrotraer la
de trabajo actual antes de permitir una unidad de trabajo actual antes de conectar
conexin con otro servidor de con otro servidor de aplicaciones.
aplicaciones.
La sentencia CONNECT establece la Igual que CONNECT Tipo 1 si se establece
conexin actual. Las peticiones SQL la primera conexin. Si se conmuta a una
posteriores se reenvan a esta conexin conexin inactiva y SQLRULES est
hasta que otra CONNECT la modifique. establecido en STD, debe utilizarse la
sentencia SET CONNECTION en su lugar.
Conectar con la conexin actual es vlido Igual que CONNECT Tipo 1 si la opcin
y no modifica la conexin actual. de precompilador SQLRULES est
establecida en DB2. Si SQLRULES est
establecida en STD, debe utilizarse la
sentencia SET CONNECTION en su lugar.
Conectar con otro servidor de aplicaciones Conectar con otro servidor de aplicaciones
desconecta la conexin actual. La nueva pone la conexin actual en el estado
conexin se convierte en la conexin inactivo. La nueva conexin se convierte en
actual. En una unidad de trabajo slo se la conexin actual. Pueden mantenerse
mantiene una conexin. mltiples conexiones en una unidad de
trabajo.
Utilizacin de CONNECT...USER...USING:
Tipo 1 Tipo 2
Conectar con la clusula USER...USING Conectar con la clusula USER/USING
desconecta la conexin actual y establece slo se aceptar cuando no haya una
una nueva conexin con el nombre de conexin actual o inactiva con el mismo
autorizacin y la contrasea servidor indicado.
proporcionados.
Tipo 1 Tipo 2
CONNECT RESET puede utilizarse para CONNECT RESET equivale a conectar
desconectar la conexin actual. explcitamente con el servidor de
aplicaciones por omisin si hay uno
definido en el sistema.
Tipo 1 Tipo 2
Si el sistema desconecta una conexin Si el sistema desconecta una conexin
existente por cualquier motivo, las existente, siguen estando permitidas las
sentencias de SQL posteriores que no sean sentencias COMMIT, ROLLBACK y SET
CONNECT para esta base de datos CONNECTION.
recibirn un SQLSTATE de 08003.
La unidad de trabajo se confirmar Igual que el Tipo 1.
implcitamente cuando el proceso de
aplicacin termine de manera satisfactoria.
Todas las conexiones (slo una) se Todas las conexiones (actuales, inactivas y
desconectan cuando el proceso de las marcadas como pendientes de
aplicacin termina. liberacin) se desconectan cuando el
proceso de aplicacin termina.
Anomalas de CONNECT:
Tipo 1 Tipo 2
Sin tener en cuenta si hay una conexin Si hay una conexin actual cuando
actual cuando CONNECT falla (con un CONNECT falla, la conexin actual no se
error que no sea que el nombre-servidor ver afectada.
no est definido en el directorio local), el
proceso de aplicacin se coloca en estado Si no hay una conexin actual cuando
no conectado. Las sentencias posteriores CONNECT falla, el programa pasa a estar
que no sean CONNECT recibirn un en estado no conectado. Las sentencias
SQLSTATE de 08003. posteriores que no sean CONNECT
recibirn un SQLSTATE de 08003.
Ejemplos
Ejemplo 1: Este ejemplo ilustra la utilizacin de mltiples programas fuente
(mostrados en los recuadros), algunos preprocesados con opciones de
conexin distintas (mostradas encima del cdigo) y uno de los cuales contiene
una llamada a la API SET CLIENT.
Ejemplo 2:
Este ejemplo muestra las interrelaciones entre las sentencias CONNECT (Tipo
2), SET CONNECTION, RELEASE y DISCONNECT. S0, S1, S2 y S3
representan cuatro servidores.
CREATE ALIAS
La sentencia CREATE ALIAS define un seudnimo para una tabla, una vista,
un apodo u otro seudnimo.
Invocacin
Esta sentencia se puede intercalar en un programa de aplicacin o emitir
mediante el uso de sentencias de SQL dinmicas. Es una sentencia ejecutable
que puede prepararse de forma dinmica. Sin embargo, si es aplicable la
opcin de enlace DYNAMICRULES BIND, la sentencia no se puede preparar
de forma dinmica (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener al menos uno de los
privilegios siguientes:
v Autorizacin SYSADM o DBADM
v Autorizacin IMPLICIT_SCHEMA para la base de datos, si no existe el
nombre de esquema, implcito o explcito, del seudnimo
v Privilegio CREATEIN para el esquema, si el nombre de esquema del
seudnimo hace referencia a un esquema existente.
Para utilizar el objeto referenciado a travs del seudnimo, son necesarios los
mismos privilegios para el objeto que los que seran necesarios si se utilizara
el propio objeto.
Sintaxis
CREATE ALIAS nombre-seudnimo FOR nombre-tabla
(1) nombre-vista
SYNONYM apodo
nombre-seudnimo2
Notas:
1 Se acepta CREATE SYNONYM como una alternativa para CREATE
ALIAS para la tolerancia de sintaxis de las sentencias CREATE
SYNONYM existentes de otras implantaciones de SQL.
Descripcin
nombre-seudnimo
Indica el nombre del seudnimo. El nombre no debe identificar una tabla,
una vista, un apodo o un seudnimo que exista en la base de datos actual.
Si se especifica un nombre de dos partes, el nombre de esquema no puede
empezar por SYS (SQLSTATE 42939).
Las reglas que se emplean para definir un seudnimo son las mismas que
las que se emplean para definir un nombre de tabla.
CREATE BUFFERPOOL
La sentencia CREATE BUFFERPOOL crea una agrupacin de
almacenamientos intermedios nueva para que la utilice el gestor de bases de
datos. Aunque la definicin de agrupacin de almacenamientos intermedios es
transaccional y las entradas se reflejarn en las tablas del catlogo en la
confirmacin, la agrupacin de almacenamientos intermedios no se activar
hasta la prxima vez que se inicie la base de datos.
ALL NODES
SIZE nmero-de-pginas
,
NODEGROUP nombre-gruponodos
PAGESIZE 4096
* *
clusula-except-on-nodes PAGESIZE entero
K
clusula-except-on-nodes:
EXCEPT ON NODE
NODES
Descripcin
nombre-agrupalmacinter
Indica el nombre de la agrupacin de almacenamientos intermedios. Este
nombre slo se compone de una parte. Se trata de un identificador de
SQL (ordinario o bien delimitado). El nombre-agrupalmcinter no debe
identificar una agrupacin de almacenamientos intermedios que ya exista
en un catlogo (SQLSTATE 42710). El nombre-agrupalmacinter no debe
empezar por los caracteres SYS o IBM (SQLSTATE 42939).
ALL NODES
Esta agrupacin de almacenamientos intermedios se crear en todas las
particiones de la base de datos.
NODEGROUP nombre-gruponodos, ...
Identifica el grupo de nodos o los grupos de nodos a los que se puede
aplicar la definicin de agrupacin de almacenamientos intermedios. Si se
especifica esto, esta agrupacin de almacenamientos intermedios slo se
crear en las particiones de estos grupos de nodos. Cada grupo de nodos
debe existir actualmente en la base de datos (SQLSTATE 42704). Si no se
especifica la palabra clave NODEGROUP, entonces esta agrupacin de
almacenamientos intermedios se crear en todas las particiones (y en
cualquier particin que se aada con posterioridad a la base de datos).
SIZE nmero-de-pginas
El tamao de agrupacin de almacenamientos intermedios especificado
como el nmero de pginas. 70 En una base de datos particionada, ser el
tamao por omisin para todas las particiones en las que exista la
agrupacin de almacenamientos intermedios.
70. El tamao puede especificarse con un valor de (-1), que indica que el tamao de la agrupacin de
almacenamientos intermedios debe obtenerse del parmetro de configuracin BUFFPAGE de la base de datos.
clusula-except-on-nodes
Especifica la particin o particiones para las que el tamao de la
agrupacin de almacenamientos intermedios ser diferente del valor por
omisin. Si no se especifica esta clusula, entonces todas las particiones
tendrn el mismo tamao que el especificado para esta agrupacin de
almacenamientos intermedios.
EXCEPT ON NODES
Palabras clave que indican que se han especificado particiones
especficas. NODE es un sinnimo de NODES.
nmero-nodo1
Especifica un nmero de particin especfica que se incluye en las
particiones para las que se crea la agrupacin de almacenamientos
intermedios.
TO nmero-nodo2
Especifique un rango de nmeros de particin. El valor de
nmero-nodo2 debe ser mayor o igual que el valor de nmero-nodo1
(SQLSTATE 428A9). Todas las particiones entre los nmeros de
particin, inclusive los especificados, deben incluirse en las
particiones para las que se ha creado la agrupacin de
almacenamientos intermedios (SQLSTATE 42729).
SIZE nmero-de-pginas
El tamao de agrupacin de almacenamientos intermedios
especificado como el nmero de pginas.
PAGESIZE entero [K]
Define el tamao de las pginas utilizadas para la agrupacin de
almacenamientos intermedios. Los valores vlidos de entero sin el sufijo K
son 4 096, 8 192, 16 384 32 768. Los valores vlidos de entero con el sufijo
K son 4, 8, 16 32. Se produce un error si el tamao de pgina no es uno
de estos valores (SQLSTATE 428DE). El valor por omisin es pginas de
4 096 bytes (4K). Se permite cualquier nmero de espacios entre entero y
K, incluso ningn espacio.
EXTENDED STORAGE
Si se activa la configuracin del almacenamiento ampliado,71 las pginas
que se estn migrando fuera de esta agrupacin de almacenamientos
intermedios se pondrn en antememoria en el almacenamiento ampliado.
NOT EXTENDED STORAGE
Incluso si se activa la configuracin del almacenamiento ampliado de la
71. Se activa la configuracin del almacenamiento ampliado si se establecen los parmetros de configuracin de base
de datos NUM_ESTORE_SEGS y ESTORE_SEG_SIZE en valores que no sean cero. Vea el manual Administration
Guide para conocer detalles.
(1)
tipo-datos-fuente WITH COMPARISONS
tipo-datos-fuente:
SMALLINT
INTEGER
INT
BIGINT
FLOAT
( entero )
REAL
PRECISION
DOUBLE
DECIMAL
DEC ( entero )
NUMERIC ,entero
NUM
CHARACTER
CHAR (entero) FOR BIT DATA
VARCHAR ( entero )
CHARACTER VARYING
CHAR
LONG VARCHAR
BLOB ( entero )
CLOB K
DBCLOB M
G
GRAPHIC
(entero)
VARGRAPHIC(entero)
LONG VARGRAPHIC
DATE
TIME
TIMESTAMP
DATALINK
(entero)
Notas:
1 Necesario para todos los tipos-datos-fuente excepto LOB, LONG
VARCHAR, LONG VARGRAPHIC y DATALINK, a los que no se da
soporte.
Descripcin
nombre-tipo-diferenciado
Indica el nombre del tipo diferenciado. El nombre, incluido el calificador
implcito o explcito, no debe designar un tipo diferenciado descrito en el
catlogo. El nombre no calificado no debe ser igual que el nombre de un
tipo de datos fuente ni BOOLEAN (SQLSTATE 42918).
En las sentencias de SQL dinmicas, el registro especial CURRENT
SCHEMA se utiliza como calificador para un nombre de objeto no
calificado. En las sentencias de SQL estticas, la opcin de
precompilacin/enlace QUALIFIER especifica implcitamente el calificador
En los casos en que el tipo fuente es un tipo con parmetros, la funcin para
convertir el tipo diferenciado al tipo fuente tendr como nombre de funcin el
nombre del tipo fuente sin los parmetros (consulte los detalles en la Tabla 22
en la pgina 681). El tipo de valor de retorno de esta funcin incluir los
parmetros dados en la sentencia CREATE DISTINCT TYPE. La funcin para
convertir del tipo fuente al tipo diferenciado tendr un parmetro de entrada
cuyo tipo es el tipo fuente incluyendo sus parmetros. Por ejemplo,
CREATE DISTINCT TYPE T_SHOESIZE AS CHAR(2)
WITH COMPARISONS
La tabla siguiente ofrece los nombres de las funciones para convertir del tipo
diferenciado al tipo fuente y del tipo fuente al tipo diferenciado para todos los
tipos de datos predefinidos.
Las funciones descritas en la tabla anterior son las nicas funciones que se
generan automticamente cuando se definen los tipos diferenciados. En
consecuencia, ninguna de las funciones incorporadas (AVG, MAX, LENGTH,
etc.) estn soportadas en los tipos diferenciados hasta que se utiliza la
sentencia CREATE FUNCTION (consulte el apartado CREATE FUNCTION
en la pgina 695) para registrar las funciones definidas por el usuario para el
tipo diferenciado, donde estas funciones definidas por el usuario tienen su
fuente en las funciones incorporadas adecuadas. En particular, observe que es
posible registrar funciones definidas por el usuario que tienen su fuente en
funciones de columna incorporadas.
DATABASE
TABLES
DEADLOCKS
TABLESPACES
BUFFERPOOLS
CONNECTIONS
STATEMENTS WHERE Condicin de suceso
TRANSACTIONS
MANUALSTART
WRITE TO PIPE nombre-conexin
FILE nombre-va Opciones de archivo AUTOSTART
LOCAL
ON NODE nmero-nodo GLOBAL
Condicin de suceso:
AND | OR
APPL_ID = serie-comparacin
NOT AUTH_ID (1)
APPL_NAME <>
>
(1)
>=
<
(1)
<=
LIKE
NOT LIKE
(Condicin de suceso)
Opciones de archivo:
NONE pginas
MAXFILES nmero-de-archivos MAXFILESIZE NONE
BLOCKED APPEND
BUFFERSIZE pginas NONBLOCKED REPLACE
Notas:
1 Tambin se da soporte a otras formas de estos operadores. Vea
Predicado bsico en la pgina 213 para conocer ms detalles.
Descripcin
nombre-supervisor-sucesos
Indica el nombre del supervisor de sucesos. Este nombre slo se compone
de una parte. Se trata de un identificador de SQL (ordinario o bien
delimitado). El nombre-supervisor-sucesos no debe identificar ningn
supervisor de sucesos que ya exista en el catlogo (SQLSTATE 42710).
FOR
Introduce el tipo de suceso que se ha de registrar.
DATABASE
Especifica que el supervisor de sucesos registre un suceso de base de
datos cuando se desconecte la ltima aplicacin de la base de datos.
TABLES
Especifica que el supervisor de sucesos registre un suceso de tabla
para cada tabla activa cuando se desconecte la ltima aplicacin de la
base de datos. Una tabla activa es una tabla que ha cambiado desde la
primera conexin con la base de datos.
DEADLOCKS
Especifica que el supervisor de sucesos registre un suceso de punto
muerto siempre que se produzca un punto muerto.
TABLESPACES
Especifica que el supervisor de sucesos registre un suceso de espacio
de tablas para cada espacio de tablas cuando se desconecte la ltima
aplicacin de la base de datos.
BUFFERPOOLS
Especifica que el supervisor de sucesos registre un suceso de
agrupacin de almacenamientos intermedios cuando se desconecte la
ltima aplicacin de la base de datos.
CONNECTIONS
Especifica que el supervisor de sucesos registre un suceso de conexin
cuando una aplicacin se desconecta de la base de datos.
STATEMENTS
Especifica que el supervisor de sucesos registre un suceso de sentencia
siempre que una sentencia de SQL termine su ejecucin.
TRANSACTIONS
Especifica que el supervisor de sucesos registre un suceso de
transaccin siempre que se complete una transaccin (es decir,
siempre que haya una operacin de confirmacin o retrotraccin).
WHERE condicin de suceso
Define un filtro que determina qu conexiones hacen que se produzca
un suceso de CONNECTION, STATEMENT o TRANSACTION. Si el
resultado de la condicin de suceso es TRUE para una conexin en
particular, dicha conexin generar los sucesos pedidos.
Esta clusula es una forma especial de la clusula WHERE que no
debe confundirse con una condicin de bsqueda estndar.
Para determinar si una aplicacin generar los sucesos para un
supervisor de sucesos en particular, se evala la clusula WHERE:
1. En cada conexin activa cuando se activa un supervisor de
sucesos.
2. Posteriormente en cada conexin nueva con la base de datos en el
tiempo de conexin.
APPL_ID
Especifica que el ID de aplicacin para cada conexin debe
compararse con la serie-comparacin para determinar si la conexin
debe generar sucesos de CONNECTION, STATEMENT o
TRANSACTION (lo que se haya especificado).
AUTH_ID
Especifica que el ID de autorizacin de cada conexin debe
compararse con la serie-comparacin para determinar si la conexin
debe generar sucesos de CONNECTION, STATEMENT or
TRANSACTION (lo que se haya especificado).
APPL_NAME
Especifica que el nombre de programa de aplicacin de cada
conexin debe compararse con la serie-comparacin para determinar
si la conexin debe generar sucesos de CONNECTION,
STATEMENT o TRANSACTION (lo que se haya especificado).
El nombre de programa de aplicacin son los 20 primeros bytes
del nombre de archivo del programa de aplicacin, despus del
ltimo separador de la va de acceso.
serie-comparacin
La serie que se ha de comparar con el APPL_ID, AUTH_ID o
APPL_NAME de cada aplicacin que se conecta a la base de
datos. serie-comparacin debe ser una constante de serie (es decir,
las variables del lenguaje principal y otras expresiones de serie no
estn permitidas).
WRITE TO
Introduce el destino para los datos.
PIPE
Especifica que el destino para los datos del supervisor de sucesos es
una conexin con nombre. El supervisor de sucesos graba los datos en
la conexin en una sola corriente (es decir, como si fuera un solo
archivo infinitamente largo). Cuando se graban los datos en una
conexin, el supervisor de sucesos no realiza grabaciones por bloques.
Si no hay espacio en el almacenamiento intermedio de conexin, el
supervisor de sucesos desechar los datos. Es responsabilidad de la
aplicacin supervisora el leer los datos pronto si desea asegurar que
no se pierdan datos.
nombre-conexin
El nombre de la conexin (FIFO en AIX) en la que el supervisor
de sucesos grabar los datos.
Las reglas de denominacin para las conexiones son especficas de
las plataformas. En sistemas operativos UNIX, los nombres de
conexiones se tratan como nombres de archivo. Como resultado,
Normas
v Cada uno de los tipos de sucesos (DATABASE, TABLES, DEADLOCK,...)
slo pueden especificarse una vez en la definicin de un supervisor de
sucesos en particular.
Notas
v Las definiciones del supervisor de sucesos se registran en la vista de
catlogo SYSCAT.EVENTMONITORS. Los sucesos en s se registran en la
vista de catlogo SYSCAT.EVENTS.
v Para obtener informacin detallada sobre la utilizacin del supervisor de la
base de datos y sobre la interpretacin de datos de las conexiones y
archivos, consulte el manual System Monitor Guide and Reference.
Ejemplos
Ejemplo 1: El siguiente ejemplo crea un supervisor de sucesos denominado
SMITHPAY. Este supervisor de sucesos, reunir los datos de sucesos para la
base de datos as como para las sentencias de SQL realizadas por la aplicacin
PAYROLL propiedad del ID de autorizacin JSMITH. Los datos se aadirn a
la va de acceso absoluta /home/jsmith/event/smithpay/. Se crearn un
mximo de 25 archivos. Cada archivo tendr una longitud mxima de 1 024
pginas de 4K. La E/S del archivo no estar bloqueada.
CREATE EVENT MONITOR SMITHPAY
FOR DATABASE, STATEMENTS
WHERE APPL_NAME = 'PAYROLL' AND AUTH_ID = 'JSMITH'
WRITE TO FILE '/home/jsmith/event/smithpay'
MAXFILES 25
MAXFILESIZE 1024
NONBLOCKED
APPEND
CREATE FUNCTION
Esta sentencia se utiliza para registrar o definir una funcin definida por el
usuario o una plantilla de funcin en un servidor de aplicaciones.
Existen cinco tipos diferentes de funciones que se pueden crear utilizando esta
sentencia. Cada una de ellas se describe por separado.
v Escalar externa
La funcin se escribe en un lenguaje de programacin y devuelve un valor
escalar. El ejecutable externo se registra en la base de datos junto con
diversos atributos de la funcin. Vea CREATE FUNCTION (Escalar
externa) en la pgina 696.
v Tabla externa
La funcin se escribe en un lenguaje de programacin y devuelve una tabla
completa. El ejecutable externo se registra en la base de datos junto con
diversos atributos de la funcin. Vea CREATE FUNCTION (Tabla externa)
en la pgina 723.
v Tabla externa OLE DB
Una funcin de tabla externa OLE DB definida por el usuario est
registrada en la base de datos para acceder a los datos de un proveedor
OLE DB. Vea CREATE FUNCTION (Tabla externa OLE DB) en la
pgina 741.
v Fuente o plantilla
Una funcin fuente se implanta invocando otra funcin (incorporada,
externa, SQL o fuente) que ya est registrada en la base de datos. Vea
CREATE FUNCTION (fuente o plantilla) en la pgina 750.
Es posible crear una funcin parcial, denominada plantilla de funcin, que
defina qu tipos de valores deben devolverse pero que no contengan
ningn cdigo ejecutable. El usuario la correlaciona con una funcin fuente
de datos dentro de un sistema federado, de esta forma se puede invocar la
funcin fuente de datos desde una base de datos federada. Una plantilla de
funcin slo se puede registrar en un servidor de aplicaciones que est
designado como servidor federado.
v SQL, escalar, de tabla o de fila
El cuerpo de la funcin est escrito en SQL y se define junto con el registro
en la base de datos. Devuelve un valor escalar, una tabla o una fila
individual. Vea CREATE FUNCTION (SQL, escalar, de tabla o de fila) en
la pgina 761.
( ) *
,
tipo-datos1
nombre-parmetro AS LOCATOR
RETURNS tipo-datos2 *
AS LOCATOR
tipo-datos3 CAST FROM tipo-datos4
AS LOCATOR
* EXTERNAL *
SPECIFIC nombre-especfico NAME serie
identificador
(1)
LANGUAGE C * PARAMETER STYLE DB2SQL *
JAVA DB2GENERAL
OLE JAVA
NO SQL *
NO DBINFO
* * *
ALLOW PARALLEL DBINFO TRANSFORM GROUP nombre-grupo
DISALLOW PARALLEL
PREDICATES ( especificacin-predicado )
especificacin-predicado:
WHEN = constante
<> EXPRESSION AS nombre-expresin
<
>
<=
>=
filtro-datos
explotacin-ndice
explotacin-ndice
filtro-datos
filtro-datos:
explotacin-ndice:
SEARCH BY INDEX EXTENSION nombre-extensin-ndice
EXACT
regla-explotacin
regla-explotacin:
Notas:
1 Tambin se da soporte a LANGUAGE SQL. Vea CREATE FUNCTION
(SQL, escalar, de tabla o de fila) en la pgina 761.
2 Puede especificarse NOT VARIANT en lugar de DETERMINISTIC
y VARIANT puede especificarse en lugar de NOT DETERMINISTIC.
3 Puede especificarse NULL CALL en lugar de CALLED ON NULL
INPUT y puede especificarse NOT NULL CALL en lugar de RETURNS
NULL ON NULL INPUT.
Descripcin
nombre-funcin
Indica el nombre de la funcin que se est definiendo. Consiste en el
nombre, calificado o no calificado, que designa una funcin. La forma no
calificada del nombre-funcin es un identificador SQL (cuya longitud
(tipo-datos1,...)
Identifica el nmero de parmetros de entrada de la funcin, al tiempo
que especifica el tipo de datos de cada parmetro. En la lista debe
especificarse una entrada por cada parmetro que la funcin espera
recibir. No se permiten ms de 90 parmetros. En caso de sobrepasarse
este lmite, se produce un error (SQLSTATE 54023).
Existe la posibilidad de registrar una funcin que no tenga ningn
parmetro. En este caso, sigue siendo necesario escribir los parntesis, sin
ningn tipo de datos interpuesto. Por ejemplo,
tipo-datos2
Especifica el tipo de datos de la salida.
En este caso, se aplican exactamente las mismas consideraciones que
para los parmetros de funciones externas descritas arriba bajo
tipo-datos1 para parmetros de funcin.
AS LOCATOR
Para tipos LOB o tipos diferenciados que estn basados en tipos
LOB, se puede aadir la clusula AS LOCATOR. Esto indica que
se ha de pasar un localizador de LOB de la UDF en lugar del
valor real.
tipo-datos3 CAST FROM tipo-datos4
Especifica el tipo de datos de la salida.
Este formato de clusula RETURNS se utiliza para devolver un tipo
de datos diferente a la sentencia de invocacin del tipo de datos que
se ha devuelto por el cdigo de funcin. Por ejemplo, en
CREATE FUNCTION GET_HIRE_DATE(CHAR(6))
RETURNS DATE CAST FROM CHAR(10)
...
! id_func
Identifica el nombre del punto de entrada de la funcin que ha
de invocarse. El signo ! sirve como delimitador entre el ID de
biblioteca y el ID de funcin. Si se omite ! id_func, el gestor de
bases de datos utilizar el valor que haba por omisin para el
punto de entrada cuando se ha enlazado la biblioteca.
En un sistema basado en UNIX, por ejemplo, mimod!func8
dirige el gestor de bases de datos para que busque la biblioteca
$inst_home_dir/sqllib/function/mimod y utilice el punto de
entrada func8 dentro de dicha biblioteca.
En el OS/2 y Sistemas operativos Windows de 32 bits,
mimod!func8 hace que el gestor de bases de datos cargue el
archivo mimod.dll y llame a la funcin func8() de la biblioteca
de enlace dinmico (DLL).
id_clase
Identifica el identificador de clase del objeto Java. Si la clase
forma parte de un paquete, la parte del identificador de clase
debe incluir el prefijo completo del paquete, por ejemplo
miPacks.UserFuncs. La mquina virtual Java buscar en el
directorio .../miPacks/UserFuncs/ correspondiente a las
clases. En OS/2 y Sistemas operativos Windows de 32 bits, la
mquina virtual Java buscar en el directorio
...\miPacks\UserFuncs\.
id_mtodo
Identifica el nombre de mtodo del objeto Java que se invoca.
v Para LANGUAGE OLE:
La serie especificada es el identificador del programa OLE (idprog)
o identificador de clase (idcls) y el identificador del mtodo, que
invoca el gestor de bases de datos para ejecutar la funcin definida
por el usuario que se est creando (CREATE). No es preciso que
exista el identificador de programa ni el identificador de clase y el
identificador de mtodo al emitir la sentencia CREATE FUNCTION.
No obstante, cuando se utiliza la funcin en una sentencia de SQL,
debe existir el identificador de mtodo y debe ser accesible desde la
mquina servidora de bases de datos, de lo contrario se produce un
error (SQLSTATE 42724).
idprog ! id_mtodo
idcls
EXPRESSION AS nombre-expresin
Proporciona un nombre para una expresin. Cuando un predicado
utiliza esta funcin con el mismo operador de comparacin y una
expresin, puede utilizarse el filtrado y la explotacin del ndice.
La expresin se asigna como nombre de expresin, para que
pueda utilizarse como argumento de una funcin de bsqueda. El
nombre-expresin no puede ser igual a ningn nombre-parmetro de
la funcin que se est creando (SQLSTATE 42711). Cuando se
especifica una expresin, se identifica el tipo de la expresin.
FILTER USING
Permite especificar la utilizacin de una funcin externa o expresin
CASE para un mayor filtrado de la tabla resultante.
invocacin-funcin
Especifica una funcin de filtro que se puede utilizar para realizar
un filtrado adicional de la tabla resultante. Esto es una versin de
la funcin definida (utilizada en el predicado) que reduce el
nmero de filas en el predicado definido por el usuario, para
determinar si las filas cumplen los requisitos. Si los resultados
producidos por el ndice son cercanos a los resultados previstos
para el predicado definido por el usuario, puede no ser necesario
aplicar la funcin de filtrado. Si no se especifica esta opcin, no se
realiza el filtrado de datos.
Esta funcin puede utilizar como argumento cualquier
nombre-parmetro, el nombre-expresin o constantes (SQLSTATE
42703), y devuelve un entero (SQLSTATE 428E4). Si se devuelve el
valor 1, significa que se conserva la fila; en otro caso se descarta.
Esta funcin tambin debe cumplir estas condiciones:
v no estar definida con LANGUAGE SQL (SQLSTATE 429B4)
v no estar definida con NOT DETERMINISTIC ni EXTERNAL
ACTION (SQLSTATE 42845)
v no tener un tipo de datos estructurado para ninguno de los
parmetros (SQLSTATE 428E3)
v no incluir una subconsulta (SQLSTATE 428E4).
Si un argumento invoca otra funcin u otro mtodo, estas cuatro
reglas tambin se aplican para la funcin o el mtodo anidado. Sin
embargo, los mtodos de observador generados por el sistema
pueden utilizarse como argumentos de la funcin de filtro (o de
cualquier funcin o mtodo utilizado como argumento), siempre
que el resultado de evaluar el argumento sea un tipo de datos
incorporado.
expresin-case
Especifica una expresin CASE para realizar un mayor filtrado de
}
else
{
/* si la entrada no es nula, establecer la salida en 2*input-4 */
*output = 2 * (*input) - 4;
/* establecer el indicador de salida nula en cero */
*output_ind = 0;
}
within(g1, g2) = 1
( ) *
,
tipo-datos1
nombre-parmetro AS LOCATOR
* EXTERNAL *
SPECIFIC nombre-especfico NAME serie
identificador
(1)
LANGUAGE C * PARAMETER STYLE DB2SQL *
JAVA DB2GENERAL
OLE
EXTERNAL ACTION
* NO SQL * *
NO EXTERNAL ACTION
NO DBINFO
* *
DBINFO CARDINALITY entero TRANSFORM GROUP nombre-grupo
Notas:
1 Vea CREATE FUNCTION (Tabla externa OLE DB) en la pgina 741
para obtener informacin sobre cmo crear funciones de tabla externas
LANGUAGE OLE DB. Vea CREATE FUNCTION (SQL, escalar, de tabla
o de fila) en la pgina 761 para obtener informacin sobre cmo crear
funciones de tabla LANGUAGE SQL.
2 Puede especificarse NOT VARIANT en lugar de DETERMINISTIC
y VARIANT puede especificarse en lugar de NOT DETERMINISTIC.
idprog
Identifica el identificador de programa del objeto OLE.
idprog no se interpreta por el gestor de bases de datos sino que
slo se reenva a la API OLE en tiempo de ejecucin. El objeto
OLE especificado debe poderse crear y dar soporte a un enlace
lgico posterior (denominado tambin enlace lgico basado en
IDispatch).
idcls
Designa el identificador de clase del objeto OLE que se debe
crear. Puede utilizarse como una alternativa para especificar
idprog en el caso de que el objeto OLE no est registrado con un
idprog. El idcls tiene el formato:
{nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}
donde n es un carcter alfanumrico. idcls no se interpreta por
el gestor de bases de datos, slo se reenva a las API OLE en el
momento de la ejecucin.
id_mtodo
Identifica el nombre de mtodo del objeto OLE que se ha de
invocar.
NAME identificador
Esta clusula identifica el nombre del cdigo escrito por el usuario
que implanta la funcin que se est definiendo. El identificador
especificado es un identificador SQL. El identificador SQL se utiliza
como el id-biblioteca en la serie. A menos que sea un identificador
delimitado, se convierte a maysculas. Si el identificador est
calificado con un nombre de esquema, se ignora la parte
correspondiente al nombre de esquema. Este formato de NAME slo
puede utilizarse con LANGUAGE C.
LANGUAGE
Esta clusula obligatoria se emplea para especificar el convenio de la
interfaz de lenguaje en el que se est escrito el cuerpo de la funcin
definida por el usuario.
C Esto significa que el gestor de bases de datos llamar a la funcin
definida por el usuario como si se tratase de una funcin en C. La
funcin definida por el usuario debe ajustarse al convenio de
llamadas y enlaces del lenguaje C, tal y como se define en el
prototipo de C estndar de ANSI.
JAVA Esto significa que el gestor de bases de datos llamar a la funcin
definida por el usuario como un mtodo en una clase Java.
OLE Significa que el gestor de bases de datos llamar a la funcin
definida por el usuario como si fuese un mtodo expuesto por un
Dentro del contexto de una sola sesin, la UDF siempre devolver la misma
tabla y, por lo tanto, se define como DETERMINISTIC. Observe que la
clusula RETURNS que define la salida de DOCMATCH. Debe especificarse
FINAL CALL para cada funcin de tabla. Adems, se aade la palabra clave
DISALLOW PARALLEL porque las funciones de tabla no pueden funcionar
en paralelo. Aunque el tamao de la salida para DOCMATCH es muy
variable, el valor CARDINALITY 20 es representativo y se especifica para
ayudar al optimizador DB2.
CREATE FUNCTION DOCMATCH (VARCHAR(30), VARCHAR(255))
RETURNS TABLE (DOC_ID CHAR(16))
EXTERNAL NAME '/common/docfuncs/rajiv/udfmatch'
LANGUAGE C
PARAMETER STYLE DB2SQL
NO SQL
DETERMINISTIC
NO EXTERNAL ACTION
NOT FENCED
SCRATCHPAD
FINAL CALL
DISALLOW PARALLEL
CARDINALITY 20
Ejemplo 2: Lo siguiente registra una funcin de tabla OLE que se utiliza para
recuperar informacin de cabecera de mensajes y el texto parcial de los
NOT DETERMINISTIC
LANGUAGE OLEDB * *
(1)
DETERMINISTIC
*
CARDINALITY entero
Notas:
1 Puede especificarse NOT VARIANT en lugar de DETERMINISTIC
y VARIANT puede especificarse en lugar de NOT DETERMINISTIC.
2 Puede especificarse NULL CALL en lugar de CALLED ON NULL
INPUT y puede especificarse NOT NULL CALL en lugar de RETURNS
NULL ON NULL INPUT.
Descripcin
nombre-funcin
Indica el nombre de la funcin que se est definiendo. Consiste en el
nombre, calificado o no calificado, que designa una funcin. La forma no
calificada del nombre-funcin es un identificador SQL (cuya longitud
mxima es de 18). En las sentencias de SQL dinmico, el registro especial
CURRENT SCHEMA se utiliza como calificador para un nombre de objeto
no calificado. En las sentencias de SQL esttico, la opcin de
precompilacin/enlace QUALIFIER especifica implcitamente el calificador
para los nombres de objeto no calificados. La forma calificada es un
nombre-esquema seguido de un punto y un identificador SQL.
El nombre, incluidos los calificadores implcitos y explcitos, junto con el
nmero de parmetros y el tipo de datos de cada parmetro (sin tener en
cuenta ningn atributo de longitud, precisin o escala del tipo de datos)
no debe identificar una funcin descrita en el catlogo (SQLSTATE 42723).
El nombre no calificado, junto con el nmero y el tipo de datos de los
parmetros, que por supuesto es exclusivo en su esquema, no es necesario
que lo sea en todos los esquemas.
Si se especifica un nombre compuesto de dos partes, el nombre-esquema no
puede empezar por SYS (SQLSTATE 42939).
Algunos nombres utilizados como palabras clave en predicados estn
reservados para su uso por el sistema, y no pueden utilizarse como
nombre-funcin (SQLSTATE 42939). Los nombres son SOME, ANY, ALL,
NOT, AND, OR, BETWEEN, NULL, LIKE, EXISTS, IN, UNIQUE,
OVERLAPS, SIMILAR, MATCH y los operadores de comparacin tal
como se describen en Predicado bsico en la pgina 213.
Se puede utilizar el mismo nombre para ms de una funcin si hay
alguna diferencia en la signatura de las funciones. Aunque no hay
servidor
Identifica el nombre local de una fuente de datos tal como define
CREATE SERVER en la pgina 831.
conjuntofilas
Identifica el conjunto de filas (tabla) expuesto por el proveedor OLE
DB. Deben proporcionarse nombres de tabla completamente
calificados para los proveedores OLE DB que soportan nombres de
catlogo o de esquema.
serieconexin
Versin de la serie de las propiedades de inicializacin necesaria para
conectarse a la fuente de datos. El formato bsico de una serie de
Notas
v FENCED, FINAL CALL, SCRATCHPAD, PARAMETER STYLE DB2SQL,
DISALLOW PARALLEL, NO DBINFO y NO SQL est implcitos en la
sentencia y se pueden especificar. Consulte CREATE FUNCTION (Tabla
externa) en la pgina 723 para ver las descripciones especficas.
v Al elegir los tipos de datos para los parmetros de una funcin definida por
el usuario, tenga en cuenta las reglas para la promocin que afectarn a sus
valores de entrada (consulte la seccin Promocin de los tipos de datos en
la pgina 100). Por ejemplo, una constante que puede utilizarse como un
valor de entrada puede tener un tipo de datos incorporado diferente al que
se espera y, lo que es ms significativo, es posible que no se promueva al
tipo de datos que se espera. De acuerdo con las reglas para la promocin,
suele aconsejarse la utilizacin de los siguientes tipos de datos para
parmetros:
VARCHAR en lugar de CHAR
VARGRAPHIC en lugar de GRAPHIC
v Para asegurar la portabilidad de las UDF de una plataforma a otra, no
deben utilizarse los tipos de datos siguientes:
FLOAT- utilice DOUBLE o REAL en su lugar.
NUMERIC- utilice DECIMAL en su lugar.
LONG VARCHAR- utilice CLOB (o BLOB) en su lugar.
v Para obtener informacin sobre la creacin de una funcin de tabla externa
OLE DB definida por el usuario, consulte Application Development Guide.
v La creacin de una funcin con un nombre de esquema que an no existe
dar como resultado la creacin implcita de dicho esquema siempre que el
ID de autorizacin de la sentencia tenga la autorizacin
IMPLICIT_SCHEMA. El propietario del esquema es SYSIBM. El privilegio
CREATEIN en el esquema se otorga a PUBLIC.
Ejemplos
Ejemplo 1: Lo siguiente registra una funcin de tabla OLE DB, que recupera
informacin de clasificacin de una base de datos Microsoft Access. La serie
de conexin se define en el nombre externo.
CREATE FUNCTION orders ()
RETURNS TABLE (orderid INTEGER,
customerid CHAR(5),
employeeid INTEGER,
orderdate TIMESTAMP,
requireddate TIMESTAMP,
shippeddate TIMESTAMP,
shipvia INTEGER,
freight dec(19,4))
LANGUAGE OLEDB
EXTERNAL NAME '!orders!Provider=Microsoft.Jet.OLEDB.3.51;
Data Source=c:\sqllib\samples\oledb\nwind.mdb
!COLLATING_SEQUENCE=Y';
Ejemplo 2: Lo siguiente registra una funcin de tabla OLE DB, que recupera
informacin de cliente de una base de datos Oracle. La serie de conexin se
proporciona a travs de una definicin de servidor. El nombre de tabla est
completamente calificado en el nombre externo. El usuario local john se
correlaciona con el usuario remoto dave. Otros usuarios utilizarn el id de
usuario de invitado en la serie de conexin. Consulte CREATE SERVER en
la pgina 831, CREATE WRAPPER en la pgina 974 y CREATE USER
MAPPING en la pgina 955 para ver los detalles de las sentencias.
CREATE SERVER spirit
WRAPPER OLEDB
OPTIONS (CONNECTSTRING 'Provider=MSDAORA;Persist Security Info=False;
User ID=guest;password=pwd;Locale Identifier=1033;
OLE DB Services=CLIENTCURSOR;Data Source=spirit');
Ejemplo 3: Lo siguiente registra una funcin de tabla OLE DB, que recupera
informacin sobre tiendas a partir de la base de datos MS SQL Server 7.0. La
serie de conexin se proporciona en el nombre externo. La funcin de tabla
tiene un parmetro de entrada para el paso a travs del texto del mandato al
proveedor OLE DB. No es necesario especificar el nombre del conjunto de
filas en el nombre externo. La consulta del ejemplo pasa un mandato SQL
para recuperar las 3 tiendas con mayor nivel de ventas.
CREATE FUNCTION favorites (varchar(600))
RETURNS TABLE (store_id CHAR (4),
name VARCHAR (41),
sales INTEGER)
SPECIFIC favorites
LANGUAGE OLEDB
EXTERNAL NAME '!!Provider=SQLOLEDB.1;Persist Security Info=False;
User ID=sa;Initial Catalog=pubs;Data Source=WALTZ;
Locale Identifier=1033;Use Procedure for Prepare=1;
Auto Translate=False;Packet Size=4096;Workstation ID=WALTZ;
OLE DB Services=CLIENTCURSOR;';
SELECT *
FROM TABLE (favorites
(' select top 3 sales.stor_id as store_id, ' || '
stores.stor_name as name, ' || '
sum(sales. qty) as sales ' || '
from sales, stores ' || '
where sales.stor_id = stores.stor_id ' || '
group by sales.stor_id, stores.stor_name' || '
order by sum(sales.qty) desc')) as f;
( ) * RETURNS tipo-datos2 *
,
tipo-datos1
nombre-parmetro
*
SPECIFIC nombre-especfico
SOURCE nombre-funcin *
SPECIFIC nombre-especfico
nombre-funcin ( )
,
tipo-datos
NOT DETERMINISTIC EXTERNAL ACTION
AS TEMPLATE * *
DETERMINISTIC NO EXTERNAL ACTION
Descripcin
nombre-funcin
Identifica la funcin o plantilla de funcin que se est definiendo.
Consiste en el nombre, calificado o no calificado, que designa una funcin.
La forma no calificada del nombre-funcin es un identificador SQL (cuya
longitud mxima es de 18). En las sentencias de SQL dinmicas, el registro
especial CURRENT SCHEMA se utiliza como calificador para un nombre
de objeto no calificado. En las sentencias de SQL estticas, la opcin de
precompilacin/enlace QUALIFIER especifica de forma implcita el
calificador para los nombres de objeto no calificados. La forma calificada
es un nombre-esquema seguido de un punto y un identificador SQL.
El nombre, incluidos los calificadores implcitos y explcitos, junto con el
nmero de parmetros y el tipo de datos de cada parmetro (sin tener en
cuenta ningn atributo de longitud, precisin o escala del tipo de datos)
no debe identificar una funcin ni una plantilla de funcin descritos en el
catlogo (SQLSTATE 42723). El nombre no calificado, junto con el nmero
y el tipo de datos de los parmetros, que por supuesto es exclusivo en su
esquema, no es necesario que lo sea en todos los esquemas.
Si se especifica un nombre compuesto de dos partes, el nombre-esquema no
puede empezar por SYS. De lo contrario, se genera un error (SQLSTATE
42939).
Algunos nombres utilizados como palabras clave en predicados estn
reservados a uso del sistema y no pueden utilizarse como nombre-funcin
(SQLSTATE 42939). Estos nombres son SOME, ANY, ALL, NOT, AND, OR,
BETWEEN, NULL, LIKE, EXISTS, IN, UNIQUE, OVERLAPS, SIMILAR,
nombre-parmetro
Especifica un nombre opcional para el parmetro que es diferente de
los nombres de todos los dems parmetros de la funcin.
tipo-datos1
Especifica el tipo de datos del parmetro.
Con una funcin escalar derivada se puede utilizar cualquier tipo de
datos SQL vlido siempre que se pueda convertir al tipo del
parmetro correspondiente de la funcin identificada en la clusula
SOURCE (vea Conversin entre tipos de datos en la pgina 101 para
conocer la definicin de convertible). El tipo de datos
REF(nombre-tipo) no puede especificarse como tipo de datos de un
parmetro (SQLSTATE 42997).
Puesto que la funcin tiene fuente, no es necesario (aunque s est
permitido) especificar la longitud, precisin o escala para los tipos de
datos parametrizados. En su lugar, pueden utilizarse parntesis (por
ejemplo CHAR() ). Un tipo de datos parametrizados es cualquiera de los
tipos de datos que se pueden definir con una longitud, escala o
precisin especficas. Los tipos de datos parametrizados son los tipos
de datos de serie de caracteres y los tipos de datos decimales.
RETURNS
Esta clusula obligatoria identifica el resultado de la funcin o plantilla de
funcin.
tipo-datos2
Especifica el tipo de datos de la salida.
Es vlido cualquier tipo de datos SQL, as como un tipo diferenciado,
siempre que se pueda convertir desde tipo del resultado de la funcin
fuente (para la definicin de convertible, consulte el apartado
Conversin entre tipos de datos en la pgina 101).
El parmetro de un tipo parametrizado no es necesario especificarlo,
tal como se describi anteriormente para los parmetros de una
funcin derivada. En su lugar, se pueden utilizar parntesis vacos,
como por ejemplo VARCHAR().
En la pgina 757 hallar una serie de consideraciones y reglas
adicionales que se aplican a la especificacin del tipo de datos en la
clusula RETURNS cuando la funcin tiene su fuente en otra.
SPECIFIC nombre-especfico
Proporciona un nombre exclusivo para la instancia de la funcin que se
est definiendo. Este nombre especfico puede utilizarse cuando se utiliza
esta funcin como fuente, al eliminar la funcin o bien al comentarla.
Nunca puede emplearse para invocar a la funcin. La forma no calificada
de nombre-especfico es un identificador SQL (cuya longitud mxima es 18).
SPECIFIC nombre-especfico
Identifica una funcin determinada definida por el usuario que ha de
servir como fuente, por el nombre-especfico ya sea especificado o
tomado por omisin en el tiempo de creacin de la funcin. Esta
variante de sintaxis no es vlida para una funcin fuente que sea una
funcin incorporada.
Si se proporciona un nombre no calificado, entonces la va de acceso
de SQL actual del ID de autorizacin se utiliza para localizar la
funcin. Se selecciona el primer esquema de la va de acceso de la
funcin que tiene una funcin con este nombre especfico.
Si no existe ninguna funcin con este nombre-especfico en el esquema
nombrado o bien si el nombre no est calificado y no hay ninguna
funcin con este nombre-especfico en la va de acceso de SQL, se
produce un error (SQLSTATE 42704).
nombre-funcin (tipo-datos,...)
Proporciona la signatura de la funcin, que identifica de manera
exclusiva la funcin fuente. sta es la nica variante de sintaxis vlida
para una funcin fuente que es una funcin incorporada.
Las reglas para la resolucin de funciones (descritas en el apartado
Resolucin de funciones en la pgina 162) se aplican para
seleccionar una funcin entre aquellas funciones que tienen el mismo
nombre, dado los tipos de datos que se han especificado en la
clusula SOURCE. Sin embargo, el tipo de datos de cada parmetro
de la funcin seleccionada debe tener exactamente el tipo de datos
correspondiente que se ha especificado en la funcin fuente.
nombre-funcin
Constituye el nombre de la funcin fuente. Si se proporciona un
nombre no calificado, entonces se tienen en cuenta los esquemas
de la va de acceso de SQL del usuario.
tipo-datos
Debe coincidir con el tipo de datos que se haya especificado en la
sentencia CREATE FUNCTION en la posicin correspondiente
(separado por comas).
Para los tipos de datos parametrizados no es necesario especificar
la longitud, la precisin ni la escala. En su lugar, puede haber un
conjunto vaco de parntesis codificados para indicar que esos
atributos deben ignorarse al buscar una coincidencia del tipo de
datos. Por ejemplo, DECIMAL() coincidir con un parmetro cuyo
tipo de datos est definido como DECIMAL(7,2)).
No puede utilizarse FLOAT() (SQLSTATE 42601) puesto que el
valor del parmetro indica tipos de datos diferentes (REAL o
DOUBLE).
Normas
v En esta seccin llamaremos CF a la funcin que se est creando y FS a la
funcin identificada en la clusula SOURCE, no importa cual de las tres
sintaxis permitidas se haya utilizado para identificar FS.
El nombre no calificado de la funcin CF y el nombre no calificado de la
SF pueden ser distintos.
Una funcin nombrada como la fuente de otra funcin puede, a su vez,
utilizar otra funcin como su fuente. Al hacer uso de este recurso deben
extremarse las precauciones, puesto que podra resultar muy difcil
depurar una aplicacin si una funcin invocada indirectamente genera
un error.
Si se especifican con la clusula SOURCE, ninguna de las clusulas
siguientes es vlida (porque la CF heredar estos atributos de la SF):
- CAST FROM ...,
- EXTERNAL ...,
- LANGUAGE ...,
- PARAMETER STYLE ...,
- DETERMINISTIC / NOT DETERMINISTIC,
- FENCED / NOT FENCED,
- RETURNS NULL ON NULL INPUT / CALLED ON NULL INPUT
- EXTERNAL ACTION / NO EXTERNAL ACTION
- NO SQL
- SCRATCHPAD / NO SCRATCHPAD
- FINAL CALL / NO FINAL CALL
- RETURNS TABLE (...)
- CARDINALITY ...
- ALLOW PARALLEL / DISALLOW PARALLEL
- DBINFO / NO DBINFO
v Al elegir los tipos de datos para los parmetros de una funcin definida por
el usuario, tenga en cuenta las reglas para la promocin que afectarn a los
valores de entrada (consulte el apartado Promocin de los tipos de datos
en la pgina 100). Por ejemplo, una constante que puede utilizarse como un
valor de entrada puede tener un tipo de datos incorporado diferente al que
se espera y, lo que es ms significativo, es posible que no se promueva al
tipo de datos que se espera. De acuerdo con las reglas para la promocin,
suele aconsejarse la utilizacin de los siguientes tipos de datos para
parmetros:
INTEGER en lugar de SMALLINT
DOUBLE en lugar de REAL
VARCHAR en lugar de CHAR
VARGRAPHIC en lugar de GRAPHIC
v La creacin de una funcin con un nombre de esquema que an no existe
dar como resultado la creacin implcita de dicho esquema siempre que el
ID de autorizacin de la sentencia tenga la autorizacin
IMPLICIT_SCHEMA. El propietario del esquema es SYSIBM. El privilegio
CREATEIN en el esquema se otorga a PUBLIC.
v Para que un servidor federado reconozca una funcin fuente de datos, la
funcin debe estar correlacionada con una funcin complementaria en la
base de datos federada. Si la base de datos no contiene ninguna funcin
complementaria, el usuario debe crearla y luego definir la correlacin.
La funcin complementaria puede ser una funcin (escalar o fuente) o una
plantilla de funcin. Si el usuario crea una funcin y la correlacin
necesaria, entonces cada vez que se procese una consulta que especifique la
funcin, DB2 (1) compara las estrategias para invocarla con estrategias para
invocar la funcin fuente de datos e (2) invoca la funcin que se prev que
exigir menos recursos adicionales.
Si el usuario crea una plantilla de funcin y la correlacin, cada vez que se
procesa una consulta donde se especifica la plantilla, DB2 invoca la funcin
de fuente de datos con la que la plantilla est correlacionado, siempre que
exista un plan de acceso para invocar esta funcin. Consulte el manual
Application Development Guide para obtener ms informacin sobre cmo
controlar la sobrecarga de invocar funciones en un sistema federado.
Ejemplos
Ejemplo 1: Algn tiempo despus de la creacin de la funcin escalar externa
CENTRE de Pellow, otro usuario desea crear una funcin basada en ella,
excepto que esta funcin est pensada para aceptar solamente argumentos
enteros.
CREATE FUNCTION MYCENTRE (INTEGER, INTEGER)
RETURNS FLOAT
SOURCE PELLOW.CENTRE (INTEGER, FLOAT)
nombre-parmetro tipo-datos1
RETURNS tipo-datos2 * *
ROW lista-columnas SPECIFIC nombre-especfico
TABLE
(1)
READS SQL DATA CALLED ON NULL INPUT
* *
CONTAINS SQL
(2)
PREDICATES ( especificacin-predicado )
cuerpo-funcin-SQL
lista-columnas:
( nombre-columna tipo-datos3 )
cuerpo-funcin-SQL:
Sentencia RETURN
sentencia-dinmica-compuesta
Notas:
1 Puede especificarse NULL CALL en lugar de CALLED ON NULL
INPUT.
2 Slo es vlido si RETURNS especifica un resultado escalar (tipo-datos2)
Descripcin
nombre-funcin
Indica el nombre de la funcin que se est definiendo. Consiste en el
nombre, calificado o no calificado, que designa una funcin. La forma no
calificada del nombre-funcin es un identificador SQL (cuya longitud
mxima es de 18). En las sentencias de SQL dinmicas, el registro especial
CURRENT SCHEMA se utiliza como calificador para un nombre de objeto
tipo-datos2
Especifica el tipo de datos de la salida.
En esta sentencia, son vlidas exactamente las mismas consideraciones
que se describieron anteriormente en tipo-datos1 para parmetros de
funciones SQL.
ROW lista-columnas
Especifica que la salida de la funcin es una fila individual. Si la
funcin devuelve ms de una fila, se produce un error (SQLSTATE
21505). La lista-columnas debe incluir dos columnas como mnimo
(SQLSTATE 428F0).
Una funcin de fila slo se puede utilizar como funcin de
transformacin para un tipo estructurado (utilizando un tipo
estructurado como parmetro y devolviendo slo tipos base).
TABLE lista-columnas
Especifica que el resultado de la funcin es una tabla.
lista-columnas
Es la lista de nombres de columnas y tipos de datos devueltos para
una funcin de fila o de tabla.
nombre-columna
Especifica el nombre de esta columna. El nombre no puede estar
calificado y no se puede utilizar el mismo nombre para ms de
una columna de la fila.
tipo-datos3
Especifica el tipo de datos de la columna y puede ser cualquier
tipo de datos soportado por un parmetro de la funcin SQL.
SPECIFIC nombre-especfico
Proporciona un nombre exclusivo para la instancia de la funcin que se
est definiendo. Este nombre especfico puede utilizarse cuando se utiliza
esta funcin como fuente, al eliminar la funcin o bien al comentarla.
Nunca puede emplearse para invocar a la funcin. La forma no calificada
de nombre-especfico es un identificador SQL (cuya longitud mxima es 18).
La forma calificada es un nombre-esquema seguido de un punto y un
identificador SQL. El nombre, incluido el calificador implcito o explcito,
no debe identificar otra instancia de funcin que exista en el servidor de
aplicaciones; de lo contrario se produce un error (SQLSTATE 42710).
El nombre-especfico puede ser el mismo que un nombre-funcin ya existente.
Si no se especifica ningn calificador, se emplea el que se haya utilizado
para el nombre-funcin. Si se especifica un calificador, debe ser el mismo
que el calificador explcito o implcito de nombre-funcin; de lo contrario se
produce un error (SQLSTATE 42882).
Ejemplo 3: Definicin de una tabla de funcin que muestra los empleados que
trabajan en un nmero de departamento especificado.
CREATE FUNCTION DEPTEMPLOYEES (DEPTNO CHAR(3))
RETURNS TABLE (EMPNO CHAR(6),
LASTNAME VARCHAR(15),
FIRSTNAME VARCHAR(12))
LANGUAGE SQL
READS SQL DATA
NO EXTERNAL ACTION
DETERMINISTIC
RETURN
SELECT EMPNO, LASTNAME, FIRSTNME
FROM EMPLOYEE
WHERE EMPLOYEE.WORKDEPT = DEPTEMPLOYEES.DEPTNO
nombre-funcin ( )
tipo-datos
SPECIFIC nombre-especfico
SERVER nombre-servidor
SERVER TYPE tipo-servidor
VERSION versin-servidor
WRAPPER nombre-reiniciador
opciones-funcin WITH INFIX
versin-servidor:
versin
. release
. mod
constante-serie-versin
opciones-funcin:
,
ADD
OPTIONS ( nombre-opcin-funcin constante-serie )
Descripcin
nombre-correlacin-funciones
Nombra la correlacin de funciones. El nombre no debe identificar
ninguna correlacin de funciones que ya est descrita en el catlogo
(SQLSTATE 42710).
Si se omite nombre-correlacin-funciones, se asigna un nombre exclusivo
generado por el sistema.
nombre-funcin
Es el nombre, calificado o no calificado, de la funcin o plantilla de
funcin desde la que se debe establecer una correlacin.
tipo-datos
Para una funcin o plantilla de funcin que tenga algn parmetro de
entrada, tipo-datos especifica el tipo de datos de dicho parmetro. El tipo de
datos no puede ser LONG VARCHAR, LONG VARGRAPHIC, DATALINK,
un tipo de objeto grande (LOB) ni un tipo definido por el usuario.
SPECIFIC nombre-especfico
Identifica la funcin o plantilla de funcin desde la que se debe establecer
una correlacin. Especifique nombre-especfico si la funcin o plantilla de
funcin no tiene un nombre-funcin exclusivo en la base de datos federada.
SERVER nombre-servidor
Designa la fuente de datos donde reside la funcin con la que se establece
la correlacin.
TYPE tipo-servidor
Identifica el tipo de fuente de datos que contiene la funcin con la que se
est correlacionando.
VERSION
Identifica la versin de la fuente de datos indicada por tipo-servidor.
versin
Especifica el nmero de versin. versin debe ser un entero.
release
Especifica el nmero de release de la versin indicada por versin.
release debe ser un entero.
mod
Especifica el nmero de la modificacin del release indicado por
release. mod debe ser un entero.
constante-serie-versin
Especifica la designacin completa de la versin. La
constante-serie-versin puede ser un solo valor (por ejemplo, 8i); o
puede ser los valores concatenados de versin, release y, si se aplica,
mod (por ejemplo, 8.0.3).
WRAPPER nombre-reiniciador
Especifica el nombre del reiniciador que el servidor federado utiliza para
interactuar con las fuentes de datos del tipo y versin indicados por
tipo-servidor y versin-servidor.
OPTIONS
Indica las opciones de correlacin de funciones que se han de habilitar.
Consulte Opciones de correlacin de funciones en la pgina 1414 para
ver las descripciones de nombre-opcin-funcin y sus valores.
ADD
Habilita una o varias opciones de correlacin de funciones.
nombre-opcin-funcin
Nombra una opcin de correlacin de funciones que se aplica a la
correlacin de funciones o a la funcin de fuente de datos incluida en
la correlacin.
constante-serie
Especifica el valor para nombre-opcin-funcin como una constante de
serie de caracteres.
WITH INFIX
Especifica que la funcin de fuente de datos se ha de generar en formato
infijo.
Notas
v Una funcin o plantilla de funcin de base de datos federada puede
correlacionarse con una funcin de fuente de datos si:
La funcin o plantilla de la base de datos federada tiene el mismo
nmero de parmetros de entrada que la funcin de fuente de datos.
Los tipos de datos que estn definidos para la funcin o plantilla
federados son compatibles con los tipos de datos correspondientes que
estn definidos para la funcin de fuente de datos.
v Si una peticin distribuida hace referencia a una funcin DB2 que se
correlaciona con una funcin de fuente de datos, el optimizador desarrolla
estrategias para invocar cualquiera de las dos funciones cuando se procesa
la peticin. Se invoca la funcin DB2 si para ello se necesita menos
actividad general que para invocar la funcin de fuente de datos. De lo
Ejemplo 3: Suponga que existe una correlacin de funciones por omisin entre
la funcin del sistema WEEK que est definida en la base de datos federada y
una funcin similar que est definida en las fuentes de datos Oracle. Cuando
se procesa una consulta que pide datos Oracle y que hace referencia a WEEK,
se invocar WEEK o su equivalente de Oracle, dependiendo de cul estime el
optimizador que necesita menos actividad general. El DBA desea averiguar
cmo afectara al rendimiento si slo se invocase WEEK para dichas consultas.
Para asegurarse de que se invoca WEEK cada vez, el DBA debe inhabilitar la
correlacin.
CREATE FUNCTION MAPPING
FOR SYSFUN.WEEK(INT)
TYPE ORACLE
OPTIONS ( DISABLE 'Y' )
CREATE INDEX
La sentencia CREATE INDEX se utiliza para crear:
v Un ndice en una tabla de DB2
v Una especificacin de ndice: metadatos que indican al optimizador que una
tabla fuente tiene un ndice
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o bien emitirse
mediante la utilizacin de sentencias de SQL dinmicas. Se trata de una
sentencia ejecutable que puede prepararse de forma dinmica. Sin embargo, si
es aplicable la opcin de enlace DYNAMICRULES BIND, la sentencia no se
puede preparar de forma dinmica (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener al menos uno de los
privilegios siguientes:
v Autorizacin SYSADM o DBADM.
v Uno de los siguientes:
Privilegio CONTROL para la tabla
Privilegio INDEX para la tabla
y uno de estos:
Autorizacin IMPLICIT_SCHEMA para la base de datos, si no existe el
nombre de esquema implcito o explcito del ndice.
Privilegio CREATEIN para el esquema, si el nombre de esquema del
ndice hace referencia a un esquema existente.
Sintaxis
CREATE INDEX nombre-ndice
UNIQUE
,
(1) ASC
ON nombre-tabla ( nombre-columna )
(2) DESC
apodo
*
SPECIFICATION ONLY ,
(3)
INCLUDE ( nombre-columna )
* *
CLUSTER
EXTEND USING nombre-extensin-ndice
,
( expresin-constante )
Notas:
1 En un sistema federado, el nombre-tabla debe identificar una tabla en la
base de datos federada. No puede identificar una tabla de fuente de
datos.
2 Si se especifica apodo, la sentencia CREATE INDEX crear una
especificacin de ndice. INCLUDE, CLUSTER, PCTFREE,
MINPCTUSED, DISALLOW REVERSE SCANS y ALLOW REVERSE
SCANS no se pueden especificar.
3 La clusula INCLUDE slo puede especificarse si se especifica UNIQUE.
Descripcin
UNIQUE
Si se especifica ON nombre-tabla, UNIQUE evita que la tabla contenga dos
o ms filas con el mismo valor de la clave de ndice. La unicidad de
valores se aplica al final de la sentencia de SQL que actualiza filas o
inserta nuevas filas. Para obtener detalles consulte el Apndice J.
Interaccin de desencadenantes y restricciones en la pgina 1455.
La exclusividad tambin se comprueba durante la ejecucin de la
sentencia CREATE INDEX. Si la tabla ya contiene filas con valores de
clave duplicados, no se crea el ndice.
Cuando se utiliza UNIQUE, los valores nulos se tratan como cualquier
otro valor. Por ejemplo, si la clave es una sola columna que puede
contener valores nulos, esa columna no puede contener ms de un valor
nulo.
Si se especifica la opcin UNIQUE y la tabla tiene una clave de
particionamiento, las columnas de la clave de ndice deben ser un
superconjunto de la clave de particionamiento. Es decir, las columnas
especificadas para una clave de ndice de unicidad deben incluir todas las
columnas de la clave de particionamiento (SQLSTATE 42997).
Si se especifica ON apodo, UNIQUE se debe especificar slo si los datos
para la clave de ndice contienen valores exclusivos para cada fila de la
tabla fuente de datos. No se comprobar la exclusividad.
CLUSTER
Especifica que el ndice es el ndice de agrupacin de la tabla. El factor de
agrupacin de un ndice de agrupacin se mantiene o se mejora
dinmicamente cuando los datos se insertan en la tabla asociada al
intentar insertar filas nuevas fsicamente cerca de las filas para las que los
valores de clave de este ndice estn en el mismo rango. Slo puede existir
un ndice de agrupacin para una tabla, por lo que no puede especificarse
CLUSTER si se utiliza en la definicin de cualquier ndice existente en la
tabla (SQLSTATE 55012). No puede crearse un ndice de agrupacin en
una tabla que est definida para utilizar la modalidad APPEND
(SQLSTATE 428D8).
CLUSTER no est permitido si apodo est especificado (42601).
EXTEND USING nombre-extensin-ndice
Designa la extensin-ndice utilizada para gestionar el ndice. Si se
especifica esta clusula, debe haber un solo nombre-columna especificado y
esa columna debe ser un tipo estructurado o un tipo diferenciado
(SQLSTATE 42997). El nombre-extensin-ndice debe ser una extensin de
ndice descrita en el catlogo (SQLSTATE 42704). Para un tipo
diferenciado, la columna debe coincidir exactamente con el tipo del
correspondiente parmetro de clave fuente de la extensin de ndice. Para
una columna de tipo estructurado, el tipo del correspondiente parmetro
de clave fuente debe ser el mismo tipo o un supertipo del tipo de
columna (SQLSTATE 428E0).
expresin-constante
Designa valores para los argumentos necesarios de la extensin de
ndice. Cada expresin debe ser un valor constante cuyo tipo de datos
coincide exactamente con el tipo de datos definido de los
correspondientes parmetros de la extensin de ndice, incluidas la
longitud o precisin, y la escala (SQLSTATE 428E0).
PCTFREE entero
Especifica qu porcentaje de cada pgina de ndice se va a dejar como
espacio libre cuando se cree el ndice. La primera entrada de una pgina
se aade sin restricciones. Cuando se colocan entradas adicionales en una
pgina de ndice, en cada pgina se deja, como mnimo, un entero como
porcentaje de espacio libre. El valor de entero entra en un rango que va de
0 a 99. No obstante, si se especifica un valor superior a 10, slo se dejar
un 10 por ciento de espacio libre en las pginas sin hoja. El valor por
omisin es 10.
PCTFREE no est permitido si apodo est especificado (SQLSTATE 42601).
MINPCTUSED entero
Indica si los ndices se reorganizan en lnea y el porcentaje mnimo de
espacio utilizado en una pgina terminal de ndice. Si, despus de
suprimir una clave de una pgina terminal de ndice, el porcentaje de
( nombre-parmetro1 tipo-datos1 )
mantenimiento-ndices bsqueda-ndice
mantenimiento-ndices:
FROM SOURCE KEY ( nombre-parmetro2 tipo-datos2 )
bsqueda-ndice:
definicin-mtodo-bsqueda:
FILTER USING invocacin-funcin-filtrado-ndice
expresin-case
Descripcin
nombre-extensin-ndice
Designa la extensin de ndice. El nombre, incluido el calificador implcito
o explcito, no debe identificar una extensin de ndice descrita en el
catlogo. Si se especifica un nombre-extensin-ndice de dos partes, el
nombre de esquema no puede empezar por SYS; de lo contrario se
produce un error (SQLSTATE 42939).
nombre-parmetro1
Identifica un parmetro que se pasa a la extensin de ndice, al
ejecutar CREATE INDEX, para definir el comportamiento de la
extensin de ndice. El parmetro que se pasa a la extensin de ndice
se llama parmetro de instancia, pues ese valor define una nueva
instancia de una extensin de ndice.
nombre-parmetro1 debe ser exclusivo dentro de la definicin de la
extensin de ndice. No se permiten ms de 90 parmetros. Si se
excede este lmite, se produce un error (SQLSTATE 54023).
tipo-datos1
Especifica el tipo de datos de cada parmetro. Debe especificarse una
entrada de la lista para cada parmetro que la extensin de ndice
espera recibir. Los nicos tipos de datos SQL que se pueden
especificar son los que se pueden utilizar como constantes, tales como
VARCHAR, INTEGER, DECIMAL, DOUBLE o VARGRAPHIC
SEARCH METHODS
Presenta los mtodos de bsqueda que estn definidos para el ndice.
definicin-mtodo-bsqueda
Especifica las caractersticas del mtodo de la bsqueda por ndice. Consta
de un nombre de mtodo, los argumentos de bsqueda, una funcin
productora de rangos y una funcin opcional de filtrado de ndice.
WHEN nombre-mtodo
Es el nombre de un mtodo de bsqueda. Es un identificador SQL
que est asociado con el nombre de mtodo especificado en la regla
de explotacin de ndice (situada en la clusula PREDICATES de una
funcin definida por el usuario). El nombre-mtodo-bsqueda puede
estar referenciado por una sola clusula WHEN en la definicin del
mtodo de bsqueda (SQLSTATE 42713).
nombre-parmetro4
Identifica el parmetro de un argumento de bsqueda. Estos nombres
se utilizan en las clusulas RANGE THROUGH y FILTER USING.
tipo-datos4
Es el tipo de datos asociado a un parmetro de bsqueda.
RANGE THROUGH invocacin-funcin-productora-rangos
Especifica una funcin de tabla externa que produce rangos de
bsqueda. Esta funcin utiliza nombre-parmetro1, nombre-parmetro4 o
una constante como argumentos y devuelve un conjunto de rangos de
bsqueda.
La funcin de tabla utilizada en invocacin-funcin-productora-rangos
debe cumplir estas condiciones:
1. Su resolucin debe producir una funcin de tabla (SQLSTATE
428E4)
2. No debe incluir una subconsulta (SQLSTATE 428E3) ni una
funcin SQL (SQLSTATE 428E4) en sus argumentos
3. No debe estar definida con LANGUAGE SQL (SQLSTATE 428E4)
4. No debe estar definida como NOT DETERMINISTIC ni como
EXTERNAL ACTION (SQLSTATE 428E4)
5. El nmero y tipos de los resultados de esta funcin deben estar
relacionados con los resultados de la funcin de tabla especificada
en el clusula GENERATE KEY USING, del modo siguiente
(SQLSTATE 428E1):
v Devuelven un nmero mximo de columnas igual al doble de
las devueltas por la funcin de transformacin de claves
v Tienen un nmero par de columnas, donde la primera mitad de
las columnas devueltas definen el inicio del rango (valores de
CREATE METHOD
Esta sentencia asocia un cuerpo de mtodo con una especificacin de mtodo
que ya forma parte de la definicin de un tipo estructurado definido por el
usuario.
Invocacin
Esta sentencia se puede intercalar en un programa de aplicacin o se puede
emitir utilizando sentencias de SQL dinmicas. Es una sentencia ejecutable
que puede prepararse de forma dinmica. Sin embargo, si es aplicable la
opcin de enlace DYNAMICRULES BIND, la sentencia no se puede preparar
de forma dinmica (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener al menos uno de los
privilegios siguientes:
v Autorizacin SYSADM o DBADM
v Privilegio CREATEIN para el esquema del tipo estructurado referenciado en
la sentencia CREATE METHOD
v Definidor del tipo estructurado referenciado en la sentencia CREATE
METHOD.
* EXTERNAL * *
NAME serie TRANSFORM GROUP nombre-grupo
identificador
cuerpo-mtodo-SQL
signatura-mtodo:
nombre-mtodo ( )
,
tipo-datos1
nombre-parmetro AS LOCATOR
RETURNS tipo-datos2
AS LOCATOR
tipo-datos3 CAST FROM tipo-datos4
AS LOCATOR
cuerpo-mtodo-SQL:
Sentencia RETURN
sentencia-dinmica-compuesta
Descripcin
METHOD
Identifica una especificacin de mtodo existente que est asociada a un
tipo estructurado definido por el usuario. La especificacin-mtodo se
puede identificar de varias maneras:
nombre-mtodo
Designa la especificacin de mtodo para la que se define un cuerpo
de mtodo. El esquema implcito es el esquema del tipo indicado
(nombre-tipo). Debe existir una sola especificacin de mtodo para
nombre-tipo que tenga este nombre-mtodo (SQLSTATE 42725).
signatura-mtodo
Proporciona la signatura del mtodo, que identifica de manera
exclusiva el mtodo que se debe definir. La signatura de mtodo debe
coincidir con la especificacin proporcionada en la sentencia CREATE
TYPE o ALTER TYPE (SQLSTATE 42883).
nombre-mtodo
Designa la especificacin de mtodo para la que se define un
cuerpo de mtodo. El esquema implcito es el esquema del tipo
indicado (nombre-tipo).
nombre-parmetro
Designa el nombre del parmetro. Si la signatura de mtodo
proporciona nombres de parmetros, deben coincidir
exactamente con las partes correspondientes de la
especificacin de mtodo asociada. Esta sentencia da soporte a
los nombres de parmetros slo con fines de documentacin.
tipo-datos1
Especifica el tipo de datos de cada parmetro.
AS LOCATOR
Para los tipos LOB o los tipos diferenciados que se basan en
un tipo LOB, se puede aadir la clusula AS LOCATOR.
RETURNS
Esta clusula identifica la salida del mtodo. Si la signatura de
mtodo proporciona una clusula RETURNS, sta debe coincidir
exactamente con la parte correspondiente de la especificacin de
mtodo asociada existente en CREATE TYPE. Esta sentencia da
soporte a la clusula RETURNS slo con fines de documentacin.
tipo-datos2
Especifica el tipo de datos de la salida.
AS LOCATOR
Para tipos LOB o tipos diferenciados que estn basados en
tipos LOB, se puede aadir la clusula AS LOCATOR.
Esto indica que el mtodo debe devolver un localizador
de LOB, en lugar del valor real.
tipo-datos3 CAST FROM tipo-datos4
Este formato de clusula RETURNS se utiliza para devolver
un tipo de datos diferente a la sentencia de invocacin del
tipo de datos que se ha devuelto por el cdigo de funcin.
AS LOCATOR
Para los tipos LOB o tipos diferenciados basados en un
tipo LOB, se puede utilizar la clusula AS LOCATOR para
indicar que el mtodo debe devolver un localizador de
LOB, en lugar del valor real.
FOR nombre-tipo
Designa el tipo para el cual se debe asociar el mtodo especificado. El
nombre debe identificar un tipo que ya est descrito en el catlogo
(SQLSTATE 42704). En las sentencias de SQL dinmicas, el registro
especial CURRENT SCHEMA se utiliza como calificador para un
nombre de objeto no calificado. En las sentencias de SQL estticas, la
opcin de precompilacin/enlace QUALIFIER especifica
implcitamente el calificador para los nombres de objetos no
calificados.
SPECIFIC METHOD nombre-especfico
Identifica el mtodo concreto, utilizando el nombre especfico que se
especific o se tom por omisin al ejecutar CREATE TYPE. El
nombre-especfico debe identificar una especificacin de mtodo del
esquema nombrado o implcito; de lo contrario se produce un error
(SQLSTATE 42704).
EXTERNAL
Esta clusula indica que se utiliza la sentencia CREATE METHOD para
registrar un mtodo, basndose en el cdigo escrito en un lenguaje de
programacin externo y de acuerdo con los convenios documentados para
enlaces e interfaces. La especificacin-mtodo asociada de CREATE TYPE
debe especificar un valor distinto de SQL para LANGUAGE. Cuando se
invoca el mtodo, el sujeto del mtodo se pasa a la implementacin como
primer parmetro implcito.
Si no se especifica la clusula NAME, se supone NAME nombre-mtodo.
NAME
Esta clusula identifica el nombre del cdigo escrito por el usuario
que aplica el mtodo que se est definiendo.
serie
La opcin serie es una constante de tipo serie con un mximo de
254 caracteres. El formato que se utiliza para la serie depende de
la opcin LANGUAGE especificada. Vea CREATE FUNCTION
(Escalar externa) en la pgina 696 para obtener ms informacin
sobre los convenios especficos para lenguajes.
identificador
Este identificador especificado es un identificador SQL. El
identificador SQL se utiliza como id-biblioteca en la serie. A
menos que sea un identificador delimitado, se convierte a
maysculas. Si el identificador est calificado con un nombre de
esquema, no se tiene en cuenta la parte correspondiente al nombre
de esquema. Esta modalidad de NAME slo puede utilizarse con
LANGUAGE C (tal como est definido en la especificacin-
mtodo en CREATE TYPE).
TRANSFORM GROUP nombre-grupo
Indica el grupo de transformacin que se utiliza, cuando se invoca el
mtodo, para las transformaciones de tipo estructurado definidas por el
usuario. Es necesaria una transformacin, pues la definicin de mtodo
incluye un tipo estructurado definido por el usuario.
Es muy recomendable especificar un nombre de grupo de transformacin;
si no se especifica esta clusula, se utiliza el nombre de grupo por
omisin, DB2_FUNCTION. Si el nombre-grupo especificado (o tomado
por omisin) no est definido para un tipo estructurado referenciado, se
produce en error (SQLSTATE 42741). Similarmente, si una funcin de
transformacin necesaria FROM SQL o TO SQL no est definida para el
nombre-grupo y tipo estructurado proporcionados, se produce un error
(SQLSTATE 42744).
cuerpo-mtodo-SQL
El cuerpo-mtodo-SQL define cmo se implementa el mtodo si la
especificacin de mtodo en CREATE TYPE es LANGUAGE SQL.
El cuerpo-mtodo-SQL debe adaptarse a las siguientes partes de la
especificacin de mtodo:
v DETERMINISTIC o NOT DETERMINISTIC (SQLSTATE 428C2)
v EXTERNAL ACTION o NO EXTERNAL ACTION (SQLSTATE 428C2)
v CONTAINS SQL o READS SQL DATA (SQLSTATE 42985)
Ejemplo 2:
CREATE METHOD SAMEZIP (addr address_t)
RETURNS INTEGER
FOR address_t
RETURN
(CASE
WHEN (self..zip = addr..zip)
THEN 1
ELSE 0
END)
Ejemplo 3:
CREATE METHOD DISTANCE (address_t)
FOR address_t
EXTERNAL NAME 'addresslib!distance'
TRANSFORM GROUP func_group
CREATE NICKNAME
La sentencia CREATE NICKNAME crea un apodo para una tabla o una vista
de la fuente de datos.
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o bien emitirse
mediante la utilizacin de sentencias de SQL dinmicas. Se trata de una
sentencia ejecutable que puede prepararse de forma dinmica. Sin embargo, si
es aplicable la opcin de enlace DYNAMICRULES BIND, la sentencia no se
puede preparar de forma dinmica (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener al menos uno de los
privilegios siguientes:
v Autorizacin SYSADM o DBADM
v Autorizacin IMPLICIT_SCHEMA para la base de datos federada, si no
existe el nombre de esquema implcito o explcito del apodo.
v Privilegio CREATEIN para el esquema, si existe el nombre de esquema del
apodo
archivos estructurados-tabla:
( nombre-columna SMALLINT )
INTEGER
INT
FLOAT
( entero )
REAL
PRECISION
DOUBLE
DECIMAL
DEC ( entero )
NUMERIC , entero
NUM
CHARACTER
CHAR ( entero )
VARCHAR ( entero )
CHARACTER VARYING
CHAR
, COLUMN_DELIMITER delimitador
(1)
, KEY_COLUMN nombre-columna-clave
)
(1)
, VALIDATE_DATA_FILE Y
N
Notas:
1 Opcional slo para archivos clasificados.
Descripcin
apodo
Nombra el identificador del servidor federado para la tabla o vista a la
que nombre-objeto-remoto hace referencia o el archivo estructurado-tabla al
que se est accediendo. El apodo, incluido el calificador implcito o
explcito, no debe designar una tabla, vista, seudnimo o apodo descritos
en el catlogo. El nombre de esquema no debe empezar por SYS
(SQLSTATE 42939).
nombre-objeto-remoto
Nombra un identificador formado por tres partes con este formato:
nombre-fuente-datos.nombre-esquema-remoto.nombre-tabla-remota
donde:
nombre-fuente-datos
Nombra la fuente de datos que contiene la tabla o la vista para la cual
se est creando el apodo. El nombre-fuente-datos es el mismo nombre
que se ha asignado a la fuente de datos en la sentencia CREATE
SERVER.
nombre-esquema-remoto
Nombra el esquema al que pertenece la tabla o la vista.
nombre-tabla-remota
Nombra uno de los identificadores siguientes:
v El nombre o un seudnimo de una tabla o una vista de la familia
DB2
v El nombre de una tabla o una vista Oracle
v El nombre-tabla no puede ser una tabla temporal declarada
(SQLSTATE 42995)
nombre-columna
Nombre exclusivo que se da a cada campo del archivo estructurado-tabla.
Cada nombre-columna va seguido de su tipo de datos. Slo se soportan las
columnas de tipo SMALLINT, INTEGER, FLOAT, REAL, DOUBLE,
DECIMAL, CHAR y VARCHAR.
SMALLINT
Para especificar un entero pequeo.
INTEGER o INT
Para especificar un entero grande.
FLOAT(entero)
Para especificar un nmero de coma flotante de precisin simple o doble,
en funcin del valor del entero. El valor del entero debe estar en el rango
de 1 a 53. Los valores del 1 al 24 indican precisin simple y los valores del
25 al 53 indican precisin doble.
REAL
Para especificar un valor de coma flotante de precisin simple.
DOUBLE o DOUBLE PRECISION
Para especificar un valor de coma flotante de precisin doble.
FLOAT
Para especificar un valor de coma flotante de precisin doble.
CREATE NODEGROUP
La sentencia CREATE NODEGROUP crea un nuevo grupo de nodos en la
base de datos y asigna particiones o nodos al grupo de nodos y registra la
definicin del grupo de nodos en el catlogo.
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o emitirse de
forma interactiva. Se trata de una sentencia ejecutable que se puede preparar
dinmicamente. Sin embargo, si es aplicable la opcin de enlace
DYNAMICRULES BIND, la sentencia no se puede preparar de forma
dinmica (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener autorizacin SYSCTRL o
SYSADM.
Sintaxis
CREATE NODEGROUP nombre-gruponodos
ON ALL NODES
,
ON NODES ( nmero-nodo1 )
NODE TO nmero-nodo2
Descripcin
nombre-gruponodos
Indica el nombre del grupo de nodos. Este nombre slo se compone de
una parte. Se trata de un identificador de SQL (ordinario o bien
delimitado). El nombre-gruponodos no debe identificar un grupo de nodos
que ya exista en el catlogo (SQLSTATE 42710). El nombre-gruponodos no
debe empezar por los caracteres SYS ni IBM (SQLSTATE 42939).
ON ALL NODES
Especifica que el grupo de nodos se define en todas las particiones
definidas en la base de datos (archivo db2nodes.cfg) en el momento en
que se crea el grupo de nodos.
Si se aade una particin al sistema de bases de datos, debe emitirse la
sentencia ALTER NODEGROUP para incluir esta nueva particin en un
grupo de nodos (incluyendo IBMDEFAULTGROUP). Adems, debe
emitirse el mandato REDISTRIBUTE NODEGROUP para mover los datos
a la particin. Consulte los manuales Administrative API Reference o
Consulta de mandatos para obtener ms informacin.
ON NODES
Especifica las particiones especficas que estn en nodogrupo. NODE es
sinnimo de NODES.
nmero-nodo1
Especifique un nmero de particin determinado.73
TO nmero-nodo2
Especifique un rango de nmeros de particin. El valor de
nmero-nodo2 debe ser mayor o igual que el valor de nmero-nodo1
(SQLSTATE 428A9). Todas las particiones entre los nmeros de
particin especificados (stos inclusive) se incluyen en el grupo de
nodos.
Normas
v Cada particin o nodo especificado por un nmero debe estar definido en
el archivo db2nodes.cfg (SQLSTATE 42729).
v Cada nmero-nodo listado en la clusula ON NODES debe aparecer como
mximo una vez (SQLSTATE 42728).
v Un nmero-nodo vlido est entre 0 y 999 inclusive (SQLSTATE 42729).
Notas
v Esta sentencia crea un mapa de particionamiento para el grupo de nodos
(Vea Particin de datos entre mltiples particiones en la pgina 40 para
obtener ms informacin). Se genera un identificador de mapa de
particionamiento (PMAP_ID) para cada mapa de particionamiento. Esta
informacin se anota en el catlogo y se puede recuperar de
SYSCAT.NODEGROUPS y SYSCAT.PARTITIONMAPS. Cada entrada del
mapa de particionamiento especifica la particin de destino donde residen
todas las filas que se generan aleatoriamente. Para un grupo de nodos de
particin nica, el mapa de particionamiento correspondiente slo tiene una
entrada. Para un grupo de nodos de varias particiones, el mapa de
particionamiento correspondiente tiene 4.096 entradas, donde los nmeros
de particin se asignan rotatoriamente a las entradas del mapa, de forma
predefinida.
Ejemplo
Suponga que tiene una base de datos particionada con seis particiones
definidas como: 0, 1, 2, 5, 7 y 8.
v Suponga que desea crear un grupo de nodos llamado MAXGROUP en las
seis particiones. La sentencia es la siguiente:
CREATE NODEGROUP MAXGROUP
ON ALL NODES
73. Puede especificarse el nombre-nodo en la forma NODEnnnnn para mantener la compatibilidad con la versin
anterior.
CREATE PROCEDURE
Esta sentencia se utiliza para registrar un procedimiento almacenado en un
servidor de aplicaciones.
Invocacin
Esta sentencia se puede intercalar en un programa de aplicacin o se puede
emitir utilizando sentencias de SQL dinmicas. Es una sentencia ejecutable
que puede prepararse de forma dinmica. Sin embargo, si es aplicable la
opcin de enlace DYNAMICRULES BIND, la sentencia no se puede preparar
de forma dinmica (SQLSTATE 42509).
Autorizacin
Los privilegios del ID de autorizacin de la sentencia deben incluir como
mnimo uno de los siguientes:
v Autorizacin SYSADM o DBADM
v Autorizacin IMPLICIT_SCHEMA para la base de datos, si no existe el
nombre de esquema implcito ni explcito del procedimiento.
v Autorizacin de privilegio BINDADD en la base de datos, si el lenguaje
para el procedimiento es SQL
v Privilegio CREATEIN para el esquema, si el nombre de esquema del
procedimiento hace referencia a un esquema existente.
nombre-procedimiento ( ) *
,
IN
nombre-parmetro tipo-datos
OUT
INOUT
(3)
MODIFIES SQL DATA NOT DETERMINISTIC CALLED ON NULL INPUT
* *
(2) DETERMINISTIC
NO SQL
CONTAINS SQL
READS SQL DATA
* LANGUAGE C * opciones-procedimiento-externo *
JAVA
COBOL
OLE
LANGUAGE SQL * cuerpo-procedimiento-SQL
opciones-procedimiento-externo:
FENCED
* EXTERNAL * *
NAME serie NOT FENCED
identificador
NO DBINFO
*
DBINFO
cuerpo-procedimiento-SQL:
sentencia_procedimiento-SQL
Notas:
1 Puede especificarse RESULT SETS en lugar de DYNAMIC RESULT
SETS.
2 NO SQL no es una eleccin vlida para LANGUAGE SQL.
3 Puede especificarse NULL CALL en lugar de CALLED ON NULL
INPUT.
4 Puede especificarse DB2GENRL en lugar de DB2GENERAL, puede
especificarse SIMPLE CALL en lugar de GENERAL y puede
especificarse SIMPLE CALL WITH NULLS en lugar de GENERAL WITH
NULLS.
Descripcin
nombre-procedimiento
Indica el nombre del procedimiento que se est definiendo. Es un nombre
calificado o no calificado que designa un procedimiento. La forma no
calificada de nombre-procedimiento es un identificador SQL (con una
longitud mxima de 128). En las sentencias de SQL dinmicas, el registro
especial CURRENT SCHEMA se utiliza como calificador para un nombre
de objeto no calificado. En las sentencias de SQL estticas, la opcin de
precompilacin/enlace QUALIFIER especifica implcitamente el calificador
para los nombres de objetos no calificados. La forma calificada es un
nombre-esquema seguido de un punto y un identificador SQL.
El nombre, incluidos los calificadores implcitos o explcitos, junto con el
nmero de parmetros no debe designar un procedimiento descrito en el
catlogo (SQLSTATE 42723). El nombre no calificado, junto con el nmero
de parmetros es, por supuesto, exclusivo en el esquema, pero no necesita
ser exclusivo en todos esquemas.
Si se especifica un nombre compuesto de dos partes, el nombre-esquema no
puede empezar por SYS. De lo contrario, se genera un error (SQLSTATE
42939).
( IN | OUT | INOUT nombre-parmetro tipo-datos,...)
Identifica los parmetros del procedimiento y especifica la modalidad,
nombre y tipo de datos de cada parmetro. Debe especificarse una
entrada de la lista para cada parmetro que el procedimiento va a esperar.
Es posible registrar un procedimiento que no tenga ningn parmetro. En
tal caso, los parntesis deben seguir codificados, sin tipos de datos
intermedios. Por ejemplo,
CREATE PROCEDURE SUBWOOFER() ...
Tabla 23. Sentencia de SQL e indicacin del acceso a datos SQL (continuacin)
Sentencia de SQL NO SQL CONTAINS READS SQL MODIFIES
SQL DATA SQL DATA
GRANT ... N N N S
INCLUDE S(1) S S S
INSERT N N N S
LOCK TABLE N S S S
OPEN CURSOR N N S S
PREPARE N S S S
REFRESH TABLE N N N S
RELEASE N N N N
CONNECTION(2)
RELEASE SAVEPOINT N N N S
RENAME TABLE N N N S
REVOKE ... N N N S
ROLLBACK N S S S
ROLLBACK TO N N N S
SAVEPOINT
SAVEPOINT N N N S
SELECT INTO N N S S
SET CONNECTION(2) N N N N
SET INTEGRITY N N N S
SET registro especial N S S S
UPDATE N N N S
VALUES INTO N N S S
WHENEVER S(1) S S S
Notas:
1. Aunque la opcin NO SQL implica que no puede especificarse
ninguna sentencia de SQL, las sentencias no ejecutables no estn
restringidas.
2. Las sentencias de gestin de conexiones no estn permitidas en ningn
contexto de ejecucin de procedimiento almacenado.
3. Depende de la sentencia que se ejecute. La sentencia especificada para
la sentencia EXECUTE debe ser una sentencia que est permitida en el
contexto del nivel de acceso SQL que est vigente. Por ejemplo, si el
nivel acceso SQL en vigor es READS SQL DATA, la sentencia no deber
ser INSERT, UPDATE ni DELETE.
id_va_absoluta
Identifica el nombre completo de va de acceso del
procedimiento.
En un sistema basado en UNIX, por ejemplo,
/u/jchui/milib/miproc hara que el gestor de bases de datos
buscase en /u/jchui/milib el procedimiento miproc.
En el OS/2 y Sistemas operativos Windows de 32 bits, si la va
de acceso del procedimiento es d:\mibibl\miproc, el gestor de
bases de datos cargar el archivo miproc.dll desde el directorio
d:\mibibl.
Si se especifica una va de acceso absoluta, el procedimiento se
ejecutar como restringido, sin tener en cuenta el atributo
FENCED / NOT FENCED.
! id_proc
Identifica el nombre del punto de entrada del procedimiento
que se ha de invocar. El signo ! sirve como delimitador entre el
id de biblioteca y el id de procedimiento. Si se omite ! id_proc,
el gestor de bases de datos utilizar el punto de entrada por
omisin establecido al enlazar la biblioteca.
En un sistema basado en UNIX, por ejemplo, mimod!proc8
dirige el gestor de bases de datos para que busque la biblioteca
$inst_home_dir/sqllib/function/mimod y que utilice el punto
de entrada proc8 dentro de dicha biblioteca.
En OS/2, Sistemas operativos Windows de 32 bits
mimod!proc8 dirige al gestor de bases de datos para que
cargue el archivo mimod.dll y llame al procedimiento proc8()
de la biblioteca de enlace dinmico (DLL).
idprog
Identifica el identificador de programa del objeto OLE.
El gestor de bases de datos no interpreta los idprog, sino que
slo se reenvan al controlador de automatizacin OLE durante
la ejecucin. El objeto OLE especificado debe poderse crear y
debe dar soporte al enlace tardo (llamado tambin enlace
basado en IDispatch). Por convenio, los idprog tienen el
formato siguiente:
<nombre_programa>.<nombre_componente>.<versin>
Puesto que slo es un convenio, y no una norma, los idprog
pueden tener en realidad un formato diferente.
idcls
Designa el identificador de clase del objeto OLE que se debe
crear. Puede utilizarse como una alternativa a la especificacin
de un idprog cuando un objeto OLE no est registrado con un
idprog. El idcls tiene este formato:
{nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}
donde 'n' es un carcter alfanumrico. El gestor de bases de
datos no interpreta los idcls, sino que slo se reenvan a las API
de OLE durante la ejecucin.
id_mtodo
Identifica el nombre de mtodo del objeto OLE que se ha de
invocar.
NAME identificador
Este identificador especificado es un identificador SQL. El identificador
SQL se utiliza como el id-biblioteca en la serie. A menos que sea un
identificador delimitado, se convierte a maysculas. Si el identificador
est calificado con un nombre de esquema, no se tiene en cuenta la
parte correspondiente al nombre de esquema. Este formato de NAME
slo puede utilizarse con LANGUAGE C.
FENCED o NOT FENCED
Esta clusula especifica si el procedimiento almacenado se considera
seguro (NOT FENCED) o no (FENCED) para ejecutarse en el
proceso o espacio de direcciones del entorno operativo del gestor de
bases de datos.
Si un procedimiento almacenado se registra como FENCED, el gestor
de bases de datos asla los recursos internos de base de datos (por
ejemplo, almacenamientos intermedios de datos) para que el
procedimiento no pueda acceder a ellos. Todos los procedimientos
tienen la opcin de ejecutar como FENCED o NOT FENCED. En
PROGRAM TYPE
Especifica si el procedimiento almacenado espera parmetros del tipo
de una rutina principal o una subrutina.
SUB
El procedimiento almacenado espera que los parmetros se pasen
como argumentos separados.
MAIN
El procedimiento almacenado espera que los parmetros se pasen
como un contador de argumentos y como un vector de
argumentos (argc, argv). El nombre del procedimiento almacenado
que se debe invocar tambin debe ser main. Los procedimientos
almacenados de este tipo deben todava crearse del mismo modo
que una biblioteca compartida, a diferencia de un ejecutable
autnomo.
CREATE SCHEMA
La sentencia CREATE SCHEMA define un esquema. Tambin es posible crear
algunos objetos y otorgar privilegios en los objetos dentro de la sentencia.
Invocacin
Esta sentencia se puede intercalar en un programa de aplicacin o se puede
emitir utilizando sentencias de SQL dinmicas. Es una sentencia ejecutable
que puede prepararse de forma dinmica. Sin embargo, si es aplicable la
opcin de enlace DYNAMICRULES BIND, la sentencia no se puede preparar
de forma dinmica (SQLSTATE 42509).
Autorizacin
Un ID de autorizacin que tenga la autorizacin SYSADM o DBADM puede
crear un esquema con cualquier nombre-esquema o nombre-autorizacin vlido.
sentencia-SQL-esquema
Descripcin
nombre-esquema
Indica el nombre del esquema. El nombre no debe identificar un esquema
que ya est descrito en el catlogo (SQLSTATE 42710). El nombre no
puede empezar por SYS (SQLSTATE 42939). El propietario del esquema
es el ID de autorizacin que ha emitido la sentencia.
AUTHORIZATION nombre-autorizacin
Identifica el usuario que es el propietario del esquema. El valor del
Ejemplo 2: Cree un esquema que tenga una tabla de piezas del inventario y
un ndice de los nmeros de piezas. Otorgue la autorizacin sobre la tabla al
usuario JONES.
CREATE SCHEMA INVENTRY
Ejemplo 3: Cree un esquema llamado PERS con dos tablas que cada una
tenga una clave fornea que haga referencia a otra tabla. Es un ejemplo de
una caracterstica de la sentencia CREATE SCHEMA que permite la creacin
de un par de tablas como stas sin la utilizacin de la sentencia ALTER
TABLE.
CREATE SEQUENCE
La sentencia CREATE SEQUENCE crea una secuencia en el servidor de
aplicaciones.
Invocacin
Esta sentencia puede incorporarse en un programa de aplicacin o emitirse
mediante el uso de sentencias de SQL dinmicas. Se trata de una sentencia
ejecutable que puede prepararse dinmicamente. Sin embargo, si es aplicable
la opcin de enlace DYNAMICRULES BIND, la sentencia no se puede
preparar de forma dinmica (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener al menos uno de los
privilegios siguientes:
v Privilegio CREATEIN para el esquema especificado implcita o
explcitamente
v Autorizacin SYSADM o DBADM
Sintaxis
AS INTEGER
CREATE SEQUENCE nombre-secuencia * *
AS tipo-datos
INCREMENT BY 1
* *
START WITH constante-numrica INCREMENT BY constante-numrica
NO MINVALUE NO MAXVALUE
* *
MINVALUE constante-numrica MAXVALUE constante-numrica
Descripcin
nombre-secuencia
Indica el nombre de la secuencia. La combinacin del nombre y del
nombre de esquema implcito o explcito no debe identificar una secuencia
existen en el servidor actual (SQLSTATE 42710).
CACHE o NO CACHE
Especifica si se deben mantener algunos valores preasignados en memoria
para obtener un acceso ms rpido. Esta opcin se utiliza para el
rendimiento y el ajuste.
CACHE constante-entera
Especifica el nmero mximo de valores de secuencia que se
preasignan y se mantienen en memoria. La preasignacin y el
almacenamiento de valores en la antememoria reduce la E/S sncrona
en las anotaciones cronolgicas cuando se generan valores para la
secuencia.
En el caso de producirse una anomala del sistema, todos los valores
de secuencia almacenados en antememoria que no se han utilizando
en sentencias confirmadas se pierden (es decir, no se utilizarn nunca).
El valor especificado para la opcin CACHE es el nmero mximo de
valores de secuencia que puede perderse en caso de anomala del
sistema.
El valor mnimo es 2 (SQLSTATE 42815). El valor por omisin es
CACHE 20.
NO CACHE
Especifica que los valores de la secuencia no se deben preasignar.
Asegura que no haya ninguna prdida de valores en el caso de
producirse una anomala del sistema, un cierre o una desactivacin de
la base de datos. Cuando se especifica esta opcin, los valores de la
secuencia no se almacenan en la antememoria. En este caso, cada
peticin de un valor nuevo para la secuencia produce E/S sncrona en
las anotaciones cronolgicas.
NO ORDER o ORDER
Especifica si los nmeros de secuencia deben generarse segn el orden de
peticin.
ORDER
Especifica que los nmeros de secuencia se generan segn el orden de
peticin.
NO ORDER
Especifica que los nmeros de secuencia no necesitan generarse segn
el orden de peticin. ste es el valor por omisin.
Notas
v Es posible definir una secuencia constante, es decir, una que devuelva
siempre un valor constante. Esto puede realizarse especificando el mismo
valor para MINVALUE o MAXVALUE o especificando un valor de
INCREMENT de cero. Una secuencia constante puede utilizarse como
variable global numrica. ALTER SEQUENCE puede utilizarse para ajustar
los valores que se generarn para una secuencia constante.
CREATE SERVER
La sentencia CREATE SERVER 74 define una fuente de datos en una base de
datos federada.
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o bien emitirse
mediante la utilizacin de sentencias de SQL dinmicas. Se trata de una
sentencia ejecutable que puede prepararse de forma dinmica. Sin embargo, si
es aplicable la opcin de enlace DYNAMICRULES BIND, la sentencia no se
puede preparar de forma dinmica (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener la autorizacin SYSADM o
DBADM en la base de datos federada.
Sintaxis
CREATE SERVER nombre-servidor
TYPE tipo-servidor
WRAPPER nombre-reiniciador
VERSION versin-servidor
AUTHORIZATION nombre-autorizacin-remota
PASSWORD contrasea
,
ADD
OPTIONS ( nombre-opcin-servidor constante-serie )
versin-servidor:
versin
. release
. mod
constante-serie-versin
74. En esta sentencia, el trmino SERVER y los nombres de parmetros que empiezan por servidor- slo hacen
referencia a las fuentes de datos de un sistema federado. No hacen referencia al servidor federado de dicho
sistema ni a los servidores de aplicaciones DRDA. Para obtener informacin acerca de los sistemas federados,
consulte Sistemas federados DB2 en la pgina 56. Para obtener informacin acerca de los servidores de
aplicaciones DRDA, consulte Base de datos relacional distribuida en la pgina 43.
Descripcin
nombre-servidor
Nombra la fuente de datos que se est definiendo en la base de datos
federada. El nombre no debe identificar una fuente de datos que est
descrita en el catlogo. El nombre-servidor no debe ser el mismo que el
nombre de cualquier espacio de tablas de la base de datos federada.
TYPE tipo-servidor
Especifica el tipo de fuente de datos indicada por nombre-servidor. Esta
opcin es necesaria para los reiniciadores DRDA, SQLNET y NET8.
Consulte Apndice F. Sistemas federados en la pgina 1411 para obtener
una lista de tipos de fuentes de datos soportados.
VERSION
Especifica la versin de la fuente de datos indicado por nombre-servidor.
versin
Especifica el nmero de versin. versin debe ser un entero.
release
Especifica el nmero de release de la versin indicada por versin.
release debe ser un entero.
mod
Especifica el nmero de la modificacin del release indicado por
release. mod debe ser un entero.
constante-serie-versin
Especifica la designacin completa de la versin. La
constante-serie-versin puede ser un solo valor (por ejemplo, 8i); o
puede ser los valores concatenados de versin, release y, si se aplica,
mod (por ejemplo, 8.0.3).
WRAPPER nombre-reiniciador
Nombra el reiniciador que el servidor federado utiliza para interactuar
con las fuentes de datos del tipo y versin indicados por tipo-servidor y
versin-servidor.
AUTHORIZATION nombre-autorizacin-remota
Especifica el ID de autorizacin bajo el cual se realiza cualquier accin
necesaria en la fuente de datos cuando se procesa la sentencia CREATE
SERVER. Este ID debe tener la autorizacin (BINDADD o su equivalente)
que las acciones necesarias necesitan.
PASSWORD contrasea
Especifica la contrasea asociada con el ID de autorizacin representado
por nombre-autorizacin-remota. Si no se especifica contrasea, se usa por
omisin la contrasea del ID que el usuario utiliz para conectarse a la
base de datos federada.
OPTIONS
Indica las opciones de servidor que se han de habilitar. Consulte
Opciones de servidor en la pgina 1415 para ver las descripciones de
nombre-opcin-servidor y sus valores.
ADD
Habilita una o varias opciones de servidor.
nombre-opcin-servidor
Nombra una opcin de servidor que se utilizar para configurar o
proporcionar informacin acerca de la fuente de datos indicada por
nombre-servidor.
constante-serie
Especifica un valor para nombre-opcin-servidor como una constante de
serie de caracteres.
Notas
v Si no se especifica nombre-autorizacin-remota, se utilizar el ID de
autorizacin para la base de datos federada.
v La contrasea debe especificarse en letras maysculas/minsculas que
necesite la fuente de datos; si alguna letra de la contrasea debe estar en
minsculas, entrecomille la contrasea. Si se especifica un identificador pero
no una contrasea, se supone que el tipo de autentificacin de la fuente de
datos indicada por nombre-servidor es CLIENT.
v Si se utiliza la sentencia CREATE SERVER para definir una instancia DB2
como fuente de datos, DB2 puede necesitar enlazar determinados paquetes
con esa instancia. Si es necesario un enlace, el nombre-autorizacin-remota de
la sentencia debe tener autorizacin para BIND. El tiempo necesario para
realizar el enlace depende de la velocidad de la fuente de datos y de la
velocidad de la conexin de red.
v Si una opcin de servidor se establece en un valor para un tipo de fuente
de datos y esta misma opcin se establece en otro valor para una instancia
de este tipo, el segundo valor prevalece sobre el primero para la instancia.
Por ejemplo, suponga que PASSWORD se establece en Y (s, validar
contraseas en la fuente de datos) para las fuentes de datos DB2 Universal
Database para OS/390 de un sistema federado. Ms tarde, se utiliza el valor
por omisin de esta opcin (N) para una fuente de datos DB2 Universal
Database para OS/390 especfica llamada SIBYL. Como resultado, las
contraseas se validarn en todas las fuentes de datos DB2 Universal
Database para OS/390 excepto en SIBYL.
Ejemplos
Ejemplo 1: Defina una fuente de datos de DB2 para MVS/ESA 4.1 que sea
accesible a travs de un reiniciador llamado DB2WRAP. Llame a la fuente de
datos CRANDALL. Adems, especifique que:
Ejemplo 2: Defina una fuente de datos Oracle 7.2 que se pueda acceder a
travs de un reiniciador llamado KLONDIKE. Llame a la fuente de datos
CUSTOMERS. Especifique que:
v CUSTOMERS est definida en la RDBMS de Oracle como una instancia
llamada ABC.
Proporcione estas estadsticas para el optimizador:
v La CPU para el servidor federado se ejecuta el doble de rpido que la CPU
que soporta CUSTOMERS.
v Los dispositivos de E/S del servidor federado procesan los datos 1,5 veces
ms rpido que los dispositivos de E/S de CUSTOMERS.
CREATE SERVER CUSTOMERS
TYPE ORACLE
VERSION 7.2
WRAPPER KLONDIKE
OPTIONS
( NODE 'ABC',
CPU_RATIO '2.0',
IO_RATIO '1.5' )
CREATE TABLE
La sentencia CREATE TABLE define una tabla. Esta definicin debe incluir el
nombre de la tabla y los nombres y atributos de sus columnas. Puede incluir
otros atributos de la tabla, como puede ser la clave primaria o restricciones de
comprobacin.
Invocacin
Esta sentencia se puede intercalar en un programa de aplicacin o se puede
emitir utilizando sentencias de SQL dinmicas. Es una sentencia ejecutable
que puede prepararse de forma dinmica. Sin embargo, si es aplicable la
opcin de enlace DYNAMICRULES BIND, la sentencia no se puede preparar
de forma dinmica (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener al menos uno de los
privilegios siguientes:
v Autorizacin SYSADM o DBADM
v Autorizacin CREATETAB para la base de datos y privilegio USE para el
espacio de tablas, y tambin uno de los elementos siguientes:
Autorizacin IMPLICIT_SCHEMA para la base de datos, si no existe el
nombre de esquema implcito ni explcito de la tabla
Privilegio CREATEIN para el esquema, si el nombre de esquema de la
tabla hace referencia a un esquema existente.
Sintaxis
CREATE TABLE nombre-tabla
SUMMARY
lista-elementos
OF nombre-tipo1
opciones-tabla-con-tipo
definicin-tabla-resumen
LIKE nombre-tabla1
nombre-vista opciones-copia
apodo
*
IN nombre-espacio-tablas1 opciones-espaciotablas
,
USING HASHING
PARTITIONING KEY ( columna )
REPLICATED
* *
NOT LOGGED INITIALLY
lista-elementos:
( definicin-columna )
restriccin-unicidad
restriccin-referencia
restriccin-comprobacin
opciones-tabla-con-tipo:
clusula-under:
lista-elementos-tipo:
,
( definicin-columna-OID )
opciones-with
restriccin-unicidad
restriccin-comprobacin
definicin-tabla-resumen:
( nombre-columna )
opciones-tabla-resumen:
DEFINITION ONLY
opciones-copia
opciones-tabla-renovables
opciones-copia:
* *
COLUMN
INCLUDING DEFAULTS
EXCLUDING
COLUMN ATTRIBUTES
EXCLUDING IDENTITY
*
COLUMN ATTRIBUTES
INCLUDING IDENTITY
opciones-tabla-renovables:
opciones-espaciotablas:
definicin-columna:
nombre-columna
(2) opciones-columna
tipo-datos
opciones-columna:
NOT NULL
(3)
opciones-lob
(4)
opciones-datalink
(5)
SCOPE nombre-tabla-tipo
nombre-vista-tipo
PRIMARY KEY
(6) UNIQUE
CONSTRAINT nombre-restriccin clusula-referencias
CHECK ( condicin-control )
(7)
espec-predefinida-columna
(8)
INLINE LENGTH entero
Notas:
1 Slo se puede especificar el espacio de tablas que contendr un ndice
de tabla cuando se crea la tabla.
2 Si la primera opcin de columna elegida es una especificacin
de columna generada, se puede omitir el tipo de datos. ste se
determinar a partir del tipo de datos resultante de la expresin de
generacin.
tipo-datos:
SMALLINT
INTEGER
INT
BIGINT
FLOAT
( entero )
REAL
PRECISION
DOUBLE
DECIMAL
DEC ( entero )
NUMERIC ,entero
NUM
CHARACTER
CHAR (entero) (1)
VARCHAR ( entero ) FOR BIT DATA
CHARACTER VARYING
CHAR
LONG VARCHAR
BLOB ( entero )
CLOB K
DBCLOB M
G
GRAPHIC
(entero)
VARGRAPHIC (entero)
LONG VARGRAPHIC
DATE
TIME
TIMESTAMP
DATALINK
( entero )
nombre-tipo-diferenciado
nombre-tipo-estructurado
REF (nombre-tipo2)
Notas:
1 La clusula FOR BIT DATA puede especificarse en orden aleatorio
con las restricciones de columna siguientes.
valores-omisin:
constante
registro-especial-fechahora
USER
NULL
funcin-conversin ( constante )
registro-especial-fechahora
USER
opciones-lob:
opciones-datalink:
NO LINK CONTROL
LINKTYPE URL
FILE LINK CONTROL opciones-enlace-archivo
MODE DB2OPTIONS
opciones-enlace-archivo:
* INTEGRITY ALL * READ PERMISSION FS
DB
* ON UNLINK RESTORE *
DELETE
espec-predefinida-columna:
clusula-predefinida
GENERATED ALWAYS AS clusula-identity
BY DEFAULT ( expresin-generacin )
clusula-identity:
IDENTITY
,
1
( START WITH constante-numrica )
1
INCREMENT BY constante-numrica
CACHE 20
NO CACHE
CACHE constante-entera
clusula-referencias:
( nombre-columna )
clusula-regla:
ON DELETE NO ACTION ON UPDATE NO ACTION
* * *
ON DELETE RESTRICT ON UPDATE RESTRICT
CASCADE
SET NULL
clusula-predefinida:
WITH
DEFAULT
valores-omisin
restriccin-unicidad:
,
UNIQUE ( nombre-columna )
CONSTRAINT nombre-restriccin PRIMARY KEY
restriccin-referencia:
FOREIGN KEY
(1)
CONSTRAINT nombre-restriccin
( nombre-columna ) clusula-referencias
restriccin-comprobacin:
CHECK ( condicin-control )
CONSTRAINT nombre-restriccin
definicin-columna-OID:
opciones-with:
nombre-columna WITH OPTIONS opciones-columna
Notas:
1 Por razones de compatibilidad con la Versin 1, el nombre-
restriccin puede especificarse seguido de FOREIGN KEY (sin la palabra
clave CONSTRAINT).
Descripcin
SUMMARY
Indica que se va a definir una tabla de resumen. La palabra clave es
opcional, pero si se especifica, la sentencia debe incluir una
definicin-tabla-resumen (SQLSTATE 42601).
nombre-tabla
Indica el nombre de la tabla. El nombre, incluido el calificador implcito o
explcito, no debe designar una tabla, vista o seudnimo descritos en el
catlogo. El nombre de esquema no debe ser SYSIBM, SYSCAT, SYSFUN
ni SYSSTAT (SQLSTATE 42939).
OF nombre-tipo1
Especifica que las columnas de la tabla estn basadas en los atributos del
tipo estructurado identificado por nombre-tipo1. Si se especifica
nombre-tipo1 sin un nombre de esquema, el nombre de tipo se resuelve
efectuando una bsqueda en los esquemas de la va de acceso de SQL
(definida por la opcin de preproceso FUNCPATH en el caso del SQL
esttico y por el registro CURRENT PATH en el caso de SQL dinmicas).
El nombre de tipo debe ser el nombre de un tipo existente definido por el
usuario (SQLSTATE 42704) y debe ser un tipo estructurado del que se
puede crear una instancia (SQLSTATE 428DP), con al menos un atributo
(SQLSTATE 42997).
Si no se especifica UNDER, debe especificarse una columna de
identificador de objeto (consulte la definicin-columna-OID). Esta columna
de identificador de objeto es la primera columna de la tabla. La columna
del ID de objeto va seguida de columnas basadas en los atributos de
nombre-tipo1.
HIERARCHY nombre-jerarqua
Indica la tabla de jerarqua asociada con la jerarqua de tabla. Se crea a la
vez que la tabla raz de la jerarqua. Los datos para todas las subtablas en
definicin-tabla-resumen
Si la definicin de tabla se basa en el resultado de una consulta, la tabla es
una tabla de resumen basada en la consulta.
nombre-columna
Designa las columnas de la tabla. Si se especifica una lista de nombres
de columna, sta debe constar de tantos nombres como columnas
haya en la tabla resultante de la seleccin completa. Cada
nombre-columna debe ser exclusivo y no calificado. Si no se especifica
una lista de nombres de columnas, las columnas de la tabla heredan
los nombres de las columnas de la tabla resultante de la seleccin
completa.
Debe especificarse una lista de nombres de columna si la tabla
resultante de la seleccin completa tiene nombres de columna
duplicados o una columna sin nombre (SQLSTATE 42908). Una
columna sin nombre es una columna derivada de una constante,
funcin, expresin u operacin de conjuntos que no se designa
utilizando la clusula AS de la lista de seleccin.
AS
Introduce la consulta que se utiliza para la definicin de la tabla y
para determinar los datos incluidos en la tabla.
seleccin completa
Define la consulta en la que se basa la tabla. Las definiciones de
columna resultantes son las mismas que las de una vista definida con
la misma consulta.
Cada elemento de la lista de seleccin debe tener un nombre (utilice la
clusula AS para las expresiones; vea la pgina clusula-select en la
pgina 473 para obtener detalles). Las opciones-tabla-resumen
especificadas definen los atributos de la tabla de resumen. La opcin
elegida tambin define el contenido de la seleccin completa de la
manera siguiente.
Cuando se especifica DEFINITION ONLY, puede especificarse
cualquier seleccin completa vlida que no haga referencia a una tabla
con tipo o a una vista con tipo.
Cuando se especifica REFRESH DEFERRED o REFRESH IMMEDIATE,
la seleccin completa no puede incluir (SQLSTATE 428EC):
v referencias a un apodo, una tabla de resumen, una tabla temporal
declarada o una tabla con tipo en ninguna clusula FROM
v referencias a una vista donde la seleccin completa de la vista viola
cualquiera de las restricciones listadas en la seleccin completa de
la tabla de resumen
v expresiones que sean un tipo de referencia o un tipo DATALINK (o
tipos diferenciados basados en estos tipos)
nombre-columna
Es el nombre de una columna de la tabla. El nombre no puede estar
calificado y no se puede utilizar el mismo nombre para ms de una
columna de la tabla.
Una tabla puede tener las caractersticas siguientes:
v un tamao de pgina de 4K con un mximo de 500 columnas en
que la suma de las cuentas de bytes de las columnas no debe ser
superior a 4005 en un tamao de pgina de 4K. Consulte el
Tamao de fila en la pgina 885 para obtener ms detalles.
v un tamao de pgina de 8K con un mximo de 1012 columnas en
que la suma de las cuentas de bytes de las columnas no debe ser
superior a 8101. Consulte el Tamao de fila en la pgina 885 para
obtener ms detalles.
v un tamao de pgina de 16K con un mximo de 1.012 columnas en
que la suma de las cuentas de bytes de las columnas no debe ser
superior a 16.293.
v un tamao de pgina de 32K con un mximo de 1.012 columnas en
que la suma de las cuentas de bytes de las columnas no debe ser
superior a 32.677.
tipo-datos
Se trata de uno de los tipos de la lista siguiente. Utilice:
SMALLINT
Para especificar un entero pequeo.
INTEGER o INT
Para especificar un entero grande.
BIGINT
Para especificar un entero superior.
FLOAT(entero)
Para especificar un nmero de coma flotante de precisin simple o
doble, en funcin del valor del entero. El valor del entero debe
estar en el rango 1-53. Los valores 1 a 24 indican precisin simple
y los valores 25 a 53 indican precisin doble.
Tambin puede especificar:
REAL Para especificar un valor de coma
flotante de precisin simple.
DOUBLE Para especificar coma flotante de
precisin doble.
DOUBLE-PRECISION Para especificar coma flotante de
precisin doble.
FLOAT Para especificar coma flotante de
precisin doble.
75. Cuando se proporciona un mltiplo de K, M o G que da como clculo 2 147 483 648, el valor real que se utiliza es
2 147 483 647 (o 2 gigabytes menos 1 byte), que es la longitud mxima para una columna LOB.
76. Tenga en cuenta que no es posible especificar la clusula FOR BIT DATA para las columnas CLOB. No obstante, se
puede asignar una serie CHAR FOR BIT DATA a una columna CLOB y se puede concatenar una serie CHAR FOR
BIT DATA con la serie CLOB.
TIME
Para la hora.
TIMESTAMP
Para la indicacin horaria.
DATALINK o DATALINK(entero)
Para un enlace con datos almacenados fuera de la base de datos.
La columna de la tabla consta de valores ancla que contienen la
informacin de referencia que se necesita para establecer y
mantener el enlace con los datos externos as como un comentario
opcional.
La longitud de una columna DATALINK es de 200 bytes. Si se
especifica entero, debe ser 200. Si se omite la especificacin de
longitud, se supone una longitud de 200 bytes.
Un valor DATALINK es un valor encapsulado con un conjunto de
funciones escalares incorporadas. Hay una funcin denominada
DLVALUE que sirve para crear un valor DATALINK. Pueden
utilizarse las funciones siguientes para extraer atributos de un
valor DATALINK.
v DLCOMMENT
v DLLINKTYPE
v DLURLCOMPLETE
v DLURLPATH
v DLURLPATHONLY
v DLURLSCHEME
v DLURLSERVER
NO
Especifica que no se va a dar soporte a la
recuperacin puntual en el tiempo.
ON UNLINK
Especifica la accin realizada en un archivo cuando se
cambia o se suprime un valor DATALINK (desenlace).
Tenga en cuenta que esto no se puede aplicar cuando se
utiliza WRITE PERMISSION FS.
RESTORE
Especifica que cuando se desenlace un archivo,
DataLinks File Manager intentar devolver el archivo
al propietario con los permisos que existan en el
momento en que se ha enlazado el archivo. Si el
usuario ya no est registrado en el servidor de
archivos, el resultado es especfico de cada producto.
77 Esto slo puede especificarse si tambin se
77. En DB2 Universal Database, el archivo se asigna a un id de usuario especial predefinido, dfmunknown.
78. El identificador est formado por SQL seguido de una secuencia de 15 caracteres numricos, generados por una
funcin basada en la fecha y la hora.
NULL
Especifica NULL como valor por omisin para la
columna. Si se ha especificado NOT NULL, puede
especificarse DEFAULT NULL en la misma definicin
de columna, pero se producir un error si se intenta
establecer la columna en el valor por omisin.
funcin-conversin
Esta forma de valor por omisin slo puede utilizarse
con las columnas definidas como tipo de datos
diferenciado, BLOB o de fecha y hora (DATE, TIME o
TIMESTAMP). Para el tipo diferenciado, a excepcin
de los tipos diferenciados basados en tipos BLOB o de
fecha y hora, el nombre de la funcin debe coincidir
con el nombre del tipo diferenciado de la columna. Si
est calificado con un nombre de esquema, debe ser el
mismo que el nombre de esquema del tipo
diferenciado. Si no est calificado, el nombre de
esquema procedente de la resolucin de la funcin
debe ser el mismo que el nombre de esquema del tipo
diferenciado. Para un tipo diferenciado basado en un
tipo de fecha y hora, en el que el valor por omisin es
una constante, debe utilizarse una funcin y el
nombre de sta debe coincidir con el nombre del tipo
fuente del tipo diferenciado, con un nombre de
esquema implcito o explcito de SYSIBM. Para las
dems columnas de fecha y hora, tambin puede
utilizarse la correspondiente funcin de fecha y hora.
Para un BLOB o tipo diferenciado basado en BLOB,
debe utilizarse una funcin, y el nombre de la funcin
debe ser BLOB, junto con SYSIBM como nombre de
esquema implcito o explcito. Para ver un ejemplo de
la utilizacin de la funcin de conversin, consulte
596.
constante
Especifica una constante como argumento. La
constante debe cumplir las reglas de una constante
para el tipo fuente del tipo diferenciado, o para el
tipo de datos si no se trata de un tipo
diferenciado. Si la funcin-conversin es BLOB, la
constante debe ser una constante de cadena de
caracteres.
registro-especial-fechahora
Especifica CURRENT DATE, CURRENT TIME o
CURRENT TIMESTAMP. El tipo fuente del tipo
79. Las columnas de identidad no estn soportadas en una base de datos con varias particiones (SQLSTATE 42997).
No se puede crear una columna de identidad si la base de datos tiene ms de una particin. Si una base de datos
contiene alguna columna de identidad, la base de datos no se podr iniciar con ms de una particin.
80. Se considera que son tipos numricos exactos SMALLINT, INTEGER, BIGINT o DECIMAL con una escala 0, o un
tipo diferenciado basado en uno de estos tipos. En cambio, las comas flotantes de precisin simple y doble se
consideran tipos de datos numricos aproximados. Los tipos de referencia, aunque estn representados por un tipo
numrico exacto, no se pueden definir como columnas de identidad.
81. Si una base de datos no se activa explcitamente (utilizando la API o el mandato ACTIVATE), se produce una
desactivacin implcita cuando se desconecta de la base de datos la ltima aplicacin.
AS (expresin-generacin)
Especifica que la definicin de la columna est basada en una
expresin.82 La expresin-generacin no puede contener ninguno
de los elementos siguientes (SQLSTATE 42621):
v subconsultas
v funciones de columna
v operaciones de desreferencia o funciones DEREF
v funciones no deterministas definidas por el usuario o
incorporadas
v funciones definidas por el usuario mediante la opcin
EXTERNAL ACTION
v funciones definidas por el usuario mediante la opcin
SCRATCHPAD
v funciones definidas por el usuario mediante la opcin
READS SQL DATA
v variables del lenguaje principal o marcadores de parmetros
v registros especiales
v referencias a columnas que aparecen definidas ms adelante
en la lista de columnas
v referencias a otras columnas generadas
82. Si la expresin correspondiente a una columna definida como GENERATED ALWAYS incluye una funcin externa
definida por el usuario, la modificacin del archivo ejecutable de la funcin (por ejemplo, cambio de los resultados
correspondientes a unos argumentos determinados) puede originar datos incoherentes. Esto se puede evitar
utilizando la sentencia SET INTEGRITY para forzar la generacin de nuevos valores.
definicin-columna-OID
Define la columna de identificador de objeto para la tabla con
tipo.
REF IS nombre-columna-OID USER GENERATED
Especifica que en la tabla se define una columna de
identificador de objeto (OID) como la primera columna. Se
necesita un OID para la tabla raz de una jerarqua de tablas
(SQLSTATE 428DX). La tabla debe ser una tabla con tipo
(debe estar presente la clusula OF) que no sea una subtabla
(SQLSTATE 42613). El nombre de la columna se define como
nombre-columna-OID y no puede ser el mismo que el nombre
de cualquier atributo del tipo estructurado nombre-tipo1
(SQLSTATE 42711). La columna se define con el tipo
REF(nombre-tipo1), NOT NULL y se genera un ndice de
unicidad requerido por el sistema (con un nombre de ndice
por omisin). Esta columna viene referida como la columna de
identificador de objeto o columna de OID. Las palabras clave
USER GENERATED indican que el usuario debe proporcionar
el valor inicial de la columna de OID cuando inserte una fila.
Una vez que se haya insertado una fila, la columna de OID no
podr actualizarse (SQLSTATE 42808).
opciones-with
Define opciones adicionales que se aplican a las columnas de una
tabla con tipo.
nombre-columna
Especifica el nombre de la columna para la que se especifican
las opciones adicionales. El nombre-columna debe corresponder
al nombre de una columna de la tabla que no sea adems una
columna de una supertabla (SQLSTATE 428DJ). Slo puede
aparecer un nombre de columna en una clusula WITH
OPTIONS de la sentencia (SQLSTATE 42613).
Si ya est especificada una opcin como parte de la definicin
de tipo (en CREATE TYPE), las opciones especificadas aqu
alteran temporalmente las opciones de CREATE TYPE.
WITH OPTIONS opciones-columna
Define opciones para la columna especificada. Consulte el
valor opciones-columna descrito anteriormente. Si la tabla es
una subtabla, no pueden especificarse restricciones de
unicidad ni de clave primaria (SQLSTATE 429B3).
DATA CAPTURE
Indica si se ha de anotar en la anotacin cronolgica informacin
84. o modificando, en caso de que se haga referencia a esta clusula en la descripcin de la sentencia ALTER TABLE.
DELETE FROM V1
REAL 4
DOUBLE 8
DECIMAL Parte entera de (p/2)+1, donde p es la
precisin.
CHAR(n) n
VARCHAR(n) n+4
LONG VARCHAR 24
GRAPHIC(n) n*2
VARGRAPHIC(n) (n*2)+4
LONG VARGRAPHIC 24
DATE 4
TIME 3
TIMESTAMP 10
DATALINK(n) n+54
Tipos LOB Cada valor LOB tiene un descriptor LOB en
el registro base que apunta a la ubicacin
del valor real. El tamao de dicho
descriptor vara en funcin de la longitud
mxima que se haya definido para la
columna. En la tabla siguiente se muestran
los tamaos habituales:
Longitud mx. LOB Tam. descriptor LOB
1 024 72
8 192 96
65 536 120
524 000 144
4 190 000 168
134 000 000 200
536 000 000 224
1 070 000 000 256
1 470 000 000 280
2 147 483 647 316
Tipo diferenciado Longitud del tipo fuente del tipo
diferenciado.
Tipo de referencia Longitud del tipo de datos incorporado en
el que est basado el tipo de referencia.
Tipo estructurado El valor INLINE LENGTH + 4. INLINE
LENGTH es el valor especificado (o
o
CREATE TABLE SALARY1 .....
DATA CAPTURE NONE
Ejemplo 10: Cree una tabla y anote cronolgicamente los cambios SQL en un
formato expandido.
CREATE TABLE SALARY2 .....
DATA CAPTURE CHANGES
Ejemplo 12: Cree una tabla que vaya a contener informacin sobre goles
famosos para el hall of fame del hockey sobre hielo. La tabla listar
informacin sobre el jugador que marc el gol, el portero contra el que lo
marc, la fecha y el lugar, as como una descripcin. Cuando se disponga de
ello, tambin sealar los lugares en que se almacenan artculos de prensa
sobre el partido e imgenes del gol fijas y en movimiento. Los artculos de
prensa van a enlazarse, por lo que no pueden suprimirse ni renombrarse, pero
deben seguir funcionando todas las aplicaciones de actualizacin y
visualizacin existentes. Las imgenes fijas y en movimiento van a enlazarse
con acceso bajo el control completo de DB2. Las imgenes fijas tendrn
recuperacin y se devolvern al propietario original si se desenlazan. Las
imgenes en movimiento no tendrn recuperacin y se suprimirn si se
desenlazan. La columna de descripcin y las tres columnas DATALINK tienen
posibilidad de nulos.
CREATE TABLE HOCKEY_GOALS
( BY_PLAYER VARCHAR(30) NOT NULL,
BY_TEAM VARCHAR(30) NOT NULL,
AGAINST_PLAYER VARCHAR(30) NOT NULL,
AGAINST_TEAM VARCHAR(30) NOT NULL,
DATE_OF_GOAL DATE NOT NULL,
DESCRIPTION CLOB(5000),
ARTICLES DATALINK LINKTYPE URL FILE LINK CONTROL MODE DB2OPTIONS,
SNAPSHOT DATALINK LINKTYPE URL FILE LINK CONTROL
INTEGRITY ALL
READ PERMISSION DB WRITE PERMISSION BLOCKED
RECOVERY YES ON UNLINK RESTORE,
MOVIE DATALINK LINKTYPE URL FILE LINK CONTROL
INTEGRITY ALL
READ PERMISSION DB WRITE PERMISSION BLOCKED
RECOVERY NO ON UNLINK DELETE )
Ejemplo 13: Supongamos que se necesita una tabla de excepcin para la tabla
EMPLOYEE. Se puede crear una utilizando la sentencia siguiente.
CREATE TABLE EXCEPTION_EMPLOYEE AS
(SELECT EMPLOYEE.*,
CURRENT TIMESTAMP AS TIMESTAMP,
CAST ('' AS CLOB(32K)) AS MSG
FROM EMPLOYEE
) DEFINITION ONLY
Ejemplo 14: Supongamos los espacios de tablas siguientes que tienen los
atributos indicados:
TBSPACE PAGESIZE USER USERAUTH
------------------ ----------- ------ --------
DEPT4K 4096 BOBBY S
PUBLIC4K 4096 PUBLIC S
DEPT8K 8192 BOBBY S
DEPT8K 8192 RICK S
PUBLIC8K 8192 PUBLIC S
v Si RICK crea la tabla siguiente, se colocar en el espacio de tablas
PUBLIC4K, pues el nmero de bytes es menor que 4005; pero si BOBBY
crea la misma tabla, se colocar en el espacio de tablas DEPT4K, pues
BOBBY tiene un privilegio USE otorgado explcitamente:
CREATE TABLE DOCUMENTS
(SUMMARY VARCHAR(1000),
REPORT VARCHAR(2000))
v Si BOBBY crea la tabla siguiente, se colocar en el espacio de tablas
DEPT8K, pues el nmero de bytes es mayor que 4005, y BOBBY tiene un
privilegio USE otorgado explcitamente. En cambio, si DUNCAN crea la
misma tabla, se colocar en el espacio de tablas PUBLIC8K, pues DUNCAN
no tiene ningn privilegio especfico:
CREATE TABLE CURRICULUM
(SUMMARY VARCHAR(1000),
REPORT VARCHAR(2000),
EXERCISES VARCHAR(1500))
Ejemplo 15: Creacin de una tabla que tiene una columna LEAD definida con
el tipo estructurado EMP. Especifique 300 bytes para el valor INLINE
LENGTH de la columna LEAD, lo cual significa que cualquier instancia de
LEAD que no pueda caber dentro de los 300 bytes se almacenar fuera de la
tabla (separadamente de la fila de la tabla base, de forma similar a como se
manejan los valores LOB).
CREATE TABLE PROJECTS (PID INTEGER,
LEAD EMP INLINE LENGTH 300,
STARTDATE DATE,
...)
Ejemplo 16: Creacin de una tabla DEPT, con cinco columnas llamadas
DEPTNO, DEPTNAME, MGRNO, ADMRDEPT y LOCATION. La columna
DEPT debe definirse como columna de identidad para que DB2 genere
siempre un valor para ella. Los valores de la columna DEPT deben comenzar
en 500 y aumentar segn incrementos de 1.
CREATE TABLE DEPT
(DEPTNO SMALLINT NOT NULL
GENERATED ALWAYS AS IDENTITY
(START WITH 500, INCREMENT BY 1),
DEPTNAME VARCHAR (36) NOT NULL,
MGRNO CHAR(6),
ADMRDEPT SMALLINT NOT NULL,
LOCATION CHAR(30))
CREATE TABLESPACE
La sentencia CREATE TABLESPACE crea un nuevo espacio de tablas dentro
de la base de datos, asigna contenedores al espacio de tablas y registra la
definicin y los atributos del espacio de tablas en el catlogo.
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o emitirse de
forma interactiva. Se trata de una sentencia ejecutable que puede prepararse
de forma dinmica. Sin embargo, si es aplicable la opcin de enlace
DYNAMICRULES BIND, la sentencia no se puede preparar de forma
dinmica (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener la autorizacin SYSCTRL o
SYSADM.
Sintaxis
REGULAR
CREATE TABLESPACE nombre-espacio-tablas
LONG
SYSTEM
TEMPORARY
USER
PAGESIZE 4096
NODEGROUP PAGESIZE entero
IN nombre-gruponodos K
EXTENTSIZE nmero-de-pginas PREFETCHSIZE nmero-de-pginas
entero K entero K
M M
G G
BUFFERPOOL nombre-agrupalmacinter 24,1
OVERHEAD nmero-de-milisegundos
0,9 DROPPED TABLE RECOVERY ON
TRANSFERRATE nmero-de-milisegundos OFF
contenedores-sistema:
USING ( serie-contenedor )
clusula-on-nodes
contenedores-basedatos:
USING clusula-contenedor
clusula-on-nodes
clusula-contenedor:
clusula-on-nodes:
,
ON NODE ( nmero-nodo1 )
NODES TO nmero-nodo2
Descripcin
REGULAR
Almacena todos los datos salvo las tablas temporales.
LONG
Almacena columnas de tabla largas o de tipo LOB. Tambin puede
contener columnas de tipo estructurado. El espacio de tablas debe ser un
espacio de tablas DMS.
SYSTEM TEMPORARY
Almacena tablas temporales (son reas de trabajo que el gestor de bases
de datos utiliza para realizar operaciones tales como clasificaciones o
uniones). La palabra clave SYSTEM es opcional. Observe que una base de
datos debe tener siempre como mnimo un espacio de tablas SYSTEM
TEMPORARY, pues las tablas temporales slo pueden almacenarse en esa
clase de espacio de tablas. Un espacio de tablas temporal se crea
automticamente cuando se crea una base de datos.
Vea CREATE DATABASE en el manual Consulta de mandatos para obtener
ms informacin.
USER TEMPORARY
Almacena tablas temporales globales declaradas. Observe que cuando se
crea una base de datos no existe ningn espacio de tablas temporal de
usuario. Debe crearse como mnimo un espacio de tablas temporal de
usuario, con los privilegios USE apropiados, para poder definir tablas
temporales declaradas.
nombre-espacio-tablas
Designa el espacio de tablas. Es un nombre que consta de una sola parte.
Es un identificador de SQL (ordinario o delimitado). El
nombre-espacio-tablas no debe identificar un espacio de tablas que ya exista
en el catlogo (SQLSTATE 42710). El nombre-espacio-tablas no debe empezar
por los caracteres SYS (SQLSTATE 42939).
IN NODEGROUP nombre-gruponodos
Especifica el grupo de nodos del espacio de tablas. El grupo de nodos
debe existir. El nico grupo de nodos que se puede especificar al crear un
espacio de tablas SYSTEM TEMPORARY es IBMTEMPGROUP. La palabra
clave NODEGROUP es opcional.
Si no se especifica el grupo de nodos, se utiliza el grupo de nodos por
omisin (IBMDEFAULTGROUP) para los espacios de tablas REGULAR,
LONG y USER TEMPORARY. Para los espacios de tablas SYSTEM
TEMPORARY, se utiliza el grupo de nodos por omisin
IBMTEMPGROUP.
PAGESIZE entero [K]
Define el tamao de las pginas utilizadas para el espacio de tablas. Los
valores vlidos de entero sin el sufijo K son 4 096, 8 192, 16 384 32 768.
Los valores vlidos de entero con el sufijo K son 4, 8, 16 32. Se produce
un error si el tamao de pgina no es uno de estos valores (SQLSTATE
428DE) o no es igual al tamao de pgina de la agrupacin de
almacenamientos intermedios del espacio de tablas (SQLSTATE 428CB). El
valor por omisin es pginas de 4 096 bytes (4K). Se permite cualquier
nmero de espacios entre entero y K, incluso ningn espacio.
MANAGED BY SYSTEM
Especifica que el espacio de tablas ser un espacio gestionado por el
sistema (SMS).
contenedores-sistema
Especifique los contenedores para un espacio de tablas SMS.
USING (serie-contenedor,...)
En un espacio de tablas SMS, identifica uno o varios contenedores que
pertenecern al espacio de tablas y en los que se almacenarn los
datos del espacio de tablas. La serie-contenedor no puede sobrepasar los
240 bytes de longitud.
Cada serie-contenedor puede ser un nombre de directorio absoluto o
relativo. El nombre de directorio, si no es absoluto, ser relativo al
directorio de la base de datos. Si algn componente del nombre de
directorio no existe, el gestor de bases de datos lo crea. Cuando se
elimina un espacio de tablas, se suprimen todos los componentes
creados por el gestor de bases de datos. Si existe el directorio
identificado por serie-contenedor, ste no debe contener archivos ni
subdirectorios (SQLSTATE 428B2).
El formato de serie-contenedor es dependiente del sistema operativo. El
sistema operativo especifica los contenedores de la manera habitual.
Por ejemplo, una va de acceso de directorio OS/2 Windows 95 y
Windows NT empieza por una letra de unidad seguida de :,
mientras que en los sistemas basados en UNIX, una va de acceso
empieza por /.
Observe que no se da soporte a recursos remotos (por ejemplo,
unidades redirigidas de LAN en OS/2, Windows 95 y Windows NT o
sistemas de archivos montados NFS en AIX).
clusula-on-nodes
Especifica la particin o las particiones en las que se crean los
contenedores en una base de datos particionada. Si no se especifica
esta clusula, los contenedores se crean en las particiones del grupo
de nodos que no estn especificadas explcitamente en ninguna otra
clusula-on-nodes. Para un espacio de tablas SYSTEM TEMPORARY
definido en el grupo de nodos IBMTEMPGROUP, cuando no se
especifica la clusula-on-nodes, los contenedores tambin se crearn en
todas las nuevas particiones (nodos) aadidas a la base de datos. Vea
la pgina 898 para obtener detalles sobre la especificacin de esta
clusula.
MANAGED BY DATABASE
Especifica que el espacio de tablas ser un espacio gestionado por la base
de datos (espacio de tablas DMS).
contenedores-basedatos
Especifique los contenedores para un espacio de tablas DMS.
USING
Introduce una clusula-contenedor.
clusula-contenedor
Especifica los contenedores para un espacio de tablas DMS.
(FILE|DEVICE serie-contenedor nmero-de-pginas,...)
Para un espacio de tablas DMS, identifica uno o ms contenedores
que pertenecern al espacio de tablas y donde se almacenarn los
datos del espacio de tablas. Se especifican el tipo del contenedor
(FILE o DEVICE) y su tamao (en pginas de PAGESIZE). El
tamao tambin puede especificarse como un valor entero seguido
de K (para kilobytes), M (para megabytes) o G (para gigabytes). Si
se especifica de esta manera, el nivel mnimo del nmero de bytes
dividido por el tamao de pgina se utiliza para determinar el
nmero de pginas para el contenedor. Se puede especificar una
mezcla de contenedores FILE y DEVICE. La serie-contenedor no
puede sobrepasar los 254 bytes de longitud.
En un contenedor FILE, la serie-contenedor debe ser un nombre de
archivo relativo o absoluto. El nombre de archivo, si no es
absoluto, ser relativo al directorio de la base de datos. Si algn
componente del nombre de directorio no existe, el gestor de bases
de datos lo crea. Si el archivo no existe, se crear e inicializar con
el tamao especificado por el gestor de bases de datos. Cuando se
elimina un espacio de tablas, se suprimen todos los componentes
creados por el gestor de bases de datos.
Ejemplo 1:
CREATE TABLESPACE TS1 MANAGED BY DATABASE USING
(device '/dev/rcont $N' 20000)
/dev/rcont0 - on NODE 0
/dev/rcont1 - on NODE 1
Ejemplo 2:
CREATE TABLESPACE TS2 MANAGED BY DATABASE USING
(file '/DB2/containers/TS2/container $N+100' 10000)
/DB2/containers/TS2/container100 - on NODE 0
/DB2/containers/TS2/container101 - on NODE 1
/DB2/containers/TS2/container102 - on NODE 2
/DB2/containers/TS2/container103 - on NODE 3
Ejemplo 3:
CREATE TABLESPACE TS3 MANAGED BY SYSTEM USING
('/TS3/cont $N%2','/TS3/cont $N%2+2')
/TS3/cont0 - On NODE 0
/TS3/cont2 - On NODE 0
/TS3/cont1 - On NODE 1
/TS3/cont3 - On NODE 1
Ejemplos
Ejemplo 1: Cree un espacio de tablas DMS normal en un sistema basado en
UNIX que utiliza 3 dispositivos de 10 000 pginas de 4K cada una.
Especifique sus caractersticas de E/S.
CREATE TABLESPACE PAYROLL
MANAGED BY DATABASE
USING (DEVICE'/dev/rhdisk6' 10000,
DEVICE '/dev/rhdisk7' 10000,
DEVICE '/dev/rhdisk8' 10000)
OVERHEAD 24.1
TRANSFERRATE 0.9
CREATE TRANSFORM
La sentencia CREATE TRANSFORM define funciones de transformacin,
identificadas por un nombre de grupo, que se utilizan para intercambiar
valores de tipo estructurado con programas del lenguaje principal y con
funciones y mtodos externos.
Invocacin
Esta sentencia se puede intercalar en un programa de aplicacin o se puede
emitir utilizando sentencias de SQL dinmicas. Es una sentencia ejecutable
que puede prepararse de forma dinmica. Sin embargo, si es aplicable la
opcin de enlace DYNAMICRULES BIND, la sentencia no se puede preparar
de forma dinmica (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener al menos uno de los
siguientes privilegios:
v Autorizacin SYSADM o DBADM
v Definidor del tipo identificado por nombre-tipo y definidor de cada funcin
especificada.
Sintaxis
CREATE TRANSFORM FOR nombre-tipo
TRANSFORMS
,
(1)
nombre-grupo ( TO SQL WITH especificacin-funcin )
FROM SQL
especificacin-funcin:
FUNCTION nombre-funcin
( )
,
tipo-datos
SPECIFIC FUNCTION nombre-especfico
Notas:
1 Una misma clusula no se debe especificar ms de una vez.
Descripcin
TRANSFORM o TRANSFORMS
Indica que se estn definiendo uno o ms grupos de transformacin. Se
puede especificar cualquiera de las dos versiones de la palabra clave.
FOR nombre-tipo
Especifica un nombre para el tipo estructurado definido por el usuario
para el cual se define el grupo de transformacin.
En las sentencias de SQL dinmicas, el registro especial CURRENT
SCHEMA se utiliza como calificador para un nombre-tipo no calificado. En
las sentencias de SQL estticas, la opcin de precompilacin/enlace
QUALIFIER especifica implcitamente el calificador para un nombre-tipo no
calificado. El nombre-tipo debe ser el nombre de un tipo existente definido
por el usuario (SQLSTATE 42704) y debe ser un tipo estructurado
(SQLSTATE 42809). El tipo estructurado o cualquier otro tipo estructurado
incluido en la misma jerarqua de tipos no debe tener transformaciones ya
definidas con el nombre-grupo proporcionado (SQLSTATE 42739).
nombre-grupo
Especifica el nombre del grupo de transformacin donde residen las
funciones TO SQL y FROM SQL. No es necesario que el nombre sea
exclusivo, pero si un grupo de transformacin tiene este nombre (con la
misma instruccin TO SQL y/o FROM SQL definida), no debe estar
definido previamente para el nombre-tipo especificado (SQLSTATE 42739).
Un nombre-grupo debe ser un identificador SQL, con una longitud mxima
de 18 caracteres (SQLSTATE 42622) y no puede contener ningn prefijo
calificador (SQLSTATE 42601). El nombre-grupo no puede comenzar con el
prefijo 'SYS', pues ste est reservado para su uso por la base de datos
(SQLSTATE 42939).
Como mximo, se puede especificar una de las clases siguientes de
funciones FROM SQL y TO SQL para un grupo dado cualquiera
(SQLSTATE 42628).
TO SQL
Define la funcin especfica que se utiliza para transformar un valor al
formato del tipo estructurado SQL definido por el usuario. La funcin
debe tener todos sus parmetros como tipos de datos incorporados y el
tipo devuelto es nombre-tipo.
FROM SQL
Define la funcin especfica que se utiliza para transformar un valor a un
tipo de datos incorporado representativo del tipo estructurado SQL
definido por el usuario. La funcin debe tener un parmetro del tipo de
datos nombre-tipo y devolver un tipo de datos incorporado (o conjunto de
tipos de datos incorporados).
WITH especificacin-funcin
Hay varias maneras de especificar la instancia de funcin.
Si se especifica FROM SQL, la especificacin-funcin debe identificar una
funcin que cumpla los requisitos siguientes:
v existe un parmetro del tipo nombre-tipo
v el tipo devuelto es un tipo incorporado o una fila cuyas columnas todas
tienen tipos incorporados
v la signatura especifica LANGUAGE SQL o la utilizacin de otra
transformacin FROM SQL que est definida con LANGUAGE SQL.
Ejemplos
Ejemplo 1: Creacin de dos grupos de transformacin que asocian el tipo
estructurado POLYGON definido por el usuario con una funcin de
transformacin personalizada para C y una especializada para Java.
CREATE TRANSFORM FOR POLYGON
mystruct1 (FROM SQL WITH FUNCTION myxform_sqlstruct,
TO SQL WITH FUNCTION myxform_structsql)
myjava1 (FROM SQL WITH FUNCTION myxform_sqljava,
TO SQL WITH FUNCTION myxform_javasql )
CREATE TRIGGER
La sentencia CREATE TRIGGER define un desencadenante en una base de
datos.
Invocacin
Esta sentencia se puede intercalar en un programa de aplicacin o se puede
emitir utilizando sentencias de SQL dinmicas. Es una sentencia ejecutable
que puede prepararse de forma dinmica. Sin embargo, si es aplicable la
opcin de enlace DYNAMICRULES BIND, la sentencia no se puede preparar
dinmicamente (SQLSTATE 42509).
Autorizacin
Cuando se crea el desencadenante, el ID de autorizacin de la sentencia debe
tener como mnimo uno de los privilegios siguientes:
v Autorizacin SYSADM o DBADM.
v Privilegio ALTER para la tabla donde est definido el desencadenante, o el
privilegio ALTERIN para el esquema de la tabla donde est definido el
desencadenante y uno de los elementos siguientes:
Autorizacin IMPLICIT_SCHEMA para la base de datos, si no existe el
nombre de esquema implcito ni explcito del desencadenante.
Privilegio CREATEIN para el esquema, si el nombre de esquema del
desencadenante hace referencia a un esquema existente.
INSERT ON nombre-tabla
DELETE
UPDATE
,
OF nombre-columna
(1) (2) AS
REFERENCING OLD nombre-correlacin
AS
NEW nombre-correlacin
AS
OLD_TABLE identificador
AS
NEW_TABLE identificador
accin-activada:
sentencia-procedimiento-SQL
WHEN ( condicin-bsqueda )
Notas:
1 Puede especificarse OLD y NEW slo una vez cada uno.
2 Puede especificarse OLD_TABLE y NEW_TABLE slo una vez cada uno
para los desencadenantes AFTER.
3 Es posible no especificar FOR EACH STATEMENT para
los desencadenantes BEFORE.
Descripcin
nombre-desencadenante
Indica el nombre del desencadenante. El nombre, incluido el nombre de
esquema implcito o explcito, no debe designar un desencadenante que
ya est descrito en el catlogo (SQLSTATE 42710). Si se especifica un
nombre compuesto de dos partes, el nombre de esquema no puede
empezar por SYS (SQLSTATE 42939).
NO CASCADE BEFORE
Especifica que la accin activada asociada se debe aplicar antes de aplicar
a la base de datos los cambios ocasionados por la actualizacin real de la
sentencia-procedimiento-SQL
La sentencia-procedimiento-SQL puede contener una sentencia dinmica
compuesta o cualquiera de las sentencias de control de SQL listadas
en el apartado SQL compuesto (dinmico) en la pgina 642.
Si el desencadenante es un desencadenante BEFORE, una
sentencia-procedimiento-SQL tambin puede incluir uno de los
elementos siguientes:
v una seleccin completa85
v una sentencia SET variable.
sus supertablas) que podran estar afectados por la sentencia. Esta regla
se cumple siempre, con independencia de si hay realmente filas afectadas
por la sentencia en esas tablas. Por ejemplo, en un mandato INSERT
INTO EMP, se activan los desencadenantes de sentencia para EMP y sus
supertablas. Otro ejemplo: En un mandato UPDATE EMP o DELETE
EMP, se activan los desencadenantes para EMP y sus supertablas y
subtablas, aunque no se haya actualizado ni suprimido ninguna fila de
subtabla. Del mismo modo, un mandato UPDATE ONLY (EMP) o
DELETE ONLY (EMP) activar desencadenantes de sentencia para EMP
y sus supertables, pero no desencadenantes de sentencia para subtablas.
Las sentencias CREATE TRIGGER que realizan este cometido son las
siguientes:
v Definicin del desencadenante para determinar el estado:
CREATE TRIGGER STOCK_STATUS
NO CASCADE BEFORE UPDATE OF QUOTE ON CURRENTQUOTE
REFERENCING NEW AS NEWQUOTE OLD AS OLDQUOTE
FOR EACH ROW MODE DB2SQL
BEGIN ATOMIC
SET NEWQUOTE.STATUS =
CASE
WHEN NEWQUOTE.QUOTE >
(SELECT MAX(QUOTE) FROM QUOTEHISTORY
WHERE SYMBOL = NEWQUOTE.SYMBOL
AND YEAR(QUOTE_TIMESTAMP) = YEAR(CURRENT DATE) )
THEN 'Alto'
WHEN NEWQUOTE.QUOTE <
(SELECT MIN(QUOTE) FROM QUOTEHISTORY
INSTANTIABLE
* *
, NOT INSTANTIABLE
AS ( definicin-atributo )
MODE DB2SQL * *
WITH FUNCTION ACCESS REF USING tipo-rep
*
CAST (SOURCE AS REF) WITH nombrefunc1
* *
CAST (REF AS SOURCE) WITH nombrefunc2
especificacin-mtodo
definicin-atributo:
nombre-atributo tipo-datos
opciones-lob
opciones-datalink
tipo-rep:
SMALLINT
INTEGER
INT
BIGINT
DECIMAL
DEC ( entero )
NUMERIC , entero
NUM
CHARACTER
CHAR (entero) (1)
VARCHAR ( entero ) FOR BIT DATA
CHARACTER VARYING
CHAR
GRAPHIC
(entero)
VARGRAPHIC ( entero )
especificacin-mtodo:
METHOD nombre-mtodo
( ) * RETURNS
,
tipo-datos2
nombre-parmetro AS LOCATOR
tipo-datos3 *
AS LOCATOR
tipo-datos4 CAST FROM tipo-datos5
AS LOCATOR
* *
SPECIFIC nombre-especfico SELF AS RESULT
caractersticas-rutina-SQL
*
caractersticas-rutina-externa
caractersticas-rutina-SQL:
caractersticas-rutina-externa:
NO FINAL CALL
FINAL CALL
Notas:
1 La clusula FOR BIT DATA puede especificarse en orden aleatorio
con las restricciones de columna siguientes.
2 Puede especificarse NOT VARIANT en lugar de DETERMINISTIC
y VARIANT puede especificarse en lugar de NOT DETERMINISTIC.
3 Puede especificarse NULL CALL en lugar de CALLED ON NULL
INPUT y puede especificarse NOT NULL CALL en lugar de RETURNS
NULL ON NULL INPUT.
Descripcin
nombre-tipo
Indica el tipo. El nombre, incluido el calificador implcito o explcito, no
debe identificar ningn otro tipo (incorporado, estructurado o
Tabla 27. Contajes de bytes para los tipos de datos de atributos (continuacin)
Tipo LOB Cada atributo LOB tiene un descriptor de LOB, en la instancia del tipo
estructurado, que apunta a la ubicacin del valor real. El tamao del
descriptor vara de acuerdo con la longitud mxima definida para el
atributo LOB
Longitud mxima de LOB Tamao del descriptor de LOB
1 024 72
8 192 96
65 536 120
524 000 144
4 190 000 168
134 000 000 200
536 000 000 224
1 070 000 000 256
1 470 000 000 280
2 147 483 647 316
Tipo diferenciado Longitud del tipo fuente del tipo diferenciado
Tipo de referencia Longitud del tipo de datos incorporado en el que est basado el tipo de
referencia.
Tipo estructurado longitud_inline(tipo_atributo)
WITHOUT COMPARISONS
Indica que no se da soporte a funciones de comparacin para las
instancias del tipo estructurado.
NOT FINAL
Indica que el tipo estructurado puede utilizarse como supertipo.
MODE DB2SQL
Esta clusula es obligatoria y permite la invocacin directa de la funcin
constructora para el tipo.
WITH FUNCTION ACCESS
Indica que todos los mtodos del tipo y de sus subtipos, incluidos los
mtodos que se creen en el futuro, se pueden acceder utilizando la
notacin funcional. Esta clusula slo puede especificarse para el tipo raz
de una jerarqua de tipos estructurados (la clusula UNDER no se
especifica) (SQLSTATE 42613). Esta clusula se proporciona para permitir
el uso de la notacin funcional para aquellas aplicaciones que prefieren
esta forma de notacin respecto a la notacin de invocacin de mtodo.
REF USING tipo-rep
Define el tipo de datos incorporados utilizados como representacin (tipo
CONTAINS SQL
Indica que el mtodo puede ejecutar sentencias de SQL que no
leen ni modifican datos SQL (SQLSTATE 42985).
CALLED ON NULL INPUT
Esta clusula opcional indica que debe invocarse el mtodo definido
por el usuario aunque contenga argumentos nulos. Puede devolver un
valor nulo o un valor normal (no nulo). Sin embargo, corresponde al
mtodo comprobar si hay valores de argumento nulos.
El valor NULL CALL puede utilizarse como sinnimo de CALLED
ON NULL INPUT por razones de compatibilidad.
caractersticas-rutina-externa
LANGUAGE
Esta clusula obligatoria se emplea para especificar el convenio de la
interfaz de lenguaje para el est escrito el cuerpo del mtodo definido
por el usuario.
C Esto significa que el gestor de bases de datos invocar el mtodo
definido por el usuario como si fuera una funcin escrita en C. El
mtodo definido por el usuario debe cumplir el convenio de
invocacin y enlace del lenguaje C, tal como est definido por el
prototipo C estndar de ANSI.
JAVA
Esto significa que el gestor de bases de datos invocar el mtodo
definido por el usuario como si fuera un mtodo de una clase
Java.
OLE
Esto significa que el gestor de bases de datos invocar el mtodo
definido por el usuario como si fuera un mtodo expuesto por un
objeto de automatizacin OLE. El mtodo debe ajustarse a los
tipos de datos de automatizacin y al mecanismo de invocacin
de OLE, tal como se describe en el manual OLE Automation
Programmers Reference.
Slo se da soporte a LANGUAGE OLE para mtodos definidos
por el usuario almacenados en Sistemas operativos Windows de
32 bits.
PARAMETER STYLE
Esta clusula se utiliza para especificar los convenios utilizados para
pasar parmetros al mtodo y obtener el resultado del mtodo.
DB2SQL
Se utiliza para especificar los convenios para pasar parmetros a
mtodos externos y obtener su resultado; estos mtodos cumplen
los convenios de invocacin y enlace del lenguaje C o son
NO SQL
Esta clusula obligatoria indica que el mtodo no puede emitir
ninguna sentencia de SQL. Si las emite, se genera un error durante la
ejecucin (SQLSTATE 38502).
EXTERNAL ACTION o NO EXTERNAL ACTION
Esta clusula opcional especifica si el mtodo realiza alguna accin
que cambia el estado de un objeto no gestionado por el gestor de
bases de datos. Para evitar las optimizaciones basadas en que el
mtodo no produce ningn efecto externo, se especifica EXTERNAL
ACTION.
NO SCRATCHPAD o SCRATCHPAD longitud
Esta clusula opcional especifica si debe proporcionarse una memoria
de trabajo para un mtodo externo. Es muy recomendable que los
mtodos sean reentrantes, por lo que una memoria de trabajo
proporciona un medio para que el mtodo guarde el estado entre
una llamada y la siguiente.
Si se especifica SCRATCHPAD, cuando se efecta la primera
invocacin del mtodo definido por el usuario, se asigna memoria
para que el mtodo externo utilice una memoria de trabajo. Esta
memoria de trabajo tiene las caractersticas siguientes:
v longitud, si se especifica, define el tamao en bytes de la memoria
de trabajo; este valor debe estar comprendido entre 1 y 32.767
(SQLSTATE 42820). El valor por omisin es 100.
v El valor de inicializacin consta slo de ceros hexadecimales.
v Su mbito es la sentencia de SQL. Existe una memoria de trabajo
para cada referencia al mtodo externo contenida en la sentencia de
SQL.
86. Todas las referencias de una jerarqua de tipos tienen el mismo tipo de representacin de referencia. Esto permite
que se comparen REF(S) y REF(T) siempre que S y T tengan un supertipo comn. Dado que la exclusividad de la
columna de OID slo se impone dentro de una jerarqua de tablas, es posible que un valor de REF(T) de una
jerarqua de tablas sea igual a un valor de REF(T) de otra jerarqua de tablas, aunque hagan referencia a filas
diferentes.
Ejemplo 3: Cree una jerarqua de tipos para direcciones. Las direcciones estn
destinadas a utilizarse como tipos de columnas. La longitud inline no se
especifica, por lo que DB2 calcular una longitud por omisin. Dentro de la
definicin del tipo de direccin se encapsular un mtodo externo que calcula
el grado de proximidad de la direccin con una direccin de entrada
proporcionada. El cuerpo de la sentencia se crea mediante la sentencia
CREATE METHOD.
CREATE TYPE address_t AS
(STREET VARCHAR(30),
NUMBER CHAR(15),
CITY VARCHAR(30),
STATE VARCHAR(10))
NOT FINAL
MODE DB2SQL
METHOD SAMEZIP (addr address_t)
RETURNS INTEGER
LANGUAGE SQL
DETERMINISTIC
CONTAINS SQL
NO EXTERNAL ACTION
FOR BIT DATA
( p )
[p..p] ,s P=S
,[s..s] P>S
P<S
P>=S
P<=S
P<>S
tipo-datos-locales:
SMALLINT
INTEGER
INT
BIGINT
FLOAT
( entero )
REAL
PRECISION
DOUBLE
DECIMAL
DEC ( entero )
NUMERIC ,entero
NUM
CHARACTER
CHAR (entero) FOR BIT DATA
VARCHAR
CHARACTER VARYING ( entero )
CHAR
GRAPHIC
(entero)
VARGRAPHIC
(entero)
DATE
TIME
TIMESTAMP
servidor-remoto:
SERVER nombre-servidor
SERVER TYPE tipo-servidor
VERSION versin-servidor
WRAPPER nombre-reiniciador
versin-servidor:
versin
. release
. mod
constante-serie-versin
Descripcin
nombre-correlacin-tipos
Designa la correlacin de tipos de datos. El nombre no debe identificar
ninguna correlacin de datos que ya est descrita en el catlogo. Se genera
un nombre exclusivo si no se especifica nombre-correlacin-tipos.
tipo-datos-locales
Identifica un tipo de datos que se define en una base de datos federada. Si
se especifica tipo-datos-locales sin ningn nombre de esquema, el nombre
de tipo se resuelve buscando en los esquemas especificados en la va de
acceso SQL (definida por la opcin de preproceso FUNCPATH en el caso
del SQL esttico y por el registro CURRENT PATH en el caso del SQL
dinmico). Si la longitud o precisin (y escala) no se especifican para el
tipo-datos-local, los valores se determinan a partir del tipo-datos-fuente.
El tipo-datos-local no puede ser LONG VARCHAR, LONG VARGRAPHIC,
DATALINK, un tipo de objeto grande (LOB) ni un tipo definido por el
usuario (SQLSTATE 42806).
SERVER nombre-servidor
Nombra la fuente de datos para la que se define tipo-datos-fuente-datos.
SERVER TYPE tipo-servidor
Identifica el tipo de fuente de datos para el que se define
tipo-datos-fuente-datos.
VERSION
Identifica la versin de la fuente de datos para la que se define el
tipo-datos-fuente-datos.
versin
Especifica el nmero de versin. versin debe ser un entero.
release
Especifica el nmero del release de la versin indicada por versin.
release debe ser un entero.
mod
Especifica el nmero de la modificacin del release indicado por
release. mod debe ser un entero.
constante-serie-versin
Especifica la designacin completa de la versin. La
constante-serie-versin puede ser un solo valor (por ejemplo, 8i); o
puede ser los valores concatenados de versin, release y, si se aplica,
mod (por ejemplo, 8.0.3).
WRAPPER nombre-reiniciador
Especifica el nombre del reiniciador que el servidor federado utiliza para
interactuar con las fuentes de datos del tipo y versin indicados por
tipo-servidor y versin-servidor.
TYPE tipo-datos-fuente-datos
Especifica el tipo de datos de la fuente de datos que se est
correlacionando con el tipo-datos-local. Si tipo-datos-fuente-datos est
calificado por un nombre de esquema en la fuente de datos, est
permitido pero no es necesario, especificar este calificador.
,
ADD
OPTIONS ( nombre-opcin-usuario constante-serie )
Descripcin
nombre-autorizacin
Especifica el nombre de autorizacin bajo el cual un usuario o una
aplicacin se conecta a una base de datos federada. Este nombre se ha de
correlacionar con un identificador bajo el cual se puede acceder a la fuente
de datos indicada por nombre-servidor.
USER
El valor del registro especial USER. Cuando se especifica USER, el ID de
autorizacin de la sentencia CREATE USER MAPPING se correlacionar
con el ID de autorizacin de la fuente de datos que se especifica en la
opcin de usuario REMOTE_AUTHID.
SERVER nombre-servidor
Identifica la fuente de datos que se puede acceder bajo el ID de
autorizacin de la correlacin.
OPTIONS
Indica las opciones de usuario que se han de habilitar. Consulte el
apartado Opciones de usuario en la pgina 1420 para ver las
descripciones de nombre-opcin-usuario y sus valores.
ADD
Habilita una o varias opciones de usuario.
nombre-opcin-usuario
Nombra una opcin de usuario que se utilizar para completar la
correlacin de usuarios que se est creando.
constante-serie
Especifica el valor para nombre-opcin-usuario como una constante de
serie de caracteres.
Notas
v No se puede crear una correlacin de usuarios en una unidad de trabajo
(UOW) determinada si la UOW ya incluye una sentencia SELECT que hace
referencia a un apodo para una tabla o una vista de la fuente de datos que
se ha de incluir en la correlacin.
Ejemplos
Ejemplo 1: Para acceder a una fuente de datos llamada S1, necesita
correlacionar el nombre de autorizacin y la contrasea para la base de datos
local con el ID de usuario y la contrasea para S1. El nombre de autorizacin
es RSPALTEN, y el ID de usuario y la contrasea que utiliza para S1 son
SYSTEM y MANAGER, respectivamente.
CREATE USER MAPPING FOR RSPALTEN
SERVER S1
OPTIONS
( REMOTE_AUTHID 'SYSTEM',
REMOTE_PASSWORD 'MANAGER' )
CREATE VIEW
La sentencia CREATE VIEW crea una vista para una o ms tablas, vistas o
apodos.
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o bien emitirse
mediante la utilizacin de sentencias de SQL dinmicas. Es una sentencia
ejecutable que puede prepararse de forma dinmica. Sin embargo, si es
aplicable la opcin de enlace DYNAMICRULES BIND, la sentencia no se
puede preparar dinmicamente (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener al menos uno de los
privilegios siguientes:
v Autorizacin SYSADM o DBADM, o bien
v Para cada tabla, vista o apodo identificado en cualquier seleccin completa:
Privilegio CONTROL para esa tabla o vista, o bien
Privilegio SELECT para esa tabla o vista
Si el definidor de una vista slo puede crear la vista porque tiene autorizacin
SYSADM, se le otorgar la autorizacin explcita DBADM con el propsito de
crear la vista.
Sintaxis
CREATE VIEW nombre-vista
FEDERATED
AS
,
( nombre-columna )
OF nombre-tipo definicin-vista-raz
definicin-subvista
seleccin completa
,
WITH expresin-tabla-comn
CASCADED
WITH CHECK OPTION
LOCAL
definicin-vista-raz:
definicin-subvista:
columna-oid:
opciones-with:
,
,
clusula-under:
WITH expresin-tabla-comn
Define una expresin de tabla comn para utilizarla con la seleccin
completa que va a continuacin. No puede especificarse una expresin de
tabla comn cuando se define una vista con tipo. Vea
expresin-comn-tabla en la pgina 519.
seleccin completa
Define la vista. En todo momento, la vista consta de las filas que se
generaran si se ejecutara la sentencia SELECT. La seleccin completa no
debe hacer referencia a variables del lenguaje principal, a marcadores de
parmetros ni a tablas temporales declaradas. En cambio, una vista
parametrizada se puede crear como funcin de tabla SQL. Vea CREATE
FUNCTION (SQL, escalar, de tabla o de fila) en la pgina 761.
Para subvistas y vistas con tipo: La seleccin completa debe ajustarse a las
normas siguientes, de lo contrario se devolver un error (SQLSTATE
428EA a no ser que se especifique lo contrario).
v La seleccin completa no debe incluir referencias a las funciones
NODENUMBER o PARTITION, a las funciones no deterministas o a las
funciones definidas para tener accin externa.
v El cuerpo de la vista debe consistir en una sola subseleccin o en
UNION ALL de dos o mas subselecciones. Supongamos que cada una
de las subselecciones que participan directamente en el cuerpo de la
vista se llama una rama de la vista. Una vista puede tener una o ms
ramas.
v La clusula FROM de cada rama debe consistir de una sola tabla o vista
(no necesariamente de tipo), llamada la tabla o vista subyacente de esa
rama.
v La tabla o vista subyacente de cada rama debe estar en una jerarqua
separada (por ejemplo, una vista puede que no tenga ramas mltiples
con sus tablas o vistas subyacentes en la misma jerarqua).
v Ninguna de las ramas de una definicin de vista con tipo puede que
especifique GROUP BY o HAVING.
v Si el cuerpo de la vista contiene UNION ALL, entonces la vista raz de
la jerarqua debe especificar la opcin UNCHECKED para su columna
OID.
Para una jerarqua de vistas y subvistas: BR1 y BR2 son las ramas que
aparecen en las definiciones de vistas en la jerarqua. T1 debe ser la tabla
subyacente o vista de BR1 y T2 debe ser la tabla o vista subyacente de
BR2. Entonces:
v Si T1 y T2 no estn en la misma jerarqua, entonces la vista raz de la
jerarqua de vistas debe especificar la opcin UNCHECKED para su
columna OID.
Para subvistas con tipo definidas utilizando EXTEND AS: Para cada rama
en el cuerpo de la subvista:
v La tabla subyacente de cada rama debe ser una subtabla (no
necesariamente la correspondiente) de alguna tabla subyacente de la
supervista inmediata.
v Las expresiones de la lista SELECT deben poder asignarse a las
columnas no heredadas de la subvista (SQLSTATE 42854).
Y es LOCAL Y es CASCADED
V1 se comprueba con: ninguna vista ninguna vista
V2 se comprueba con: V2 V2, V1
V3 se comprueba con: V2 V2, V1
V4 se comprueba con: V2, V4 V4, V3, V2, V1
V5 se comprueba con: V2, V4 V4, V3, V2, V1
Notas
v La creacin de una vista con un nombre de esquema que no exista todava
dar como resultado la creacin implcita de dicho esquema siempre que el
ID de autorizacin de la sentencia tenga la autorizacin
IMPLICIT_SCHEMA. El propietario del esquema es SYSIBM. El privilegio
CREATEIN en el esquema se otorga a PUBLIC.
v Las columnas de la vista heredan el atributo NOT NULL WITH DEFAULT
de la tabla o vista base excepto cuando las columnas derivan de una
expresin. Al insertar o actualizar una fila en una vista actualizable, se
comprueba comparndola con las restricciones (clave primaria, integridad
de referencia y control) si es que hay alguna definida en la tabla base.
v No se puede crear una nueva vista si sta utiliza en su definicin una vista
no operativa. (SQLSTATE 51024).
v Esta sentencia no permite utilizar tablas temporales declaradas (SQLSTATE
42995).
v Vistas suprimibles: Una vista es suprimible si se cumplen todas las
condiciones siguientes:
cada clusula FROM de la seleccin completa exterior identifica una sola
tabla base (sin clusula OUTER), una vista suprimible (sin clusula
OUTER), una expresin de tabla anidada suprimible o una expresin de
tabla comn suprimible (no puede identificar un apodo)
la seleccin completa exterior no incluye una clusula VALUES
la seleccin completa exterior no incluye una clusula GROUP BY ni una
clusula HAVING
Ejemplo 2: Cree una vista como la del ejemplo 1, pero seleccione slo las
columnas para el nmero de proyecto (PROJNO), nombre de proyecto
(PROJNAME) y empleado encargado del proyecto (RESPEMP).
CREATE VIEW MA_PROJ
AS SELECTPROJNO, PROJNAME, RESPEMP
FROM PROJECT
WHERE SUBSTR(PROJNO, 1, 2) = 'MA'
Ejemplo 3: Cree una vista como la del ejemplo 2, pero en la vista, llame a la
columna para el empleado encargado del proyecto IN_CHARGE.
CREATE VIEW MA_PROJ
(PROJNO, PROJNAME, IN_CHARGE)
AS SELECTPROJNO, PROJNAME, RESPEMP
FROM PROJECT
WHERE SUBSTR(PROJNO, 1, 2) = 'MA'
Nota: Aunque slo se cambie uno de los nombres de columna, los nombres de
las tres columnas de la vista deben listarse entre los parntesis que siguen a
MA_PROJ.
Ejemplo 4: Cree una vista llamada PRJ_LEADER que contenga las cuatro
primeras columnas (PROJNO, PROJNAME, DEPTNO, RESPEMP) de la tabla
PROJECT junto con el apellido (LASTNAME) de la persona que es
responsable del proyecto (RESPEMP). Obtendremos el nombre de la tabla
EMPLOYEE emparejando EMPNO de EMPLOYEE con RESPEMP de
PROYECT.
CREATE VIEW PRJ_LEADER
AS SELECT PROJNO, PROJNAME, DEPTNO, RESPEMP, LASTNAME
FROM PROJECT, EMPLOYEE
WHERE RESPEMP = EMPNO
Ejemplo 5: Cree una vista como en el ejemplo 4, pero que adems de mostrar
las columnas PROJNO, PROJNAME, DEPTNO, RESPEMP y LASTNAME, que
tambin muestre la paga total (SALARY + BONUS + COMM) del empleado
responsable. Asimismo, seleccione slo aquellos proyectos cuyo empleo de
personal principal (PRSTAFF) sea mayor que 1.
CREATE VIEW PRJ_LEADER
(PROJNO, PROJNAME, DEPTNO, RESPEMP, LASTNAME, TOTAL_PAY )
AS SELECT PROJNO, PROJNAME, DEPTNO, RESPEMP, LASTNAME, SALARY+BONUS+COMM
FROM PROJECT, EMPLOYEE
WHERE RESPEMP = EMPNO
AND PRSTAFF > 1
87. CONTROL en S1.V1 debe habrselo otorgado a ZORPIE alguien con autorizacin DBADM o SYSADM.
CREATE WRAPPER
La sentencia CREATE WRAPPER registra un reiniciadormecanismo por el
cual un servidor federado puede interactuar con una categora determinada
de fuentes de datosen una base de datos federada.
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o bien emitirse
mediante la utilizacin de sentencias de SQL dinmicas. Se trata de una
sentencia ejecutable que puede prepararse de forma dinmica. Sin embargo, si
es aplicable la opcin de enlace DYNAMICRULES BIND, la sentencia no se
puede preparar de forma dinmica (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener la autorizacin SYSADM o
DBADM.
Sintaxis
CREATE WRAPPER nombre-reiniciador
LIBRARY nombre-biblioteca
Descripcin
nombre-reiniciador
Nombra el reiniciador. Puede ser:
v Un nombre predefinido. Si se especifica un nombre predefinido, el
servidor federado asigna automticamente un valor por omisin a
nombre-biblioteca.
Los nombres predefinidos son:
DRDA Para todas las fuentes de datos de la familia DB2
NET8 Para las fuentes de datos Oracle que el software de
cliente Net8 de Oracle soporta
OLEDB Para todos los proveedores de OLE DB soportados por
Microsoft OLE DB
SQLNET Para todas las fuentes de datos Oracle que el software
de cliente SQL*Net de Oracle soporta
v Un nombre suministrado por el usuario. Si se proporciona dicho
nombre, tambin es necesario especificar nombre-biblioteca.
LIBRARY nombre-biblioteca
Nombra el archivo que contiene el mdulo de reiniciador. La opcin
LIBRARY slo es necesaria si se utiliza un nombre-reiniciador
proporcionado por el usuario. Esta opcin no debe utilizarse cuando se
proporciona un nombre-reiniciador predefinido. Los nombres de archivo por
Notas
Consulte Suplemento de instalacin y configuracin para obtener ms
informacin sobre cmo seleccionar y definir reiniciador.
Ejemplos
Ejemplo 1: Registre un reiniciador que el servidor federado pueda utilizar para
interactuar con una fuente de datos Oracle que el software de cliente SQL*Net
de Oracle soporta. Utilice el nombre predefinido.
CREATE WRAPPER SQLNET
DECLARE CURSOR
La sentencia DECLARE define un cursor.
Invocacin
Aunque un recurso SQL interactivo pueda proporcionar una interfaz que d la
apariencia de ejecucin interactiva, esta sentencia slo puede incluirse dentro
de un programa de aplicacin. No se trata de una sentencia ejecutable y no
puede prepararse dinmicamente.
Autorizacin
El trmino sentencia SELECT del cursor se utiliza para especificar las reglas
de autorizacin. La sentencia SELECT del cursor es una de las siguientes:
v La sentencia-select preparada que se identifica por el nombre-sentencia
v La sentencia-select especificada.
Por cada tabla o vista que est identificada (ya sea directamente o mediante
un seudnimo) en la sentencia SELECT del cursor, el ID de autorizacin de la
sentencia debe tener como mnimo uno de los privilegios siguientes:
v Autorizacin SYSADM o DBADM.
v Para cada tabla o vista identificada en la sentencia-select:
Privilegio SELECT para la tabla o vista, o bien
Privilegio CONTROL para la tabla o vista.
Si se especifica nombre-sentencia:
v El ID de autorizacin de la sentencia es el ID de autorizacin de ejecucin.
v El control de autorizaciones se realiza al preparar la sentencia-select.
v El cursor no puede abrirse si la sentencia-select no est preparada
correctamente.
Si se especifica sentencia-select:
v No se comprueban los privilegios GROUP.
v El ID de autorizacin de la sentencia es el ID de autorizacin especificado
durante la preparacin del programa.
Sintaxis
DECLARE nombre-cursor CURSOR
WITH HOLD TO CALLER
WITH RETURN
TO CLIENT
FOR sentencia-select
nombre-sentencia
Descripcin
nombre-cursor
Especifica el nombre del cursor que se ha creado al ejecutar el programa
fuente. Este nombre no debe ser el mismo que el de ningn otro cursor
que est declarado en el programa fuente. Antes de utilizar el cursor es
preciso abrirlo (vase el apartado OPEN en la pgina 1094).
WITH HOLD
Mantiene recursos en varias unidades de trabajo. El efecto del atributo del
cursor WITH HOLD es el siguiente:
v En las unidades de trabajo que finalizan con COMMIT:
Los cursores abiertos definidos con WITH HOLD permanecen
abiertos. El cursor se sita antes de la siguiente fila lgica de la tabla
resultante.
Si se emite la sentencia DISCONNECT despus de la sentencia
COMMIT para una conexin con cursores WITH HOLD, los cursores
mantenidos deben cerrarse explcitamente, porque si no se supondr
que la conexin ha realizado cierto trabajo (simplemente por tener
abiertos cursores WITH HOLD aun sin haber emitido sentencias de
SQL) y fallar la sentencia DISCONNECT.
Se liberan todos los bloqueos, excepto los bloqueos que protegen la
posicin actual del cursor, de los cursores WITH HOLD abiertos. Los
bloqueos mantenidos incluyen los bloqueos sobre la tabla y para los
entornos paralelos, los bloqueos sobre las filas en las que los cursores
estn situados actualmente. Los bloqueos sobre paquetes y secciones
SQL dinmicas (si las hay) se mantienen.
Las operaciones vlidas en los cursores definidos WITH HOLD que
estn inmediatamente a continuacin de una peticin COMMIT son:
- FETCH: Lee la siguiente fila del cursor.
- CLOSE: Cierra el cursor.
UPDATE y DELETE CURRENT OF CURSOR slo son vlidas para
aquellas filas que se recuperan dentro de la misma unidad de
trabajo.
Se liberan los localizadores de LOB.
v Para las unidades de trabajo que finalizan con ROLLBACK:
Se cierran todos los cursores abiertos
Se liberan todos los bloqueos adquiridos durante la unidad de
trabajo
Se liberan los localizadores de LOB.
88. La clusula FOR READ ONLY est definida en clusula-read-only en la pgina 527.
89. La clusula FOR UPDATE se define en el apartado clusula-update en la pgina 526.
Ejemplo
La sentencia DECLARE CURSOR asocia el nombre del cursor C1 con los
resultados de SELECT.
EXEC SQL DECLARE C1 CURSOR FOR
SELECT DEPTNO, DEPTNAME, MGRNO
FROM DEPARTMENT
WHERE ADMRDEPT = 'A00';
( definicin-columna )
LIKE nombre-tabla2
nombre-vista opciones-copia
AS ( seleccin completa ) DEFINITION ONLY
opciones-copia
*
IN nombre-espacio-tablas
*
,
USING HASHING
PARTITIONING KEY ( nombre-columna )
definicin-columna:
nombre-columna tipo-datos
opciones-columna
opciones-columna:
* * *
NOT NULL clusula-predefinida
GENERATED ALWAYS AS clusula-identity
BY DEFAULT
opciones-copia:
COLUMN ATTRIBUTES
EXCLUDING IDENTITY
* * *
COLUMN COLUMN ATTRIBUTES
INCLUDING DEFAULTS INCLUDING IDENTITY
EXCLUDING
Descripcin
nombre-tabla
Designa la tabla temporal. Si se especifica explcitamente, el calificador
debe ser SESSION, de lo contrario se produce un error (SQLSTATE
428EK). Si no se especifica el calificador, se asigna SESSION de forma
implcita.
Cada sesin que define una tabla temporal global declarada con el mismo
nombre-tabla tiene su propia descripcin exclusiva de esa tabla temporal.
La clusula WITH REPLACE se debe especificar si nombre-tabla identifica
una tabla temporal declarada que ya existe en la sesin (SQLSTATE
42710).
Es posible que el catlogo ya contenga una tabla, vista, seudnimo o
apodo que tenga el mismo nombre y el nombre de esquema SESSION. En
este caso:
NOT NULL
Evita que la columna contenga valores nulos. Vea NOT NULL en
CREATE TABLE en la pgina 835 para conocer detalles sobre la
especificacin de valores nulos.
clusula-predefinida
Vea clusula-predefinida en CREATE TABLE en la pgina 835 para
conocer detalles sobre la especificacin de valores por omisin.
clusula-identity
Vea clusula-identity en CREATE TABLE en la pgina 835 para
conocer detalles sobre la especificacin de columnas de identidad.
LIKE nombre-tabla2 o nombre-vista
Especifica que las columnas de la tabla tienen exactamente el mismo
nombre y descripcin que las columnas de la tabla identificada
(nombre-tabla2), vista (nombre-vista) o apodo (apodo). El nombre especificado
despus de LIKE debe identificar una tabla, vista o apodo existentes en el
catlogo, o una tabla temporal declarada. No se puede especificar una
tabla con tipo ni una vista con tipo (SQLSTATE 428EC).
El uso de LIKE es una definicin implcita de n columnas, donde n es el
nmero de columnas de la tabla o vista identificada.
v Si se designa una tabla, la definicin implcita incluye el nombre de
columna, el tipo de datos y si es posible la existencia de nulos para
cada columna de nombre-tabla2. Si no se especifica EXCLUDING
COLUMN DEFAULTS, tambin se incluye el valor por omisin de la
columna.
v Si se designa una vista, la definicin implcita incluye el nombre de
columna, tipo de datos y posibilidad de contener nulos de cada
columna resultante de la seleccin completa definida en nombre-vista.
Segn cules sean las clusulas de atributos de copia, se pueden incluir o
excluir el valor por omisin de la columna y los atributos IDENTITY de la
columna.
Notas
v Referencia a una tabla temporal global declarada: La descripcin de una
tabla temporal global declarada no aparece en el catlogo de DB2
(SYSCAT.TABLES); por consiguiente, no es permanente y no se puede
compartir con otras conexiones a la base de datos. Esto significa que cada
sesin que define una tabla temporal global declarada (nombre-tabla) tiene
su propia descripcin exclusiva de esa tabla.
Para hacer referencia a la tabla temporal global declarada en una sentencia
de SQL (distinta de la sentencia DECLARE GLOBAL TEMPORARY
TABLE), la tabla debe estar calificada, implcita o explcitamente, por el
nombre de esquema SESSION. Si nombre-tabla no est calificado por
SESSION, las tablas temporales globales declaradas no se tienen en cuenta
al resolver la referencia.
Una referencia a SESSION.nombre-tabla en una conexin que no ha
declarado una tabla temporal global mediante ese nombre intentar realizar
la resolucin a partir de objetos permanentes del catlogo. Si dicho objeto
no existe, se produce un error (SQLSTATE 42704).
v Cuando se enlaza un paquete que tiene sentencias de SQL estticas que
hacen referencia a tablas calificadas, implcita o explcitamente, por
SESSION, esas sentencias no se enlazarn de forma esttica. Cuando se
invocan estas sentencias, se enlazan de forma incremental, cualquiera que
sea la opcin de VALIDATE elegida al enlazar el paquete. Durante la
ejecucin, la resolucin de cada referencia a tabla da como resultado una
tabla temporal declarada o una tabla permanente. Si no existe ninguna de
las dos, se produce un error (SQLSTATE 42704).
v Privilegios: Cuando se define una tabla temporal global declarada, el
definidor de la tabla recibe todos los privilegios para la tabla, incluida la
capacidad para eliminar la tabla. Adems, estos privilegios se otorgan a
PUBLIC.90 Esto permite que cualquier sentencia de SQL de la sesin haga
referencia a una tabla temporal global declarada que ya se ha definido en
esa sesin.
v Creacin de instancias y terminacin: En lo que respecta a la explicacin
que sigue a continuacin, P representa una sesin y T es una tabla temporal
global declarada de la sesin P:
La sentencia DECLARE GLOBAL TEMPORARY TABLE que se ejecuta en
P crea una instancia vaca de T.
Cualquier sentencia de SQL de P puede hacer referencia a T, y cualquier
referencia a T en P es una referencia a esa misma instancia de T.
Si se especifica una sentencia DECLARE GLOBAL TEMPORARY TABLE
dentro de la sentencia compuesta del procedimiento SQL (definida por
BEGIN y END), el mbito de la tabla temporal global declarada es la
90. Ninguno de los privilegios se otorga con la opcin GRANT y ninguno aparece en la tabla de catlogo.
DELETE
La sentencia DELETE suprime filas de una tabla o vista. La supresin de una
fila de una vista suprime la fila de la tabla en la que se basa la vista.
91. El paquete que se utiliza para procesar la sentencia se precompila utilizando la opcin LANGLEVEL con el valor
SQL92E o MIA.
v Privilegio CONTROL
v Autorizacin SYSADM o DBADM.
WHERE condicin-bsqueda WITH RR
RS
CS
UR
Descripcin
FROM nombre-tabla o nombre-vista
Identifica la tabla o vista en las que se han de suprimir las filas. El
nombre debe identificar una tabla o vista que exista en el catlogo, pero
no debe identificar una tabla del catlogo, una vista de catlogo, una tabla
de resumen ni una vista de slo lectura. (Para obtener una explicacin de
las vistas de slo lectura, consulte el apartado CREATE VIEW en la
pgina 957.)
Si nombre-tabla es una tabla con tipo, la sentencia puede suprimir filas de
la tabla o cualquiera de sus subtablas correspondientes.
Si nombre-vista es una vista con tipo, la sentencia puede que elimine las
filas de la vista subyacente o de las vistas subyacentes de las subvistas
correspondientes de la vista. Si nombre-vista es una vista regular con una
tabla subyacente que es una tabla con tipo, la sentencia puede suprimir
filas de la tabla con tipo o cualquiera de sus propias subtablas.
Slo puede hacerse referencia a las columnas de la tabla especificada en la
clusula WHERE. Para una sentencia DELETE con posicin, el cursor
asociado tambin debe haber especificado la tabla o vista en la clusula
FROM sin utilizar ONLY.
FROM ONLY (nombre-tabla)
Aplicable a las tablas con tipo, la palabra clave ONLY especifica que la
sentencia slo se debe aplicar a los datos de la tabla especificada y no
puede suprimir las filas de las subtablas correspondientes. Para una
sentencia DELETE con posicin, el cursor asociado tambin debe haber
especificado la tabla en la clusula FROM utilizando ONLY. Si nombre-tabla
no es una tabla con tipo, la palabra clave ONLY no tiene ningn efecto en
la sentencia.
FROM ONLY (nombre-vista)
Aplicable a las vistas con tipo, la palabra clave ONLY especifica que la
sentencia slo se debe aplicar a los datos de la vista especificada y no
puede suprimir las filas de las subvistas correspondientes. Para una
sentencia DELETE con posicin, el cursor asociado tambin debe haber
especificado la vista en la clusula FROM utilizando ONLY. Si nombre-vista
no es una vista con tipo, la palabra clave ONLY no tiene ningn efecto en
la sentencia.
nombre-correlacin
Se puede utilizar dentro de la condicin-bsqueda para designar la tabla o
vista. (Para obtener una explicacin del nombre-correlacin, consulte el
Captulo 3. Elementos del lenguaje en la pgina 69.)
WHERE
Especifica una condicin que selecciona las filas que se han de suprimir.
Puede omitirse la clusula, se puede especificar una condicin de
bsqueda o nombrar un cursor. Si se omite la clusula, se suprimen todas
las filas de la tabla o vista.
condicin-bsqueda
Es cualquier condicin de bsqueda descrita en el apartado
Condiciones de bsqueda en la pgina 232. Cada nombre-columna de
la condicin de bsqueda, que no sea na subconsulta, debe identificar
una columna de la tabla o vista.
La condicin-bsqueda se aplica a cada fila de la tabla o vista y las filas
suprimidas son aquellas para las que el resultado de la
condicin-bsqueda es verdadero.
DESCRIBE
La sentencia DESCRIBE obtiene informacin acerca de una sentencia
preparada. Para obtener una explicacin de las sentencias preparadas,
consulte el apartado PREPARE en la pgina 1099.
Invocacin
Esta sentencia slo se puede incluir en un programa de aplicacin. Se trata de
una sentencia ejecutable que no puede prepararse de forma dinmica.
Autorizacin
No se necesita.
Sintaxis
DESCRIBE nombre-sentencia INTO nombre-descriptor
Descripcin
nombre-sentencia
Identifica la sentencia sobre la que se necesita informacin. Cuando se
ejecuta la sentencia DESCRIBE, el nombre debe identificar una sentencia
preparada.
INTO nombre-descriptor
Identifica un rea de descriptores SQL (SQLDA), que se describen en el
Apndice C. rea de descriptores SQL (SQLDA) en la pgina 1267.
Antes de ejecutar la sentencia DESCRIBE, deben establecerse las siguientes
variables en la SQLDA:
SQLN Indica el nmero de variables representadas por SQLVAR. (SQLN
proporciona la dimensin de la matriz SQLVAR.) SQLN debe
establecerse en un valor mayor o igual que cero antes de ejecutar
la sentencia DESCRIBE.
SQLVAR secundaria
SQLDATATYPE_NAME
Para cualquier columna de tipo definido por el
usuario (diferenciado o estructurado), el gestor de
bases de datos establece esta opcin en el nombre del
tipo definido por el usuario, calificado al completo.
Para una columna de tipo de referencia, el gestor de
bases de datos establece esta opcin en el nombre
definido por el usuario, calificado al completo, del
tipo destino de la referencia. De lo contrario, el
nombre de esquema es SYSIBM y el nombre de tipo es
el nombre que aparece en la columna TYPENAME de
la vista de catlogo SYSCAT.DATATYPES.
Notas
v Antes de ejecutar la sentencia DESCRIBE, el valor de SQLN debe
establecerse de manera que indique cuntas ocurrencias de SQLVAR se
proporcionan en la SQLDA y debe asignarse suficiente almacenamiento
para contener ocurrencias de SQLN. Para obtener la descripcin de las
columnas de la tabla resultante de una sentencia SELECT preparada, el
nmero de ocurrencias de SQLVAR no debe ser menor que el nmero de
columnas.
v Si se espera un LOB de gran tamao, tenga en cuenta que el manejo de este
LOB afectar a la memoria de la aplicacin. Si se da esta condicin,
considere la posibilidad de utilizar localizadores o variables de referencia a
archivos. Modifique la SQLDA despus de ejecutar la sentencia DESCRIBE
pero antes de asignar almacenamiento para que un SQLTYPE de
SQL_TYP_xLOB se cambie a SQL_TYP_xLOB_LOCATOR o
SQL_TYP_xLOB_FILE con los cambios correspondientes a otros campos
como, por ejemplo, SQLLEN. Despus asigne el almacenamiento basado en
SQLTYPE y contine.
Consulte el manual Application Development Guide para obtener ms
informacin acerca de la utilizacin de localizadores y variables de
referencia a archivos con la SQLDA.
v Las conversiones de pginas de cdigos entre el cdigo Unix ampliado
(EUC) y las pginas de cdigos DBCS pueden dar como resultado la
expansin y contraccin de las longitudes de caracteres. Consulte el manual
Application Development Guide para obtener informacin acerca del manejo
de dichas situaciones.
v Si se selecciona un tipo estructurado, pero no se define ninguna
transformacin FROM SQL (porque no se especific ningn TRANSFORM
GROUP utilizando el registro especial CURRENT DEFAULT TRANSFORM
GROUP (SQLSTATE 428EM), o porque el grupo mencionado no tiene una
funcin de transformacin FROM SQL definida (SQLSTATE 42744)),
DESCRIBE emitir un error.
Esta tcnica permite una mejor gestin del almacenamiento que la primera
tcnica, pero dobla el nmero de sentencias DESCRIBE.
Tercera tcnica: Asigne una SQLDA que sea lo suficientemente grande para
manejar la mayora de, y quiz todas, las listas de seleccin pero que
tambin sea razonablemente pequea. Ejecute DESCRIBE y compruebe el
valor SQLD. Utilice el valor SQLD para el nmero de ocurrencias de
SQLVAR para asignar una SQLDA mayor, si es necesario.
Esta tcnica est comprendida entre las dos primeras tcnicas. Su eficacia
depende de una buena eleccin del tamao de la SQLDA original.
Ejemplo
En un programa C, ejecute una sentencia DESCRIBE con una SQLDA que no
tenga ninguna ocurrencia de SQLVAR. Si SQLD es mayor que cero, utilice el
92. La devolucin de estos SQLCODE positivos supone que el valor de la opcin de enlace SQLWARN era YES
(devuelve SQLCODE positivos). Si SQLWARN estaba establecido en NO, se sigue devolviendo +238 para indicar
que el nmero de entradas SQLVAR debe ser el doble del valor devuelto en SQLD.
... /* cdigo para comprobar que SQLD se mayor que cero, para establecer */
/* SQLN en SQLD, despus para volver a asignar SQLDA */
EXEC SQL DESCRIBE STMT1_NAME INTO :sqlda;
DISCONNECT
La sentencia DISCONNECT finaliza una o varias conexiones cuando no hay
ninguna unidad de trabajo activa (es decir, despus de una operacin de
confirmacin o retrotraccin).93
Invocacin
Aunque un recurso SQL interactivo pueda proporcionar una interfaz que d la
apariencia de ejecucin interactiva, esta sentencia slo puede incluirse dentro
de un programa de aplicacin. Se trata de una sentencia ejecutable que no
puede prepararse de forma dinmica.
Autorizacin
No se necesita ninguna.
Sintaxis
(1)
DISCONNECT nombre-servidor
variable-lengprinc
CURRENT
SQL
ALL
Notas:
1 Observe que un servidor de aplicaciones llamado CURRENT o ALL
slo puede identificarse mediante una variable del lenguaje principal.
Descripcin
nombre-servidor o variable-lengprinc
Identifica el servidor de aplicaciones mediante el nombre-servidor
especificado o mediante la variable-lengprinc donde est contenido el
nombre-servidor.
Si se especifica una variable-lengprinc, debe ser una variable de serie de
caracteres con un atributo de longitud no superior a 8 y no debe contener
una variable indicadora. El nombre-servidor contenido en la
variable-lengprinc debe estar justificado por la izquierda y no estar
delimitado por comillas.
Observe que el nombre-servidor es un seudnimo de base de datos que
identifica al servidor de aplicaciones. Debe estar listado en el directorio
local del peticionario de aplicaciones.
93. Si la sentencia DISCONNECT se emite para una conexin individual, la conexin slo finaliza si la base de datos
ha participado en cualquier unidad de trabajo existente, con independencia de si hay una unidad de trabajo
activa. Por ejemplo, si otras bases de datos han realizado tareas pero el destino en cuestin no lo ha hecho,
todava puede desconectarse sin finalizar la conexin.
DROP
La sentencia DROP suprime un objeto. Cualquier objeto que sea dependiente
directa o indirectamente de dicho objeto se suprime o pasa a estar no
operativo. (Consulte el apartado Desencadenante no operativo en la
pgina 917 y el apartado Vistas no operativas en la pgina 967 para obtener
detalles.) Siempre que se suprime un objeto, se suprime su descripcin del
catlogo y se invalidan los paquetes que hacen referencia al objeto.
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o bien emitirse
mediante la utilizacin de sentencias de SQL dinmicas. Se trata de una
sentencia ejecutable que puede prepararse de forma dinmica. Sin embargo, si
es aplicable la opcin de enlace DYNAMICRULES BIND, la sentencia no se
puede preparar de forma dinmica (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia DROP debe incluir uno de los privilegios
siguientes cuando se eliminan objetos que admiten nombres de dos partes; de
lo contrario se produce un error (SQLSTATE 42501):
v Autorizacin SYSADM o DBADM
v Privilegio DROPIN para el esquema del objeto
v Definidor del objeto, tal como est registrado en la columna DEFINER de la
vista de catlogo del objeto
v Privilegio CONTROL para el objeto (aplicable slo a ndices,
especificaciones de ndices, apodos, paquetes, tablas y vistas).
v Definidor del tipo definido por el usuario, tal como est registrado en la
columna DEFINER de la vista de catlogo SYSCAT.DATATYPES (slo
aplicable al eliminar un mtodo asociado a un tipo definido por el usuario)
(1)
DROP ALIAS nombre-seudnimo
BUFFERPOOL nombre-agrupalmacinter
EVENT MONITOR nombre-supervisor-sucesos
FUNCTION nombre-funcin
( )
,
tipo-datos
SPECIFIC FUNCTION nombre-especfico
FUNCTION MAPPING nombre-correlacin-funciones
(2)
INDEX nombre-ndice
INDEX EXTENSION nombre-extensin-ndice RESTRICT
METHOD nombre-mtodo FOR nombre-tipo
( )
,
tipodatos
SPECIFIC METHOD nombre-especfico
NICKNAME apodo
NODEGROUP nombre-gruponodos
(3)
PACKAGE nombre-paquete
PROCEDURE nombre-procedimiento
( )
,
tipo-datos
SPECIFIC PROCEDURE nombre-especfico
SCHEMA nombre-esquema RESTRICT
SEQUENCE nombre-secuencia RESTRICT
SERVER nombre-servidor
TABLE nombre-tabla
TABLE HIERARCHY nombre-tabla-raz
,
TABLESPACE nombre-espacio-tablas
TABLESPACES
TRANSFORM ALL FOR nombre-tipo
TRANSFORMS nombre-grupo
TRIGGER nombre-desencadenante
TYPE nombre-tipo
(4)
DISTINCT
TYPE MAPPING nombre-correlacin-tipos
USER MAPPING FOR nombre-autorizacin SERVER nombre-servidor
USER
VIEW nombre-vista
VIEW HIERARCHY nombre-vista-raz
WRAPPER nombre-reiniciador
Notas:
1 SYNONYM puede utilizarse como sinnimo de ALIAS.
2 Nombre-ndice puede ser el nombre de un ndice o una especificacin de
ndice.
3 PROGRAM puede utilizarse como sinnimo de PACKAGE.
4 Tambin puede utilizarse DATA cuando se elimine cualquier tipo
definido por el usuario.
Descripcin
ALIAS nombre-seudnimo
Identifica el seudnimo que se ha de eliminar. El nombre-seudnimo debe
designar un seudnimo descrito en el catlogo (SQLSTATE 42704). Se
suprime el seudnimo especificado.
Todas las tablas, vistas y desencadenantes94 que hacen referencia al
seudnimo dejan de estar operativas.
BUFFERPOOL nombre-agrupalmacinter
Identifica la agrupacin de almacenamientos intermedios que se ha de
eliminar. El nombre-agrupalmacinter debe identificar una agrupacin de
almacenamientos intermedios que est descrita en el catlogo (SQLSTATE
42704). Puede que no haya ningn espacio de tablas asignado a la
agrupacin de almacenamientos intermedios (SQLSTATE 42893). La
agrupacin de almacenamientos intermedios IBMDEFAULTBP no se
puede eliminar (SQLSTATE 42832). El almacenamiento para la agrupacin
de almacenamientos intermedios no se liberar hasta que se detenga la
base de datos.
EVENT MONITOR nombre-supervisor-sucesos
Identifica el supervisor de sucesos que se ha de eliminar. El
nombre-supervisor-sucesos debe identificar un supervisor de sucesos que se
describa en el catlogo (SQLSTATE 42704).
Si el supervisor de sucesos identificado es ON, se genera un error
(SQLSTATE 55034). De lo contrario, se suprime el supervisor de sucesos.
Si hay archivos de sucesos en la va de acceso de destino del supervisor
de sucesos cuando se elimina el supervisor de sucesos, los archivos de
sucesos no se suprimen. Sin embargo, si se crea un nuevo supervisor de
sucesos que especifica la misma va de acceso de destino, entonces se
suprimen los archivos de sucesos.
FUNCTION
Identifica una instancia de una funcin definida por el usuario (una
94. Esto incluye la tabla referenciada en la clusula ON de la sentencia CREATE TRIGGER y todas las tablas
referenciadas en las sentencias de SQL activadas.
METHOD nombre-mtodo
Identifica el mtodo en concreto que se debe eliminar y slo es vlido
si hay exactamente una instancia de mtodo con el nombre
nombre-mtodo y el tipo de sujeto nombre-tipo. El mtodo as
identificado puede tener un nmero cualquiera de parmetros. Si no
existe ningn mtodo con este nombre para el tipo nombre-tipo, se
produce un error (SQLSTATE 42704). Si existe ms de una instancia
especfica del mtodo para el tipo de datos mencionado, se produce
un error (SQLSTATE 42725).
METHOD nombre-mtodo (tipo-datos,...)
Proporciona la signatura del mtodo, que identifica de manera
exclusiva el mtodo que se debe eliminar. El algoritmo de seleccin de
mtodos no se utiliza.
nombre-mtodo
Es el nombre del mtodo que se debe eliminar correspondiente al
tipo especificado. El nombre debe ser un identificador no
calificado.
(tipo-datos,...)
Debe coincidir con los tipos de datos que se han especificado en la
sentencia CREATE FUNCTION o ALTER TYPE, en las posiciones
correspondientes la especificacin de mtodo. El nmero de tipos
de datos y la concatenacin lgica de los tipos de datos se utilizan
para identificar la instancia de mtodo especfica que se debe
eliminar.
Si tipo-datos no est calificado, el nombre de tipo se resuelve
efectuando una bsqueda en los esquemas de la va de acceso de
SQL.
Para los tipos de datos parametrizados no es necesario especificar
la longitud, la precisin ni la escala. En su lugar, se puede
codificar un conjunto vaco de parntesis para indicar que estos
atributos se han de pasar por alto al buscar coincidencias de un
tipo de datos.
No puede utilizarse FLOAT() (SQLSTATE 42601) puesto que el
valor del parmetro indica tipos de datos diferentes (REAL o
DOUBLE).
Sin embargo, si se codifica la longitud, la precisin o la escala, el
valor debe coincidir exactamente con el especificado en la
sentencia CREATE TYPE.
No es necesario que un tipo de FLOAT(n) coincida con el valor
definido para n puesto que 0 <n<25 significa REAL y 24<n<54
significa DOUBLE. La coincidencia se produce basndose en si el
tipo es REAL o DOUBLE.
96. Esto incluye tanto la tabla a la que la clusula ON de la sentencia CREATE TRIGGER hace referencia como todas
las tablas a las que se hace referencia en las sentencias de SQL activadas.
WRAPPER nombre-reiniciador
Identifica el reiniciador que se debe eliminar. El nombre-reiniciador debe
identificar un reiniciador que est descrito en el catlogo (SQLSTATE
42704). Se suprime el reiniciador.
Se eliminan todas las definiciones de servidor, correlaciones de funcin
definidas por el usuario y correlaciones de tipo de datos definidas por el
usuario que dependen del reiniciador. Tambin se eliminan todas las
correlaciones de funcin definidas por el usuario, apodos, correlaciones de
tipo de datos definidas por el usuario y correlaciones de usuario que son
dependientes de las definiciones de servidor. Se elimina cualquier
especificacin de ndice dependiente de estos apodos eliminados y se
marca como no operativa cualquier vista dependiente de estos apodos. Se
invalidan todos los paquetes dependientes de los objetos eliminados y
vistas no operativas.
Normas
Dependencias: La Tabla 29 en la pgina 1024 muestra las dependencias que los
objetos tienen entre s.97Se muestran cuatro tipos de dependencias distintas:
R Semntica de restriccin. El objeto principal no puede eliminarse
mientras exista el objeto que depende del l.
C Semntica en cascada. La eliminacin del objeto principal hace que el
objeto que depende de l (objeto dependiente) se elimine tambin. Sin
embargo, si el objeto dependiente no puede eliminarse debido a que
tiene una dependencia de restriccin en otro objeto, la eliminacin del
objeto principal fallar.
X Semntica de no operativo. La eliminacin del objeto principal hace
que el objeto que depende de l pase a estar no operativo. Permanece
no operativo hasta que un usuario lleva a cabo una accin explcita.
A Semntica de invalidacin/revalidacin automtica. La eliminacin
del objeto principal hace que el objeto que depende del mismo pase a
ser no vlido. El gestor de bases de datos intenta revalidar el objeto
no vlido.
97. No todas las dependencias se registran explcitamente en el catlogo. Por ejemplo, no hay ningn registro de las
restricciones de las que depende un paquete.
1
Esta dependencia est implcita en la dependencia de una tabla con
estas restricciones, desencadenantes o clave de particionamiento.
2
Si un paquete tiene una sentencia INSERT, UPDATE o DELETE que
acta en una vista, el paquete tiene una utilizacin de insercin,
actualizacin o supresin en la tabla base principal de la vista. En el
caso de UPDATE, el paquete tiene una utilizacin de actualizacin en
cada columna de la tabla base principal que se modifica por UPDATE.
Si un paquete tiene una sentencia que acta en una vista con tipo, la
creacin o eliminacin de cualquier vista de la misma jerarqua de
vistas invalidar el paquete.
3
Si un paquete, tabla de resumen,vista o desencadenante utiliza un
seudnimo, se convierte en dependiente del seudnimo y del objeto al
que el seudnimo hace referencia. Si el seudnimo est en una
cadena, se crea una dependencia de cada seudnimo de la cadena.
Los propios seudnimos no son dependientes de nada. Es posible
definir un seudnimo de un objeto que no exista.
4
Un tipo T definido por el usuario puede depender de otro tipo B
definido por el usuario si T:
v designa B como tipo de datos de un atributo
v tiene un atributo de REF(B)
Debido a que las condiciones descritas anteriormente son los nicos casos
en que se registran dependencias debido a la invocacin implcita de
transformaciones, las funciones, mtodos y paquetes son los nicos objetos
que pueden tener una dependencia respecto a funciones de transformacin
invocadas implcitamente. En cambio, las llamadas explcitas a funciones de
transformacin (en vistas y desencadenantes, por ejemplo) s que producen
las dependencias habituales de estos otros tipos de objetos respecto a
funciones de transformacin. Como resultado, una sentencia DROP
TRANSFORM puede tambin fallar debido a estas dependencias de tipo
explcito que los objetos tienen respecto a las transformaciones que estn
eliminando (SQLSTATE 42893).
Ejemplo 5:
Ejemplo 18: Eliminacin del mtodo BONUS para el tipo de datos EMP en el
esquema PERSONNEL.
DROP METHOD BONUS (SALARY DECIMAL(10,2)) FOR PERSONNEL.EMP
Descripcin
La sentencia END DECLARE SECTION puede codificarse en el programa de
aplicacin donde pueda haber declaraciones de acuerdo a las reglas del
lenguaje principal. Indica el final de una seccin de declaracin de variables
de lenguaje principal. Una seccin de variables de lenguaje principal empieza
por una sentencia BEGIN DECLARE SECTION (vea BEGIN DECLARE
SECTION en la pgina 615).
98. Vea Normas en la pgina 615 para conocer cmo se declaran variables de lenguaje principal en REXX cuando se
utilizan localizadores de LOB y variables de referencia a archivos.
Ejemplo
Vea BEGIN DECLARE SECTION en la pgina 615 para ver ejemplos que
utilizan la sentencia END DECLARE SECTION.
EXECUTE
La sentencia EXECUTE ejecuta una sentencia de SQL preparada.
Invocacin
Esta sentencia slo puede incluirse en un programa de aplicacin. Se trata de
una sentencia ejecutable que no puede prepararse de forma dinmica.
Autorizacin
Para las sentencias donde el control de autorizaciones se realiza durante la
ejecucin (sentencias DDL, GRANT y REVOKE), los privilegios del ID de
autorizacin de la sentencia deben incluir aquellos necesarios para ejecutar la
sentencia de SQL especificada por la sentencia PREPARE. El ID de
autorizacin de la sentencia puede verse afectado por la opcin de enlace
DYNAMICRULES. Consulte el apartado Caractersticas del SQL dinmico en
la ejecucin en la pgina 81.
USING variable-lengprinc
USING DESCRIPTOR nombre-descriptor
Descripcin
nombre-sentencia
Identifica la sentencia preparada que se ha de ejecutar. El nombre-sentencia
debe identificar una sentencia que se ha preparado con anterioridad y la
sentencia preparada no debe ser una sentencia SELECT.
USING
Introduce una lista de variables del lenguaje principal cuyos valores se
sustituyen por los marcadores de parmetros (signos de interrogacin) en
la sentencia preparada. (Para obtener una explicacin de marcadores de
parmetros, consulte el apartado PREPARE en la pgina 1099.) Si la
sentencia preparada incluye los marcadores de parmetros, se ha de
utilizar USING.
variable-lengprinc, ...
Identifica una variable del lenguaje principal que se declara en el
programa de acuerdo a las reglas para la declaracin de variables del
lenguaje principal. El nmero de variables debe ser igual al nmero
EXECUTE IMMEDIATE
La sentencia EXECUTE IMMEDIATE:
v Prepara una forma ejecutable de una sentencia de SQL a partir de una
forma de sentencia de serie de caracteres.
v Ejecuta la sentencia de SQL.
Descripcin
variables del lenguaje principal
Debe especificarse una variable del lenguaje principal y debe identificar
una variable del lenguaje principal que se describa en el programa de
acuerdo con las reglas para la declaracin de variables de serie de
caracteres. Debe ser una variable de serie de caracteres menor que el
tamao mximo de la sentencia (65 535). Observe que un CLOB(65535)
puede contener una sentencia de tamao mximo, pero un VARCHAR no
puede.
v CREATE
v DELETE
v DECLARE GLOBAL TEMPORARY TABLE
v DROP
v GRANT
v INSERT
v LOCK TABLE
v REFRESH TABLE
v RELEASE SAVEPOINT
v RENAME TABLE
v RENAME TABLESPACE
v REVOKE
v ROLLBACK
v SAVEPOINT
v SET CURRENT DEGREE
v SET CURRENT EXPLAIN MODE
v SET CURRENT EXPLAIN SNAPSHOT
v SET CURRENT QUERY OPTIMIZATION
v SET CURRENT REFRESH AGE
v SET CURRENT TRANSFORM GROUP
v SET EVENT MONITOR STATE
v SET INTEGRITY
v SET PASSTHRU
v SET PATH
v SET SCHEMA
v SET SERVER OPTION
v UPDATE
EXPLAIN
La sentencia EXPLAIN captura informacin acerca del plan de acceso elegido
para la sentencia explicable suministrada y coloca esta informacin en las
tablas Explain. (Consulte el Apndice K. Tablas de Explain y definiciones en
la pgina 1459 para obtener informacin sobre las tablas Explain y las
definiciones de tabla.)
Las reglas de autorizacin para las sentencias EXPLAIN estticas son las
reglas que se aplican a las versiones estticas de la sentencia pasada como la
sentencia-sql-explicable. Las sentencias EXPLAIN preparadas dinmicamente
utilizan las reglas de autorizacin proporcionadas para el parmetro
sentencia-sql-explicable.
FOR sentencia-sql-explicable
SET QUERYTAG = constante-serie
Notas:
1 Slo se da soporte a la opcin PLAN para la tolerancia de la sintaxis de
Para las sentencias EXPLAIN de SQL con enlace incremental, las tablas
Explain se llenan de datos cuando se somete a compilacin la sentencia
EXPLAIN. Cuando se ejecuta el paquete, la sentencia EXPLAIN no realiza
ningn proceso (aunque se ejecutar correctamente). Cuando las tablas
Explain se llenan con datos, el calificador de la tabla Explain y el ID de
autorizacin utilizado durante el llenado de datos sern los pertencientes al
propietario del paquete. La sentencia EXPLAIN tambin se puede utilizar
cuando es ventajoso establecer el campo QUERYNO o QUERYTAG en el
momento de la invocacin de Explain real.
Ejemplo 2:
FETCH
La sentencia FETCH posiciona el cursor en la siguiente fila de su tabla
resultante y asigna los valores de dicha fila a las variables del lenguaje
principal.
Invocacin
Aunque un recurso SQL interactivo pueda proporcionar una interfaz que d la
apariencia de ejecucin interactiva, esta sentencia slo puede incluirse dentro
de un programa de aplicacin. Se trata de una sentencia ejecutable que no
puede prepararse de forma dinmica.
Autorizacin
Vea DECLARE CURSOR en la pgina 976 para ver una explicacin de la
autorizacin necesaria para utilizar un cursor.
Sintaxis
,
Descripcin
nombre-cursor
Identifica el cursor que se va a utilizar en una operacin de lectura. El
nombre-cursor debe identificar un cursor declarado tal como se explica en
el apartado DECLARE CURSOR en la pgina 976. La sentencia
DECLARE CURSOR debe preceder a la sentencia FETCH en el programa
fuente. Cuando se ejecuta la sentencia FETCH, el cursor debe estar en el
estado abierto.
Si el cursor est situado actualmente en la ltima fila o despus de ella en
la tabla resultante:
v SQLCODE se establece en +100 y SQLSTATE se establece en '02000'.
v El cursor se sita despus de la ltima fila.
v Los valores no se asignan a las variables del lenguaje principal.
mientras (SQLCODE==0) {
Descripcin
nombre-supervisor-sucesos
Nombre del supervisor de sucesos. Este nombre slo se compone de una
parte. Es un identificador de SQL.
BUFFER
Indica que se han de grabar los almacenamientos intermedios del
supervisor de sucesos. Si se especifica BUFFER, no se generan los registros
parciales. Slo se graban los datos que ya estn presentes en los
almacenamientos intermedios del supervisor de sucesos.
Notas
v Cuando se desecha el supervisor de sucesos no se restauran los valores del
supervisor de sucesos. Esto significa que el registro del supervisor de
sucesos que se habra generado si no se hubiese desechado, se seguir
generando cuando se active el suceso del supervisor normal.
FREE LOCATOR
La sentencia FREE LOCATOR elimina la asociacin entre una variable
localizadora y su valor.
Invocacin
Esta sentencia slo puede incluirse en un programa de aplicacin. Se trata de
una sentencia ejecutable que no puede prepararse de forma dinmica.
Autorizacin
No se necesita.
Sintaxis
,
Descripcin
LOCATOR nombre-variable, ...
Identifica una o varias variables localizadoras que deben declararse de
acuerdo con las reglas para la declaracin de variables localizadoras.
La variable-localizadora debe tener actualmente un localizador asignado a
ella. Es decir, debe haberse asignado un localizador durante esta unidad
de trabajo (por una sentencia FETCH o una sentencia SELECT INTO) y no
debe haberse liberado posteriormente (por una sentencia FREE
LOCATOR); de lo contrario, se genera un error (SQLSTATE 0F001).
Si se especifica ms de un localizador, se liberan todos los localizadores
que se pueden liberar, sin tener en cuenta los errores detectados en otros
localizadores de la lista.
Ejemplo
En un programa COBOL, libere las variables localizadoras de BLOB,
TKN-VIDEO y TKN-BUF, y la variable localizadora de CLOB,
LIFE-STORY-LOCATOR.
EXEC SQL
FREE LOCATOR :TKN-VIDEO, :TKN-BUF, :LIFE-STORY-LOCATOR
END-EXEC.
TO nombre-autorizacin
USER
GROUP
PUBLIC
Descripcin
BINDADD
Otorga la autorizacin para crear paquetes. El creador de un paquete tiene
automticamente el privilegio CONTROL en dicho paquete y conserva
este privilegio incluso si se revoca posteriormente la autorizacin
BINDADD.
CONNECT
Otorga la autorizacin para acceder a la base de datos.
CREATETAB
Otorga la autorizacin para crear tablas base. El creador de una tabla base
TO
Especifica a quin se otorgan las autorizaciones.
USER
Especifica que el nombre-autorizacin identifica a un usuario.
GROUP
Especifica que el nombre-autorizacin identifica un nombre de grupo.
nombre-autorizacin,...
Lista los ID de autorizacin de uno o varios usuarios o grupos.
La lista de los ID de autorizacin no puede incluir el ID de
autorizacin del usuario que emite la sentencia (SQLSTATE 42502).
PUBLIC
Otorga las autorizaciones a todos los usuarios. DBADM no se puede
otorgar a PUBLIC.
Normas
v Si no se especifica USER ni GROUP, entonces
Si se define el nombre-autorizacin en el sistema operativo slo como
GROUP, entonces se supone GROUP.
Si se define el nombre-autorizacin en el sistema operativo slo como
USER o si no est definido, se supone USER.
Si el nombre-autorizacin est definido en el sistema operativo como
ambos, o se utiliza la autenticacin DCE,se genera un error (SQLSTATE
56092).
Ejemplos
Ejemplo 1: Otorgue a los usuarios WINKEN, BLINKEN y NOD la
autorizacin para conectarse a la base de datos.
GRANT CONNECT ON DATABASE TO USER WINKEN, USER BLINKEN, USER NOD
TO nombre-autorizacin
USER
GROUP
PUBLIC
Descripcin
CONTROL
Otorga el privilegio para eliminar el ndice. Esta es la autorizacin
CONTROL para los ndices, que se otorga automticamente a los
creadores de ndices.
ON INDEX nombre-ndice
Identifica el ndice para el cual se ha de otorgar el privilegio CONTROL.
TO
Especifica a quin se otorgan los privilegios.
USER
Especifica que el nombre-autorizacin identifica a un usuario.
GROUP
Especifica que el nombre-autorizacin identifica un nombre de grupo.
nombre-autorizacin,...
Lista los ID de autorizacin de uno o varios usuarios o grupos.
TO nombre-autorizacin
USER
GROUP
PUBLIC
Notas:
1 RUN se puede utilizar como sinnimo de EXECUTE.
2 PROGRAM puede utilizarse como sinnimo de PACKAGE.
Descripcin
BIND
Otorga el privilegio para enlazar un paquete. Realmente el privilegio
BIND es un privilegio de volver a enlazar, porque el paquete ya debe
haberse enlazado (por alguna persona con autorizacin BINDADD) para
poder existir.
Ejemplos
Ejemplo 1: Otorgue el privilegio EXECUTE en PACKAGE CORPDATA.PKGA
a PUBLIC.
GRANT EXECUTE
ON PACKAGE CORPDATA.PKGA
TO PUBLIC
o
GRANT EXECUTE ON PACKAGE
CORPDATA.PKGA TO USER EMPLOYEE
TO nombre-autorizacin
USER WITH GRANT OPTION
GROUP
PUBLIC
Descripcin
ALTERIN
Otorga el privilegio para modificar o comentar todos los objetos del
esquema. El propietario de un esquema creado explcitamente recibe
automticamente el privilegio ALTERIN.
CREATEIN
Otorga el privilegio para crear objetos en el esquema. Siguen
necesitndose las dems autorizaciones o privilegios necesarios para crear
el objeto (como CREATETAB). El propietario de un esquema creado
99. Si el paquete utilizado para procesar la sentencia se ha precompilado con LANGLEVEL establecido en SQL92E
para MIA, se devuelve un aviso (SQLSTATE 01007) a menos que el autorizador no tenga ningn privilegio sobre
el objeto del otorgamiento.
Descripcin
USAGE
Otorga el privilegio USAGE para una secuencia. El privilegio USAGE en
una secuencia es necesario cuando se invoca la expresin NEXTVAL o
PREVVAL con un nombre de secuencia especfico.
ON SEQUENCE nombre-secuencia
Identifica la secuencia en la que se debe otorgar el privilegio USAGE. El
nombre-secuencia, incluido el calificador de esquema implcito o explcito,
debe identificar de forma exclusiva una secuencia existente en el servidor
actual. Si no existe ninguna secuencia con este nombre en el esquema
especificado, se producir un error (SQLSTATE 42704).
TO PUBLIC
Otorga el privilegio USAGE a todos los usuarios.
Ejemplos
Ejemplo 1: Otorgue a cualquier usuario el privilegio en una secuencia llamada
ORG_SEQ
GRANT USAGE ON SEQUENCE ORG_SEQ TO PUBLIC
nombre-autorizacin
USER
GROUP
PUBLIC
Descripcin
nombre-servidor
Designa la fuente de datos para la cual se est otorgando el privilegio que
debe utilizarse en la modalidad de paso a travs. nombre-servidor debe
identificar una fuente de datos que est descrita en el catlogo.
TO
Especifica a quin se otorga el privilegio.
USER
Especifica que el nombre-autorizacin identifica a un usuario.
GROUP
Especifica que el nombre-autorizacin identifica un nombre de grupo.
nombre-autorizacin,...
Lista los ID de autorizacin de uno o varios usuarios o grupos.
La lista de los ID de autorizacin no puede incluir el ID de
autorizacin del usuario que emite la sentencia (SQLSTATE 42502).
PUBLIC
Otorga a todos los usuarios el privilegio de realizar un paso a travs
para nombre-servidor.
Ejemplos
Ejemplo 1: Otorgue a R. Smith y a J. Jones el privilegio de paso a travs para
la fuente de datos SERVALL. Sus ID de autorizacin son RSMITH y JJONES.
GRANT PASSTHRU ON SERVER SERVALL
TO USER RSMITH,
USER JJONES
Para otorgar privilegios sobre tablas y vistas de catlogo son necesarias las
autorizaciones SYSADM o DBADM.
Sintaxis
PRIVILEGES
GRANT ALL
,
ALTER
CONTROL
DELETE
INDEX
INSERT
REFERENCES
,
( nombre-columna )
SELECT
UPDATE
,
( nombre-columna )
,
TABLE
ON nombre-tabla TO nombre-autorizacin
(1) USER
nombre-vista GROUP
(2) PUBLIC
apodo
WITH GRANT OPTION
Notas:
1 Los privilegios ALTER, INDEX y REFERENCES no son aplicables a las
vistas.
2 Los privilegios DELETE, INSERT, SELECT y UPDATE no se aplican a
los apodos.
Descripcin
ALL o ALL PRIVILEGES
Otorga todos los privilegios adecuados, excepto CONTROL, en la tabla
base, vista o apodo llamado en la clusula ON.
Si el ID de autorizacin de la sentencia tiene el privilegio CONTROL en la
tabla, vista o apodo, o la autorizacin DBADM o SYSADM, entonces se
otorgan todos los privilegios aplicables al objeto (excepto CONTROL). De
lo contrario, los privilegios otorgados son todos los privilegios otorgables
que el ID de autorizacin de la sentencia tenga en la tabla, vista o apodo
identificado.
Si no se especifica ALL, debe especificarse una o varias palabras clave en
la lista de privilegios.
ALTER
Otorga el privilegio para:
v Aadir columnas a una definicin de tabla base.
v Crear o eliminar una clave primaria o una restriccin de unicidad en
una tabla base. Para obtener ms informacin acerca de la autorizacin
necesaria para crear o eliminar una clave primaria o una restriccin de
unicidad, consulte el apartado ALTER TABLE en la pgina 565.
v Crear o eliminar una clave fornea en una tabla base.
Tambin es necesario el privilegio REFERENCES en cada columna de la
tabla padre.
v Crear o eliminar una restriccin de comprobacin en una tabla base.
v Crear un desencadenante en una tabla base.
v Aadir, restablecer o eliminar una opcin de columna para un apodo.
La persona que define una tabla base, una tabla de resumen o un apodo
recibe automticamente el privilegio CONTROL.
REFERENCES
Otorga el privilegio para crear y eliminar una clave fornea que haga
referencia a la tabla como la tabla padre.
Si el ID de autorizacin de la sentencia tiene uno de los privilegios
siguientes:
v Autorizacin DBADM o SYSADM
v Privilegio CONTROL para la tabla
v REFERENCES WITH GRANT OPTION para la tabla
entonces los usuarios autorizados pueden crear restricciones de referencia
utilizando como clave padre todas las columnas de la tabla, incluso las
que se han aadido despus mediante la sentencia ALTER TABLE. De lo
contrario, los privilegios otorgados son todos los privilegios REFERENCES
de columna otorgables que el ID de autorizacin de la sentencia tiene en
la tabla identificada. Para obtener ms informacin acerca de la
autorizacin necesaria para crear o eliminar una clave fornea, consulte el
apartado ALTER TABLE en la pgina 565.
100. Se han eliminado las restricciones que existan en versiones anteriores sobre las operaciones de otorgar los ID de
autorizacin del usuario que emite la sentencia.
101. Se han eliminado las restricciones que existan en las versiones anteriores sobre el uso de los privilegios
otorgados a PUBLIC para las sentencias de SQL estticas y las sentencias CREATE VIEW.
102. Si el paquete utilizado para procesar la sentencia se ha precompilado con LANGLEVEL establecido en SQL92E
para MIA, se devuelve un aviso (SQLSTATE 01007) a menos que la persona que otorga NO tenga privilegios en
el objeto de la operacin de otorgar.
o
GRANT SELECT
ON CORPDATA.EMPLOYEE TO USER JOHN
o
GRANT SELECT ON CORPDATA.EMPLOYEE TO GROUP JOHN
En este caso, tanto los miembros del grupo D024 como el usuario D024
tendran permitido insertar (INSERT) y seleccionar (SELECT) en la tabla T1.
Tambin, se aadiran dos filas a la vista de catlogo SYSCAT.TABAUTH.
Ejemplo 8: El usuario JON ha creado un apodo para una tabla Oracle que no
tiene ndice. El apodo es ORAREM1. Ms tarde, Oracle DBA ha definido un
ndice para esta tabla. El usuario SHAWN ahora desea que DB2 sepa que este
ndice existe, de modo que el optimizador pueda idear estrategias para
acceder a la tabla de un modo ms eficaz. SHAWN puede informar a DB2 del
ndice creando una especificacin de ndice para ORAREM1. Otorgue a
SHAWN el privilegio para este apodo, de modo que podr crear la
especificacin de ndice.
GRANT INDEX ON NICKNAME ORAREM1
TO USER SHAWN
nombre-autorizacin
USER WITH GRANT OPTION
GROUP
PUBLIC
Descripcin
USE
Otorga el privilegio para especificar, de forma explcita o por omisin, el
espacio de tablas al crear una tabla. La opcin GRANT otorga
automticamente el privilegio USE al creador de un espacio de tablas.
OF TABLESPACE nombre-espacio-tablas
Identifica el espacio de tablas para el que debe otorgarse el privilegio
USE. El espacio de tablas no puede ser SYSCATSPACE (SQLSTATE 42838)
ni un espacio de tablas temporal del sistema (SQLSTATE 42809).
TO
Especifica a quin se otorga el privilegio USE.
USER
Especifica que el nombre-autorizacin identifica a un usuario.
GROUP
Especifica que el nombre-autorizacin identifica un nombre de grupo.
nombre-autorizacin
Lista los ID de autorizacin de uno o varios usuarios o grupos.
La lista de los ID de autorizacin no puede incluir el ID de
autorizacin del usuario que emite la sentencia (SQLSTATE 42502).
PUBLIC
Otorga el privilegio USE a todos los usuarios.
WITH GRANT OPTION
Permite que el nombre-autorizacin especificado otorgue el privilegio USE a
otros usuarios.
Si se omite WITH GRANT OPTION, el nombre-autorizacin especificado
slo puede otorgar el privilegio USE a otros usuarios si stos:
v tienen autorizacin SYSADM o DBADM, o bien
v han recibido la capacidad de otorgar el privilegio USE desde alguna
otra fuente.
Notas
Si no se especifica USER ni GROUP, entonces
v Si se define el nombre-autorizacin en el sistema operativo slo como
GROUP, entonces se supone GROUP.
v Si el nombre-autorizacin est definido en el sistema operativo slo como
USER, o si no est definido, se supone USER.
v Si el nombre-autorizacin est definido en el sistema operativo como BOTH,
o se utiliza la autenticacin DCE, se produce un error (SQLSTATE 56092).
Ejemplos
Ejemplo 1: Este ejemplo otorga al usuario BOBBY la capacidad para crear
tablas en el espacio de tablas PLANS y para otorgar este privilegio a otros
usuarios.
GRANT USE OF TABLESPACE PLANS TO BOBBY WITH GRANT OPTION
INCLUDE
La sentencia INCLUDE inserta declaraciones en un programa fuente.
Invocacin
Esta sentencia slo puede incluirse en un programa de aplicacin. No es una
sentencia ejecutable.
Autorizacin
No se necesita.
Sintaxis
INCLUDE SQLCA
SQLDA
nombre
Descripcin
SQLCA
Indica que se ha de incluir la descripcin de un rea de comunicaciones
SQL (SQLCA). Para ver una descripcin de la SQLCA, consulte el
Apndice B. Comunicaciones SQL (SQLCA) en la pgina 1261.
SQLDA
Indica que se ha de incluir la descripcin de un rea de descriptores SQL
(SQLDA). Para ver una descripcin de la SQLDA, consulte el
Apndice C. rea de descriptores SQL (SQLDA) en la pgina 1267.
nombre
Identifica un archivo externo que contiene el texto que se ha de incluir en
el programa fuente que se est precompilando. Puede ser un identificador
SQL sin ninguna extensin de nombre de archivo o un literal entre
comillas simples (' '). Un identificador SQL asume la extensin del nombre
de archivo del archivo fuente que se est precompilando. Si no se
proporciona ninguna extensin de nombre de archivo mediante un literal
entrecomillado, entonces no se asume ninguna.
Para obtener informacin especfica del lenguaje principal, consulte el
manual Application Development Guide.
Notas
v Cuando se precompila un programa, la sentencia INCLUDE se sustituye
por las sentencias fuente. Por lo tanto, la sentencia INCLUDE debe
especificarse en un punto del programa en el que las sentencias fuente
resultantes sean aceptables para el compilador.
v El archivo fuente externo debe estar escrito en el lenguaje principal
especificado por el nombre. Si es superior a 18 caracteres o contiene
caracteres que no estn permitidos en un identificador SQL, debe ir
mientras (SQLCODE==0) {
EXEC SQL FETCH C1 INTO :dnum, :dname, :mnum;
(Imprimir resultados)
INSERT
La sentencia INSERT inserta filas en una tabla o vista. La insercin de una fila
en una vista tambin inserta la fila en la tabla en la que se basa la vista.
Invocacin
Esta sentencia se puede intercalar en un programa de aplicacin o se puede
emitir utilizando sentencias de SQL dinmicas. Es una sentencia ejecutable
que puede prepararse de forma dinmica.
Autorizacin
Para ejecutar esta sentencia, el ID de autorizacin de la sentencia debe tener
como mnimo uno de los privilegios siguientes:
v Privilegio INSERT para la tabla o vista donde se deben insertar las filas
v Privilegio CONTROL para la tabla o vista donde se deben insertar las filas
v Autorizacin SYSADM o DBADM.
( nombre-columna )
VALUES expresin
NULL WITH RR
DEFAULT RS
, CS
UR
( expresin )
NULL
DEFAULT
seleccin completa
,
WITH expresin-tabla-comn
seleccin completa
Especifica un conjunto de filas nuevas en la forma de la tabla resultante
de una seleccin completa. Puede haber una, ms de una o ninguna. Si la
tabla resultante est vaca, SQLCODE se establece en +100 y SQLSTATE se
establece en '02000'.
Cuando el objeto base de INSERT y el objeto base de la seleccin
completa o cualquier subconsulta de la seleccin completa, son la misma
tabla, la seleccin completa se evala por completo antes de insertar
alguna fila.
El nmero de columnas de la tabla resultante debe ser igual al nmero de
nombres de la lista de columnas. El valor de la primera columna del
resultado se inserta en la primera columna de la lista, el segundo valor en
la segunda columna, etctera.
WITH
Especifica el nivel de aislamiento en el que se ejecuta la seleccin
completa (fullselect).
RR
Lectura repetible
RS
Estabilidad de lectura
CS
Estabilidad del cursor
UR
Lectura no confirmada
103. Antes del clculo no se realiza ninguna conversin del valor anterior al tipo fuente.
En la tabla del ejemplo anterior, formada por una sola columna que tiene el
atributo de identidad, para insertar varias filas con una nica sentencia
INSERT puede utilizarse esta sentencia:
INSERT INTO IDTABLE
VALUES (DEFAULT), (DEFAULT), (DEFAULT), (DEFAULT)
v Cuando DB2 genera un valor para una columna de identidad, ese valor
generado caduca; la prxima vez que sea necesario un valor, DB2 generar
uno nuevo. Esto es vlido aunque falle o se cancele una sentencia INSERT
en la que interviene una columna de identidad.
Por ejemplo, suponga que se ha creado un ndice de unicidad para la
columna de identidad. Si al generar un valor para una columna de
identidad se detecta una violacin de clave duplicada, se produce un error
(SQLSTATE 23505) y se considera que el valor generado para la columna de
identidad ha caducado. Esto puede ocurrir si la columna de identidad est
definida como GENERATED BY DEFAULT y el sistema intenta generar un
nuevo valor, pero el usuario ha especificado explcitamente valores para la
columna de identidad en sentencias INSERT anteriores. En este caso, el
volver a emitir la misma sentencia INSERT puede producir un resultado
satisfactorio. DB2 generar el valor siguiente para la columna de identidad
y es posible que este valor siguiente sea exclusivo, y que la sentencia
INSERT tenga xito.
Ejemplo 4: Cree una tabla temporal MA_EMP_ACT con las mismas columnas
que la tabla EMP_ACT. Cargue MA_EMP_ACT con las filas de la tabla
EMP_ACT con un nuevo nmero de proyecto (PROJNO) que empieza por las
letras MA.
CREATE TABLEMA_EMP_ACT
( EMPNO CHAR(6) NOT NULL,
PROJNO CHAR(6) NOT NULL,
ACTNO SMALLINT NOT NULL,
EMPTIME DEC(5,2),
EMSTDATE DATE,
EMENDATE DATE )
INSERT INTOMA_EMP_ACT
SELECT * FROM EMP_ACT
WHERE SUBSTR(PROJNO, 1, 2) = 'MA'
LOCK TABLE
La sentencia LOCK TABLE impide que procesos de aplicacin simultneos
cambien una tabla o impide que procesos de aplicacin simultneos utilicen
una tabla.
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o bien emitirse
mediante la utilizacin de sentencias de SQL dinmicas. Se trata de una
sentencia ejecutable que puede prepararse de forma dinmica.
Autorizacin
El ID de autorizacin de la sentencia debe tener al menos uno de los
privilegios siguientes:
v Privilegio SELECT para la tabla
v Privilegio CONTROL para la tabla
v Autorizacin SYSADM o DBADM.
Sintaxis
LOCK TABLE nombre-tabla IN SHARE MODE
EXCLUSIVE
Descripcin
nombre-tabla
Identifica la tabla. El nombre-tabla debe identificar una tabla que exista en
el servidor de aplicaciones, pero no debe identificar una tabla de catlogo.
El nombre de tabla no puede ser un apodo (SQLSTATE 42809) ni una
tabla temporal declarada (SQLSTATE 42995). Si nombre-tabla es una tabla
con tipo, debe ser la tabla raz de la jerarqua de tablas (SQLSTATE
428DR).
IN SHARE MODE
Impide que procesos de aplicacin simultneos ejecuten alguna operacin
que no sea de slo lectura en la tabla.
IN EXCLUSIVE MODE
Impide a los procesos de aplicacin simultneos ejecutar cualquier
operacin en la tabla. Tenga en cuenta que EXCLUSIVE MODE no impide
que los procesos de aplicacin simultneos que estn ejecutando en el
nivel de aislamiento Lectura no confirmada (UR) ejecuten operaciones de
slo lectura en la tabla.
Notas
v El bloqueo se utiliza para evitar operaciones simultneas. No se adquiere
necesariamente un bloqueo durante la ejecucin de la sentencia LOCK
OPEN
La sentencia OPEN abre un cursor para que pueda utilizarse para leer filas de
la tabla resultante.
Invocacin
Aunque un recurso SQL interactivo pueda proporcionar una interfaz que d la
apariencia de ejecucin interactiva, esta sentencia slo puede incluirse dentro
de un programa de aplicacin. Se trata de una sentencia ejecutable que no
puede prepararse de forma dinmica.
Autorizacin
Consulte DECLARE CURSOR en la pgina 976 para conocer la autorizacin
necesaria para utilizar un cursor.
Sintaxis
OPEN nombre-cursor
,
USING variable-lengprinc
USING DESCRIPTOR nombre-descriptor
Descripcin
nombre-cursor
Identifica un cursor que se define en una sentencia DECLARE CURSOR
que se ha expresado antes en el programa. Cuando se ejecuta la sentencia
OPEN, el cursor debe estar en el estado cerrado.
La sentencia DECLARE CURSOR debe identificar una sentencia SELECT,
de una de las siguientes maneras:
v Incluyendo la sentencia SELECT en la sentencia DECLARE CURSOR
v Incluyendo un nombre-sentencia que identifique una sentencia SELECT
preparada.
Normas
v Cuando se evala la sentencia SELECT del cursor, cada marcador de
parmetros de la sentencia se sustituye efectivamente por su variable del
lenguaje principal correspondiente. Para un marcador de parmetros con
tipo, los atributos de la variable de destino son aquellos especificados por la
especificacin CAST. Para un marcador de parmetros sin tipo, los atributos
de la variable de destino se determinan de acuerdo al contexto del
marcador de parmetros. Consulte las reglas que afectan a los marcadores
de parmetros en el apartado Normas en la pgina 1100.
v Supongamos que V indique una variable del lenguaje principal que
corresponda al marcador de parmetros P. El valor de P se asigna a la
variable de destino para P de acuerdo con las normas de asignacin de un
valor a una columna. Por lo tanto:
V debe ser compatible con el destino.
Si V es una serie, su longitud no debe ser mayor que el atributo de
longitud del destino.
Si V es un nmero, el valor absoluto de su parte correspondiente al
entero no debe ser mayor que el valor absoluto mximo de la parte
correspondiente a los enteros del destino.
Si los atributos de V no son idnticos a los atributos del destino, el valor
se convierte para ajustarse a los atributos del destino.
PREPARE
La sentencia PREPARE se utiliza por los programas de aplicacin para
preparar dinmicamente una sentencia de SQL para ejecucin. La sentencia
PREPARE crea una sentencia de SQL ejecutable, llamada una sentencia
preparada, a partir de una forma de sentencia de serie de caracteres,
denominada una serie de sentencia.
Invocacin
Esta sentencia slo puede incluirse en un programa de aplicacin. Se trata de
una sentencia ejecutable que no puede prepararse de forma dinmica.
Autorizacin
Para las sentencias en las que el control de autorizaciones se realiza al
preparar la sentencia (DML), los privilegios del ID de autorizacin de la
sentencia deben incluir los necesarios para ejecutar la sentencia de SQL
especificada por la sentencia PREPARE. El ID de autorizacin de la sentencia
puede verse afectado por la opcin de enlace DYNAMICRULES. Consulte el
apartado Caractersticas del SQL dinmico en la ejecucin en la pgina 81.
FROM variable-lengprinc
Descripcin
nombre-sentencia
Identifica la sentencia preparada. Si el nombre identifica una sentencia
preparada existente, se destruye dicha sentencia preparada previamente.
El nombre no debe identificar ninguna sentencia preparada que sea la
sentencia SELECT de un cursor abierto.
INTO
Si se utiliza INTO y la sentencia PREPARE se ejecuta satisfactoriamente, la
informacin acerca de la sentencia preparada se coloca en la SQLDA
especificada por el nombre-descriptor.
nombre-descriptor
Es el nombre de un SQLDA.104
FROM
Introduce la serie de la sentencia. La serie de la sentencia es el valor de la
variable del lenguaje principal especificada.
variable-lengprinc
Debe identificar una variable del lenguaje principal que est descrita
en el programa de acuerdo con las reglas para la declaracin de
variables de serie de caracteres. Debe ser una variable de serie de
caracteres (de longitud fija o de longitud variable).
Normas
v Reglas para las sentencias: La sentencia debe ser una sentencia ejecutable
que se pueda preparar dinmicamente. Debe ser una de las siguientes
sentencias de SQL:
ALTER
COMMENT ON
COMMIT
CREATE
DECLARE GLOBAL TEMPORARY TABLE
DELETE
DROP
EXPLAIN
FLUSH EVENT MONITOR
GRANT
INSERT
LOCK TABLE
REFRESH TABLE
RELEASE SAVEPOINT
RENAME TABLE
RENAME TABLESPACE
REVOKE
ROLLBACK
SAVEPOINT
sentencia-select
SET CURRENT DEFAULT TRANSFORM GROUP
104. La sentencia DESCRIBE puede utilizarse como una alternativa a esta clusula. Consulte el apartado DESCRIBE
en la pgina 997.
Notas
v Cuando se ejecuta una sentencia PREPARE, la serie de sentencia se analiza
y se comprueba si hay errores. Si la sentencia no es valida, la condicin de
error se notifica en la SQLCA. Cualquier sentencia EXECUTE u OPEN que
hace referencia a esta sentencia tambin recibir el mismo error (debido a
una preparacin implcita realizada por el sistema) a menos que se haya
corregido el error.
v Se puede hacer referencia a sentencias preparadas en las siguientes clases
de sentencias, con las restricciones que se indican:
En... La sentencia preparada ...
DECLARE CURSOR debe ser SELECT
EXECUTE no debe ser SELECT
v Una sentencia preparada se puede ejecutar muchas veces. En efecto, si una
sentencia preparada no se ejecuta ms de una vez y no contiene marcadores
de parmetros, es ms eficaz utilizar la sentencia EXECUTE IMMEDIATE
en lugar de las sentencias PREPARE y EXECUTE.
v La puesta en antememoria de la sentencia afecta a las preparaciones
repetidas. Consulte el apartado Notas en la pgina 1037 para obtener ms
informacin.
SQLDAID 192
SQLDABC 4
SQLN 4
SQLD
SQLTYPE 452
SQLLEN 3
SQLDATA G01
SQLIND
SQLNAME
SQLTYPE 449
SQLLEN 29
SQLDATA COMPLAINTS
SQLIND 0
SQLNAME
SQLTYPE 453
SQLLEN 6
SQLDATA
SQLIND -1
SQLNAME
SQLTYPE 453
SQLLEN 3
SQLDATA A00
SQLIND 0
SQLNAME
REFRESH TABLE
La sentencia REFRESH TABLE renueva los datos de una tabla de resumen.
Invocacin
Esta sentencia se puede intercalar en un programa de aplicacin o se puede
emitir utilizando sentencias de SQL dinmicas. Es una sentencia ejecutable
que puede prepararse de forma dinmica.
Autorizacin
El ID de autorizacin de la sentencia debe tener al menos uno de los
privilegios siguientes:
v Autorizacin SYSADM o DBADM
v Privilegio CONTROL para la tabla.
Sintaxis
,
Descripcin
nombre-tabla
Identifica la tabla que se debe renovar.
El nombre, incluyendo el esquema implcito o explcito, debe identificar
una tabla que ya exista en el servidor actual. La tabla debe permitir la
sentencia REFRESH TABLE (SQLSTATE 42809). Incluye tablas de resumen
definidas con:
v REFRESH IMMEDIATE
v REFRESH DEFERRED
RELEASE (Conexin)
Esta sentencia coloca una o ms conexiones en el estado de pendiente de
liberacin.
Invocacin
Aunque un recurso SQL interactivo pueda proporcionar una interfaz que d la
apariencia de ejecucin interactiva, esta sentencia slo puede incluirse dentro
de un programa de aplicacin. Se trata de una sentencia ejecutable que no
puede prepararse de forma dinmica.
Autorizacin
No se necesita ninguna.
Sintaxis
(1)
RELEASE nombre-servidor
variable-lengprinc
CURRENT
SQL
ALL
Notas:
1 Observe que un servidor de aplicaciones llamado CURRENT o ALL
slo puede identificarse mediante una variable del lenguaje principal.
Descripcin
nombre-servidor o variable-lengprinc
Identifica el servidor de aplicaciones mediante el nombre-servidor
especificado o una variable-lengprinc que contenga el nombre-servidor.
Si se especifica una variable-lengprinc, debe ser una variable de serie de
caracteres con un atributo de longitud no superior a 8 y no debe contener
una variable indicadora. El nombre-servidor que est contenido en la
variable-lengprinc debe estar justificado por la izquierda y no debe estar
delimitado por comillas.
Observe que el nombre-servidor es un seudnimo de base de datos que
identifica al servidor de aplicaciones. Debe estar listado en el directorio
local del peticionario de aplicaciones.
El seudnimo-basedatos especificado o el seudnimo-basedatos contenido
en la variable del lenguaje principal debe identificar una conexin
existente del proceso de aplicacin. Si el seudnimo-basedatos no
identifica ninguna conexin existente, se genera un error (SQLSTATE
08003).
CURRENT
Identifica la conexin actual del proceso de aplicacin. El proceso de
aplicacin debe estar en el estado conectado. Si no se genera un error
(SQLSTATE 08003).
ALL
Indica que todas las conexiones existentes del proceso de aplicacin. Este
formato de la sentencia RELEASE coloca todas las conexiones existentes
del proceso de aplicacin en el estado pendiente de liberacin. Por lo
tanto, todas las conexiones se destruirn durante la siguiente operacin de
confirmacin. No se produce ningn error ni aviso si no existen
conexiones cuando se ejecuta la sentencia. La palabra clave opcional SQL
se incluye para ser compatible con la sintaxis DB2/MVS SQL.
Notas
Ejemplos
Ejemplo 1: La aplicacin ya no necesita la conexin SQL con IBMSTHDB. La
sentencia siguiente har que se destruya durante la siguiente operacin de
confirmacin:
EXEC SQL RELEASE IBMSTHDB;
RELEASE SAVEPOINT
La sentencia RELEASE SAVEPOINT sirve para indicar que la aplicacin ya no
desea mantener el punto de salvar especificado. Despus de invocar esta
sentencia, ya no es posible hacer una retrotraccin hasta el punto de salvar.
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o emitirse de
forma interactiva. Se trata de una sentencia ejecutable que puede prepararse
de forma dinmica.
Autorizacin
No se necesita.
Sintaxis
TO
RELEASE SAVEPOINT nombre-puntosalvar
Descripcin
nombre-puntosalvar
Se libera el punto de salvar especificado. Ya no es posible hacer una
retrotraccin hasta ese punto de salvar. Si el nombre del punto de salvar
no existe, se devuelve un error (SQLSTATE 3B001).
Notas
v El nombre del punto de salvar que se liber se puede volver a utilizar en
otra sentencia SAVEPOINT, aunque se haya especificado la palabra clave
UNIQUE en una sentencia SAVEPOINT anterior donde se utiliza este
mismo nombre de punto de salvar.
Ejemplo
Ejemplo 1: Liberacin de un punto de salvar llamado SAVEPOINT1.
RELEASE SAVEPOINT SAVEPOINT1
RENAME TABLE
La sentencia RENAME TABLE cambia el nombre de una tabla existente.
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o bien emitirse
mediante la utilizacin de sentencias de SQL dinmicas. Se trata de una
sentencia ejecutable que se puede preparar dinmicamente. Sin embargo, si es
aplicable la opcin de enlace DYNAMICRULES BIND, la sentencia no se
puede preparar de forma dinmica (SQLSTATE 42509).
Autorizacin
Los privilegios que posee el ID de autorizacin de la sentencia deben incluir
la autorizacin SYSADM o DBADM o el privilegio CONTROL.
Sintaxis
TABLE
RENAME nombre-tabla TO identificador-tabla-nuevo
Descripcin
nombre-tabla
Identifica la tabla existente que se ha de redenominar. El nombre,
incluyendo el nombre de esquema, debe identificar una tabla que ya
exista en la base de datos (SQLSTATE 42704). Puede ser un seudnimo
que identifique la tabla. No puede ser el nombre de una tabla de catlogo
(SQLSTATE 42832), una tabla de resumen (SQLSTATE 42997), una tabla
con tipo (SQLSTATE 42997), un apodo ni un objeto distinto de una tabla o
seudnimo (SQLSTATE 42809).
identificador-tabla-nuevo
Especifica el nuevo nombre para la tabla sin un nombre de esquema. Se
utiliza el nombre de esquema del nombre-tabla para calificar el nuevo
nombre de la tabla. El nombre calificado no debe identificar una tabla, una
vista ni un seudnimo que ya exista en la base de datos (SQLSTATE
42710).
Normas
La tabla fuente debe cumplir estas condiciones:
v No estar referenciada en ninguna definicin de vista existente o definicin
de tabla de resumen
v No estar referenciada en ninguna sentencia de SQL activada de
desencadenantes existentes ni ser la tabla sujeto de un desencadenante
existente
v No estar referenciada en una funcin SQL
v No tener ninguna restriccin de comprobacin
RENAME TABLESPACE
La sentencia RENAME TABLESPACE cambia el nombre de un espacio de
tablas existente.
Invocacin
Esta sentencia se puede intercalar en un programa de aplicacin o se puede
emitir utilizando sentencias de SQL dinmicas. Es una sentencia ejecutable
que puede prepararse de forma dinmica. Sin embargo, si es aplicable la
opcin de enlace DYNAMICRULES BIND, la sentencia no se puede preparar
de forma dinmica (SQLSTATE 42509).
Autorizacin
El ID de autorizacin de la sentencia debe tener autorizacin SYSADM o
SYSCTRL.
Sintaxis
RENAME TABLESPACE nombre-espacio-tablas-fuente TO nombre-espacio-tablas-destino
Descripcin
nombre-espacio-tablas-fuente
Especifica, en forma de nombre que consta de un solo elemento, el
espacio de tablas existente que se debe redenominar. Es un identificador
de SQL (ordinario o delimitado). El nombre debe identificar un espacio de
tablas que ya exista en el catlogo (SQLSTATE 42704).
nombre-espacio-tablas-destino
Especifica el nuevo nombre del espacio de tablas, en forma de nombre
formado por un solo elemento. Es un identificador de SQL (ordinario o
delimitado). El nombre no no debe identificar un espacio de tablas que ya
exista en el catlogo (SQLSTATE 42710) y no puede comenzar con SYS
(SQLSTATE 42939).
Normas
v El espacio de tablas SYSCATSPACE no se puede redenominar (SQLSTATE
42832).
v Los espacios de tablas cuyo estado sea recuperacin pendiente o
recuperacin en proceso no se pueden redenominar (SQLSTATE 55039)
Notas
v Cuando se redenomina un espacio de tablas, se actualiza su tiempo mnimo
de recuperacin hasta el momento en que se cambi el nombre. Esto
implica que una recuperacin hecha a nivel de espacio de tablas debe
hacerse como mnimo hasta alcanzar ese momento.
FROM nombre-autorizacin
USER
GROUP
PUBLIC
Descripcin
BINDADD
Revoca la autorizacin para crear paquetes. El creador de un paquete
tiene automticamente el privilegio CONTROL en dicho paquete y
conserva este privilegio incluso si se revoca posteriormente la autorizacin
BINDADD.
FROM nombre-autorizacin
USER
GROUP
PUBLIC
Descripcin
CONTROL
Revoca el privilegio para eliminar el ndice. Este es el privilegio
CONTROL para ndices, que se otorga automticamente a los creadores
de ndices.
ON INDEX nombre-ndice
Especifica el nombre del ndice en el que se ha de revocar el privilegio
CONTROL.
FROM
Indica de quin se han de revocar los privilegios.
USER
Especifica que el nombre-autorizacin identifica a un usuario.
GROUP
Especifica que el nombre-autorizacin identifica un nombre de grupo.
nombre-autorizacin,...
Lista uno o varios ID de autorizacin.
FROM nombre-autorizacin
USER
GROUP
PUBLIC
Notas:
1 RUN se puede utilizar como sinnimo de EXECUTE.
2 PROGRAM puede utilizarse como sinnimo de PACKAGE.
Descripcin
BIND
Revoca el privilegio para ejecutar BIND o REBIND en el paquete de
referencia.
Notas
v La revocacin de un privilegio especfico no revoca necesariamente la
posibilidad de realizar la accin. Un usuario puede seguir con su tarea si
PUBLIC o un grupo poseen otros privilegios, o si tienen privilegios como,
por ejemplo, ALTERIN en el esquema de un paquete.
Ejemplos
Ejemplo 1: Revoque el privilegio EXECUTE en el paquete CORPDATA.PKGA
de PUBLIC.
REVOKE EXECUTE
ON PACKAGE CORPDATA.PKGA
FROM PUBLIC
FROM nombre-autorizacin
USER
GROUP
PUBLIC
Descripcin
ALTERIN
Revoca el privilegio para modificar o comentar los objetos del esquema.
CREATEIN
Revoca el privilegio para crear objetos en el esquema.
DROPIN
Revoca el privilegio para eliminar objetos en el esquema.
ON SCHEMA nombre-esquema
Especifica el nombre del esquema en el que se han de revocar los
privilegios.
FROM
Indica de quin se han de revocar los privilegios.
USER
Especifica que el nombre-autorizacin identifica a un usuario.
GROUP
Especifica que el nombre-autorizacin identifica un nombre de grupo.
nombre-autorizacin,...
Lista uno o varios ID de autorizacin.
El ID de autorizacin de la propia sentencia REVOKE no se puede
utilizar (SQLSTATE 42502). No se pueden revocar privilegios para un
nombre-autorizacin que sea igual que el ID de autorizacin de la
sentencia REVOKE.
PUBLIC
Revoca los privilegios de PUBLIC.
Normas
v Si no se especifica USER ni GROUP, entonces:
Si todas las filas del destinatario de la operacin de otorgar en la vista de
catlogo SYSCAT.SCHEMAAUTH tienen GRANTEETYPE de U, se
supone USER.
Si todas las filas tienen GRANTEETYPE de G, entonces se supone
GROUP.
Si algunas filas tienen U y otras tienen G, se genera un error (SQLSTATE
56092).
Si se utiliza la autenticacin DCE, se genera un error (SQLSTATE 56092).
Notas
v La revocacin de un privilegio especfico no revoca necesariamente la
posibilidad de realizar la accin. Un usuario puede seguir con su tarea si
PUBLIC o un grupo tienen otros privilegios o si tienen una autorizacin de
nivel superior como, por ejemplo, DBADM.
Ejemplos
Ejemplo 1: Suponiendo que USER4 sea slo un usuario y no un grupo,
revoque el privilegio para crear objetos en el esquema DEPTIDX del usuario
USER4.
REVOKE CREATEIN ON SCHEMA DEPTIDX FROM USER4
nombre-autorizacin
USER
GROUP
PUBLIC
Descripcin
SERVER nombre-servidor
Nombra la fuente de datos para la cual se est revocando el privilegio
para utilizarse en modalidad de paso a travs. nombre-servidor debe
identificar una fuente de datos que est descrita en el catlogo.
FROM
Especifica a quin se revoca el privilegio.
USER
Especifica que el nombre-autorizacin identifica a un usuario.
GROUP
Especifica que el nombre-autorizacin identifica un nombre de grupo.
nombre-autorizacin,...
Lista los ID de autorizacin de uno o varios usuarios o grupos.
El ID de autorizacin de la propia sentencia REVOKE no se puede
utilizar (SQLSTATE 42502). No se pueden revocar privilegios para un
nombre-autorizacin que sea igual que el ID de autorizacin de la
sentencia REVOKE.
PUBLIC
Revoca a todos los usuarios el privilegio de realizar un paso a travs
para nombre-servidor.
Ejemplos
Ejemplo 1: Revoque el privilegio que USER6 tiene para utilizar la modalidad
de paso a travs para la fuente de datos MOUNTAIN.
REVOKE PASSTHRU ON SERVER MOUNTAIN FROM USER USER6
FROM nombre-autorizacin
USER
GROUP
PUBLIC
Descripcin
ALL o ALL PRIVILEGES
Revoca todos los privilegios que tiene un nombre-autorizacin para las
tablas, vistas o apodos especificados.
Si no se utiliza ALL, deben utilizarse una o varias de las palabras clave
listadas abajo. Cada palabra clave revoca el privilegio descrito, pero slo
si se aplica a las tablas o vistas nombradas en la clusula ON. No se debe
especificar la misma palabra clave ms de una vez.
ALTER
Revoca el privilegio para aadir columnas a la definicin de la tabla base;
crear o eliminar una clave primaria o restriccin de unicidad en la tabla;
crear o eliminar una clave fornea en la tabla; aadir/cambiar un
comentario en la tabla, vista o apodo; crear o eliminar una restriccin de
comprobacin; crear un desencadenante; aadir, restablecer o eliminar una
opcin de columna para un apodo; o cambiar nombres de columna de
apodo o tipos de datos.
CONTROL
Revoca la capacidad para eliminar la tabla base, vista o apodo y para
ejecutar el programa de utilidad RUNSTATS sobre la tabla y los ndices.
La revocacin del privilegio CONTROL en un nombre-autorizacin no
revoca otros privilegios otorgados al usuario de dicho objeto.
DELETE
Revoca el privilegio para suprimir filas de la tabla o de la vista
actualizable.
INDEX
Revoca el privilegio para crear un ndice en la tabla o una especificacin
de ndice en el apodo. El creador de un ndice o de una especificacin de
ndice tiene automticamente el privilegio CONTROL en el ndice o en la
especificacin de ndice (que autoriza al creador a eliminar el ndice o la
especificacin de ndice). As mismo, el creador mantiene este privilegio
incluso si se revoca el privilegio INDEX.
INSERT
Revoca el privilegio para insertar filas en la tabla o vista actualizable y el
privilegio para ejecutar el programa de utilidad IMPORT.
REFERENCES
Revoca el privilegio para crear o eliminar una clave fornea que haga
referencia a la tabla como padre. Cualquier privilegio REFERENCES de
nivel de columna tambin se revoca.
SELECT
Revoca el privilegio para recuperar filas de la tabla o vista, para crear una
vista en una tabla y para ejecutar el programa de utilidad EXPORT sobre
la tabla o vista.
La revocacin del privilegio SELECT puede provocar que algunas vistas
se marquen como no operativas. Para obtener informacin sobre vistas no
operativas, consulte el apartado Notas en la pgina 966.
UPDATE
Revoca el privilegio para actualizar filas de la tabla o vista actualizable.
Cualquier privilegio UPDATE de nivel de columna tambin se revoca.
ON TABLE nombre-tabla o nombre-vista o apodo
Especifica la tabla, vista o apodo en los que se han de revocar los
privilegios. El nombre-tabla no puede ser una tabla temporal declarada
(SQLSTATE 42995).
FROM
Indica de quin se han de revocar los privilegios.
USER
Especifica que el nombre-autorizacin identifica a un usuario.
GROUP
Especifica que el nombre-autorizacin identifica un nombre de grupo.
nombre-autorizacin,...
Lista uno o varios ID de autorizacin.
El ID de la propia sentencia REVOKE no se puede utilizar (SQLSTATE
42502). No se pueden revocar privilegios para un nombre-autorizacin
que sea igual que el ID de autorizacin de la sentencia REVOKE.
PUBLIC
Revoca los privilegios de PUBLIC.
Normas
v Si no se especifica USER ni GROUP, entonces:
Si todas las filas para el destinatario en la vista de catlogo
SYSCAT.TABAUTH y SYSCAT.COLAUTH tienen GRANTEETYPE de U,
entonces se supone USER.
Si todas las filas tienen GRANTEETYPE de G, entonces se supone
GROUP.
Si algunas filas tienen U y otras tienen G, se genera un error (SQLSTATE
56092).
Si se utiliza la autenticacin DCE, se genera un error (SQLSTATE 56092).
Notas
v Si se revoca un privilegio del nombre-autorizacin utilizado para crear una
vista (se denomina DEFINER de la vista en SYSCAT.VIEWS), dicho
privilegio tambin se revoca de las vistas dependientes.
v Si el DEFINER de la vista pierde un privilegio SELECT sobre algn objeto
del que dependa la definicin de vista (o se elimina un objeto del que
dependa la definicin de vista (o se vuelve no operativo en el caso de otra
vista)), la vista se volver no operativa (consulte el apartado Notas de
CREATE VIEW en la pgina 957 para obtener informacin sobre las vistas
no operativas).
Sin embargo, si DBADM o SYSADM revoca explcitamente todos los
privilegios del DEFINER sobre la vista, el registro del DEFINER no
aparecer en SYSCAT.TABAUTH, pero no le suceder nada a la vista -
continuar operativa.
v Los privilegios en vistas no operativas no pueden revocarse.
v Todos los paquetes que dependen de un objeto para el que se revoca un
privilegio se marcan como no vlidos. Un paquete contina siendo no
vlido hasta que se ejecuta satisfactoriamente una operacin de enlace
lgico o de volver a enlazar lgicamente en la aplicacin, o la aplicacin se
ejecuta y el gestor de bases de datos vuelve a enlazar la aplicacin
satisfactoriamente (utilizando la informacin almacenada en los catlogos).
Los paquetes marcados como no vlidos debido a una revocacin pueden
volverse a enlazar satisfactoriamente sin ninguna operacin de otorgar
adicional.
Por ejemplo, si un paquete propiedad de USER1 contiene SELECT de la
tabla T1 y se revoca el privilegio SELECT para la tabla T1 del USER1, el
paquete se marcar como no vlido. Si se vuelve a otorgar la autorizacin
SELECT, o si el usuario tiene la autorizacin DBADM, el paquete se vuelve
a enlazar satisfactoriamente cuando se ejecuta.
v Paquetes, desencadenantes o vistas que incluyen la utilizacin de
OUTER(Z) en la clusula FROM, dependen de tener el privilegio SELECT
en cada subtabla o subvista de Z. De modo similar, paquetes,
desencadenantes o vistas que incluyen la utilizacin de DEREF(Y) donde Y
es un tipo de referencia con una vista o tabla de destino Z, dependen de
tener el privilegio SELECT en cada subtabla o subvista de Z. Si se revoca
uno de estos privilegios SELECT, los paquetes se invalidan y los
desencadenantes y vistas pasan a ser no operativas.
v Los privilegios de tabla, vista o apodo no pueden revocarse de un
nombre-autorizacin con CONTROL en el objeto sin revocar tambin el
privilegio CONTROL (SQLSTATE 42504).
v La revocacin de un privilegio especfico no revoca necesariamente la
posibilidad de realizar la accin. Un usuario puede seguir con su tarea si
PUBLIC o un grupo poseen otros privilegios, o si tienen privilegios como,
por ejemplo, ALTERIN en el esquema de una tabla o vista.
o
REVOKE SELECT
ON CORPDATA.EMPLOYEE FROM USER JOHN
o
REVOKE SELECT
ON CORPDATA.EMPLOYEE FROM GROUP JOHN
nombre-autorizacin
USER
GROUP
PUBLIC
Descripcin
USE
Revoca el privilegio para especificar, de forma explcita o por omisin, el
espacio de tablas al crear una tabla.
OF TABLESPACE nombre-espacio-tablas
Identifica el espacio de tablas para el que debe revocar el privilegio USE.
El espacio de tablas no puede ser SYSCATSPACE (SQLSTATE 42838) ni un
espacio de tablas temporal del sistema (SQLSTATE 42809).
FROM
Especifica a quin se revoca el privilegio USE.
USER
Especifica que el nombre-autorizacin identifica a un usuario.
GROUP
Especifica que el nombre-autorizacin identifica un nombre de grupo.
nombre-autorizacin
Lista uno o varios ID de autorizacin.
ROLLBACK
La sentencia ROLLBACK se utiliza para restituir los cambios que se han
hecho en la base de datos dentro de una unidad de trabajo o punto de salvar.
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o bien emitirse
mediante la utilizacin de sentencias de SQL dinmicas. Se trata de una
sentencia ejecutable que se puede preparar dinmicamente.
Autorizacin
No se necesita.
Sintaxis
WORK
ROLLBACK
TO SAVEPOINT
nombre-puntosalvar
Descripcin
La unidad de trabajo en la que se ejecuta la sentencia ROLLBACK se termina
y se inicia una nueva unidad de trabajo. Se restituyen todos los cambios
realizados en la base de datos durante la unidad de trabajo.
105. Se deber realizar un FETCH antes de que se emita una sentencia UPDATE o DELETE de posicin.
SAVEPOINT
Utilice la sentencia SAVEPOINT para definir un punto de salvar dentro de
una transaccin.
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin (tambin en
procedimientos almacenados) o emitirse de forma interactiva. Se trata de una
sentencia ejecutable que puede prepararse dinmicamente.
Autorizacin
No se necesita.
Sintaxis
SAVEPOINT nombre-puntosalvar
UNIQUE
Descripcin
nombre-puntosalvar
Nombre del puntosalvar.
UNIQUE
Esta opcin indica que la aplicacin no reutilizar este nombre de punto
de salvar mientras el punto de salvar est activo.
ON ROLLBACK RETAIN CURSORS
Especifica la respuesta del sistema al realizar una retrotraccin hasta este
punto de salvar, con respecto a las sentencias OPEN CURSOR procesadas
despus de la sentencia SAVEPOINT. La clusula RETAIN CURSORS
indica que, siempre que sea posible, la retrotraccin hasta el punto de
salvar no modificar los cursores. Para conocer los casos en los que la
retrotraccin hasta el punto de salvar afecta a los cursores, vea
ROLLBACK en la pgina 1139.
ON ROLLBACK RETAIN LOCKS
Especifica la respuesta del sistema al realizar una retrotraccin hasta este
punto de salvar, con respecto a los bloqueos adquiridos despus de definir
el punto de salvar. No se hace un seguimiento de los bloqueos adquiridos
desde que se defini el punto de salvar y no se retrotraen (liberan) al
retrotraer hasta el punto de salvar.
Normas
v Los puntos de salvar no se pueden anidar. Si se emite una sentencia
SAVEPOINT y ya existe un punto de salvar definido, se produce un error
(SQLSTATE 3B002).
Notas
v La palabra clave UNIQUE est soportada para mantener la compatibilidad
con DB2 Universal Database para OS/390. La informacin siguiente
describe el comportamiento en DB2 Universal Database para OS/390.
Si un punto de salvar llamado nombre-puntosalvar ya existe dentro de la
transaccin, se devuelve un error (SQLSTATE 3B501). Mediante la omisin
de la clusula UNIQUE, la aplicacin indica que el nombre del punto de
salvar se puede volver a utilizar dentro de la transaccin. Si
nombre-puntosalvar ya existe en la transaccin, se destruir y se crear un
punto de salvar nuevo llamado nombre-puntosalvar.
Suprimir un punto de salvar mediante la reutilizacin de su nombre para
otro punto de salvar no es lo mismo que liberar el punto de salvar antiguo
mediante la sentencia RELEASE SAVEPOINT. La reutilizacin de un
nombre de punto de salvar produce la destruccin de slo ese punto de
salvar. La liberacin de un punto de salvar mediante la sentencia RELEASE
SAVEPOINT libera el punto de salvar especificado y todos los
subsiguientes.
v Dentro de un punto de salvar, si un programa de utilidad, sentencia de
SQL o mandato de DB2 ejecuta sentencias COMMIT intermitentes durante
el proceso, el punto de salvar se libera implcitamente.
v La sentencia SET INTEGRITY de SQL tiene los mismos efectos que una
sentencia DDL dentro de un punto de salvar.
v En una aplicacin, las inserciones pueden estar en almacenamiento
intermedio (es decir, la aplicacin se precompil utilizando la opcin
INSERT BUF). El almacenamiento intermedio se vaca cuando se emiten las
sentencias SAVEPOINT, ROLLBACK o RELEASE TO SAVEPOINT.
SELECT
La sentencia SELECT es una forma de consulta. Puede incluirse en un
programa de aplicacin o emitirse interactivamente. Para ver informacin
detallada, consulte el apartado sentencia-select en la pgina 518 y
subseleccin en la pgina 472.
SELECT INTO
La sentencia SELECT INTO produce una tabla resultante que consta de como
mximo una fila y asigna los valores de dicha fila a las variables del lenguaje
principal. Si la tabla est vaca, la sentencia asigna +100 a SQLCODE y '02000'
a SQLSTATE y no asigna valores a las variables del lenguaje principal. Si ms
de una fila satisface la condicin de bsqueda, se termina el proceso de la
sentencia y se produce un error (SQLSTATE 21000).
Invocacin
Esta sentencia slo se puede incluir en un programa de aplicacin. Se trata de
una sentencia ejecutable que no puede prepararse de forma dinmica.
Autorizacin
Los privilegios que tiene el ID de autorizacin de la sentencia deben incluir,
para la tabla o vista a la que la sentencia SELECT INTO hace referencia, como
mnimo uno de los siguientes:
v Privilegio SELECT
v Privilegio CONTROL
v Autorizacin SYSADM o DBADM
clusula-where clusula-group-by clusula-having WITH RR
RS
CS
UR
Descripcin
Consulte el Captulo 5. Consultas en la pgina 471 para obtener una
descripcin de la clusula-select, clusula-from, clusula-where, clusula-group-by y
clusula-having.
INTO
Introduce una lista de variables del lenguaje principal.
variable-lengprinc
Identifica una variable que est descrita en el programa bajo las reglas
para la declaracin de variables del lenguaje principal.
SET CONNECTION
La sentencia SET CONNECTION cambia el estado de una conexin de
inactivo a actual, convirtiendo la ubicacin especificada en el servidor actual.
No est bajo control de transaccin.
Invocacin
Aunque un recurso SQL interactivo pueda proporcionar una interfaz que d la
apariencia de ejecucin interactiva, esta sentencia slo puede incluirse dentro
de un programa de aplicacin. Se trata de una sentencia ejecutable que no
puede prepararse de forma dinmica.
Autorizacin
No se necesita ninguna.
Sintaxis
SET CONNECTION nombre-servidor
variable-lengprinc
Descripcin
nombre-servidor o variable-lengprinc
Identifica el servidor de aplicaciones mediante el nombre-servidor
especificado o una variable-lengprinc que contenga el nombre-servidor.
Si se especifica una variable-lengprinc, debe ser una variable de serie de
caracteres con un atributo de longitud no superior a 8 y no debe contener
una variable indicadora. El nombre-servidor contenido en la
variable-lengprinc debe estar justificado por la izquierda y no estar
delimitado por comillas.
Observe que el nombre-servidor es un seudnimo de base de datos que
identifica al servidor de aplicaciones. Debe estar listado en el directorio
local del peticionario de aplicaciones.
El nombre-servidor o la variable-lengprinc debe identificar una conexin
existente del proceso de aplicacin. Si no identifican ninguna conexin
existente, se genera un error (SQLSTATE 08003).
Si SET CONNECTION se aplica a la conexin actual, no se cambian los
estados de ninguna de las conexiones del proceso de aplicacin.
Conexin satisfactoria
Si la sentencia SET CONNECTION se ejecuta satisfactoriamente:
v No se realiza ninguna conexin. El registro especial CURRENT SERVER
se actualiza con el nombre-servidor especificado.
v La conexin actual previa, si la hay, se coloca en el estado inactivo
(suponiendo que se haya especificado un nombre-servidor distinto).
Conexin no satisfactoria
Descripcin
nombre-grupo
Especifica un nombre, formado por un solo elemento, que identifica un
grupo de transformacin definido para todos los tipos estructurados. Este
nombre se puede utilizar en sentencias subsiguientes (o hasta que el valor
del registro especial se vuelve a cambiar utilizando otra sentencia SET
CURRENT DEFAULT TRANSFORM GROUP).
El nombre debe ser un identificador SQL, de hasta 18 caracteres de
longitud (SQLSTATE 42815). Cuando se establece el registro especial, no
se realiza ninguna validacin de que el nombre-grupo est definido para
cualquier tipo estructurado. Slo se comprueba la validez de la definicin
del grupo de transformacin mencionado cuando se referencia
explcitamente un tipo estructurado.
Normas
v Si el valor especificado no se adapta a las reglas para un nombre-grupo, se
emite un error (SQLSTATE 42815)
v Las funciones TO SQL y FROM SQL definidas en el grupo de
transformacin nombre-grupo se utilizan para intercambiar datos de tipo
estructurado, definidos por el usuario, con un programa del lenguaje
principal.
Notas
v El valor inicial del registro especial CURRENT DEFAULT TRANSFORM
GROUP es la serie de caracteres vaca.
Descripcin
El valor de CURRENT DEGREE se sustituye por el valor de la constante de
serie o de la variable del lenguaje principal. El valor debe ser una serie de
caracteres que no tenga una longitud superior a 5 bytes. El valor debe ser la
representacin de serie de caracteres de un entero entre 1 y 32.767 inclusive o
ANY.
Descripcin
NO
Inhabilita el recurso Explain. No se captura la informacin de Explain. NO
es el valor inicial del registro especial.
YES
Habilita el recurso Explain y provoca que la informacin de Explain se
inserte en las tablas de Explain para las sentencias de SQL dinmicas
elegibles. Todas las sentencias de SQL dinmicas se compilan y ejecutan
normalmente.
EXPLAIN
Habilita el recurso Explain y provoca que se capte la informacin de
Explain para cualquier sentencia de SQL dinmica elegible que est
preparada. Sin embargo, no se ejecutan las sentencias dinmicas.
RECOMMEND INDEXES
Habilite el compilador SQL para los ndices recomendados. Todas las
peticiones que se ejecutan en esta modalidad Explain llenarn la tabla
ADVISE_INDEX con los ndices recomendados. As mismo, informacin
de Explain ser capturada en tablas de Explain para demostrar cmo se
utilizan los ndices recomendados, pero las sentencias no se compilan ni
se ejecutan.
EVALUATE INDEXES
Habilita el compilador SQL para evaluar los ndices. Los ndices a evaluar
se leen de la tabla ADVISE_INDEX y deben marcarse con EVALUATE = Y.
Descripcin
NO
Inhabilita el servicio de instantnea de Explain. No se toma ninguna
instantnea. NO es el valor inicial del registro especial.
YES
Habilita el recurso de instantnea de Explain, creando una instantnea de
la representacin interna de cada sentencia de SQL dinmica elegible. Esta
informacin se inserta en la columna SNAPSHOT de la tabla
EXPLAIN_STATEMENT (consulte el Apndice K. Tablas de Explain y
definiciones en la pgina 1459).
El recurso EXPLAIN SNAPSHOT est pensado para utilizarlo con Visual
Explain.
EXPLAIN
Habilita el recurso de instantnea de Explain, creando una instantnea de
la representacin interna de cada sentencia de SQL dinmica elegible que
se prepara. Sin embargo, no se ejecutan las sentencias dinmicas.
variable-lengprinc
El tipo de datos de la variable-lengprinc debe ser CHAR o VARCHAR y la
longitud de su contenido no debe ser mayor que 8. Si el campo es ms
largo, se emite un error (SQLSTATE 42815). El valor contenido en el
registro debe ser NO, YES ni EXPLAIN. Si el valor real que se
proporciona es mayor que el valor de sustitucin especificado, la entrada
se debe rellenar por la derecha con blancos. Los blancos iniciales no estn
Descripcin
constante-serie
Es una constante de tipo serie con una longitud mxima de 30. Si es ms
larga que el valor mximo, se truncar durante la ejecucin.
variable-lengprinc
Es una variable de tipo CHAR o VARCHAR con una longitud mxima de
30. No puede establecerse en nulo. Si tiene ms del mximo, se truncar
en tiempo de ejecucin.
Notas
v Esta sentencia permite que una aplicacin especifique el nombre de
esquema utilizado al seleccionar un paquete para una sentencia de SQL
ejecutable. La sentencia se procesa en el cliente y no fluye al servidor de
aplicaciones.
v Se puede utilizar la opcin de enlace lgico COLLECTION para crear un
paquete con un nombre de esquema especificado. Vea el manual Consulta de
mandatos para conocer detalles.
v A diferencia de DB2 para MVS/ESA, la sentencia SET CURRENT
PACKAGESET se implanta sin soporte para un registro especial llamado
CURRENT PACKAGESET.
Ejemplo
Suponga que el ID de usuario PRODUSA precompila la aplicacin llamada
TRYIT, estableciendo que PRODUSA sea el nombre de esquema por omisin
del archivo de enlace lgico. Despus, la aplicacin se enlaza dos veces con
diferentes opciones de enlace lgico. Se utilizan los siguientes mandatos del
procesador de lnea de mandatos:
DB2 CONNECT TO SAMPLE USER PRODUSA
DB2 BIND TRYIT.BND DATETIME USA
DB2 CONNECT TO SAMPLE USER PRODEUR
DB2 BIND TRYIT.BND DATETIME EUR COLLECTION 'PRODEUR'
Esto crea dos paquetes llamados TRYIT. El primer mandato de enlace lgico
ha creado el paquete en el esquema llamado PRODUSA. El segundo
mandato de enlace lgico ha creado el paquete en el esquema llamado
PRODEUR basndose en la opcin COLLECTION.
Descripcin
clase-optimizacin
La clase-optimizacin se puede especificar como una constante de enteros o
como el nombre de una variable del lenguaje principal que contendr el
valor adecuado en tiempo de ejecucin. A continuacin encontrar una
visin general de las clases (para obtener detalles consulte el manual
Administration Guide ).
0 Especifica que se efecta una optimizacin mnima para
generar un plan de acceso. Esta clase es la ms adecuada
para el acceso SQL dinmico simple para tablas bien
indexadas.
1 Especifica que se efecta una optimizacin ms o menos
comparable a DB2 Versin 1 para generar un plan de
acceso.
2 Especifica un nivel de optimizacin superior al de DB2
Versin 1, pero con un coste de optimizacin
significativamente menor que los niveles 3 y superiores,
especialmente para consultas muy complejas.
Descripcin
constante-numrica
Un valor DECIMAL(20,6) que representa una duracin de indicacin de la
hora. El valor debe ser 0 o 99 999 999 999 999 (la parte de microsegundos
del valor se ignora y, por lo tanto, puede ser cualquier valor).
0 Indica que slo pueden utilizarse las
tablas de resumen definidas con REFRESH
IMMEDIATE para optimizar el proceso de
una consulta.
99999999999999 Indica que puede utilizarse cualquier tabla
de resumen definida con REFRESH
DEFERRED o REFRESH IMMEDIATE
para optimizar el proceso de una consulta.
Este valor representa 9 999 aos, 99 meses,
99 das, 99 horas, 99 minutos y 99
segundos.
ANY
Es una abreviacin de 99999999999999.
variable-lengprinc
Una variable de tipo DECIMAL(20,6) u otro tipo asignable a
DECIMAL(20,6). No puede establecerse en nulo. Si una variable-lengprinc
tiene asociada una variable indicadora, el valor de dicha variable
indicadora no debe indicar un valor nulo (SQLSTATE 42815). El valor de
la variable-lengprinc debe ser 0 99 999 999 999 999.000000.
Notas
v El valor inicial del registro especial CURRENT REFRESH AGE es cero.
v Debe tener cuidado cuando establezca el registro especial CURRENT
REFRESH AGE en un valor que no sea cero. Si se permite una tabla de
resumen que puede que no represente los valores de la tabla base principal
que se utilizar para optimizar el proceso de la consulta, es posible que el
resultado de la consulta NO represente con exactitud los datos de la tabla
principal. Esto puede ser razonable cuando sepa que los datos principales
no han cambiado o est dispuesto a aceptar el grado de error del resultado
basndose en el conocimiento de los datos.
v El valor CURRENT REFRESH AGE de 99 999 999 999 999 no puede
utilizarse en operaciones aritmticas de indicacin de la hora porque el
resultado estara fuera del rango vlido de fechas (SQLSTATE 22008).
Ejemplos
Ejemplo 1: La sentencia siguiente establece el registro especial CURRENT
REFRESH AGE.
SET CURRENT REFRESH AGE ANY
Ejemplo 2:
Descripcin
Las funciones incorporadas ENCRYPT, DECRYPT_BIN y DECRYPT_CHAR
pueden utilizar ENCRYPTION PASSWORD para el cifrado basado en
contrasea. La longitud debe ser de 6 a 127 bytes. Todos los caracteres deben
especificarse en las maysculas y minsculas exactas que se desean porque no
se realiza ninguna conversin automtica a caracteres en maysculas.
variable-lengprinc
Una variable de tipo CHAR o VARCHAR. La longitud de
variable-lengprinc debe tener una longitud de 6 a 127 bytes (SQLSTATE
428FC). No se puede establecer en nulo. Todos los caracteres se
especifican en las maysculas y minsculas que se desean porque no se
realiza ninguna conversin a caracteres en maysculas.
constante-serie
Constante de serie de caracteres. La longitud debe ser de 6 a 127 bytes
(SQLSTATE 428FC).
Notas
v El valor inicial de ENCRYPTION PASSWORD es la serie vaca (' ').
v La variable-lengprinc o constante-serie se transmite al servidor de bases de
datos utilizando los mecanismos normales de DB2.
=
0
1
variable-lengprinc
Descripcin
nombre-supervisor-sucesos
Identifica el supervisor de sucesos que se ha de activar o desactivar. El
nombre debe identificar un supervisor de sucesos que exista en el
catlogo (SQLSTATE 42704).
estado-nuevo
El estado-nuevo puede especificarse como una constante de enteros o como
el nombre de una variable del lenguaje principal que contendr el valor
adecuado en tiempo de ejecucin. Se puede especificar lo siguiente:
0 Indica que el supervisor de sucesos especificado debe
desactivarse.
1 Indica que el supervisor de sucesos especificado debe
activarse. El supervisor de sucesos no debe estar activo
todava; de lo contrario se emite un aviso (SQLSTATE
01598).
variable-lengprinc
El tipo de datos es INTEGER. El valor especificado debe
ser 0 1 (SQLSTATE 42815). Si una variable-lengprinc tiene
asociada una variable indicadora, el valor de dicha
variable indicadora no debe indicar un valor nulo
(SQLSTATE 42815).
Normas
v Aunque puede definirse un nmero no limitado de supervisores de sucesos,
existe un lmite de 32 supervisores de sucesos que pueden estar activos
simultneamente (SQLSTATE 54030).
v Para activar un supervisor de sucesos, la transaccin en la que se ha creado
el supervisor de sucesos debe haberse confirmado (SQLSTATE 55033). Esta
regla impide (en una unidad de trabajo) la creacin de un supervisor de
sucesos, la activacin del supervisor y despus la retrotraccin de la
transaccin.
v Si el nmero o tamao de los archivos del supervisor de sucesos excede de
los valores especificados para MAXFILES o MAXFILESIZE en la sentencia
CREATE EVENT MONITOR, se genera un error (SQLSTATE 54031).
v Si la va de acceso de destino del supervisor de sucesos (que se ha
especificado en la sentencia CREATE EVENT MONITOR) ya se utiliza en
otro supervisor de sucesos, se genera un error (SQLSTATE 51026).
Notas
v La activacin de un supervisor de sucesos realiza una restauracin de
cualquier contador asociado al mismo.
Ejemplo
El ejemplo siguiente activa un supervisor de sucesos llamado SMITHPAY.
SET EVENT MONITOR SMITHPAY STATE = 1
SET INTEGRITY
La sentencia SET INTEGRITY106 se utiliza para uno de los fines siguientes:
v Desactivar la comprobacin de la integridad para una o ms tablas. Esto
incluye la restriccin de comprobacin y el control de restriccin de
referencia, el control de la integridad de los enlaces de datos y la
generacin de valores para columnas generadas. Si la tabla es una tabla de
resumen con REFRESH IMMEDIATE, se desactiva la renovacin inmediata
de los datos. Observe que esto coloca la tabla o tablas en un estado de
comprobacin pendiente en el que slo se permite un acceso limitado por un
conjunto restringido de sentencias y mandatos. Se continan comprobando
las restricciones de unicidad y de clave primaria.
v Volver a activar la comprobacin de integridad en una o varias tablas y
llevar a cabo toda la comprobacin diferida. Si la tabla es una tabla de
resumen, los datos se renuevan de la manera necesaria y, cuando est
definida con el atributo REFRESH IMMEDIATE, se activa la renovacin
inmediata de los datos.
v Activar la comprobacin de integridad para una o ms tablas sin realizar
primero ninguna comprobacin de integridad diferida. Si la tabla es una
tabla de resumen definida con el atributo REFRESH IMMEDIATE, se activa
la renovacin inmediata de los datos.
v Colocar la tabla en estado de comprobacin pendiente si la tabla ya se
encuentra en estado pendiente de reconciliacin de DataLink (DRP) o en
estado de reconciliacin de DataLink no posible (DRNP). Si una tabla no se
encuentra en ninguno de esos dos estados, establezca la tabla
incondicionalmente en el estado DRP y el estado de comprobacin
pendiente.
106. La sentencia SET INTEGRITY, en lugar de la sentencia SET CONSTRAINTS, es el mtodo preferido para trabajar
con la comprobacin de la integridad en DB2.
Invocacin
Esta sentencia se puede intercalar en un programa de aplicacin o se puede
emitir utilizando sentencias de SQL dinmicas. Es una sentencia ejecutable
que puede prepararse de forma dinmica. Sin embargo, si es aplicable la
opcin de enlace DYNAMICRULES BIND, la sentencia no se puede preparar
de forma dinmica (SQLSTATE 42509).
Autorizacin
Los privilegios necesarios para ejecutar SET INTEGRITY dependen de la
utilizacin de la sentencia, tal como se resalta abajo:
1. Desactivar la comprobacin de la integridad.
El ID de autorizacin de la sentencia debe tener como mnimo uno de los
privilegios siguientes:
v Privilegio CONTROL para las tablas y todos sus objetos dependientes y
descendientes en las restricciones de integridad de referencia.
v Autorizacin SYSADM o DBADM
v Autorizacin LOAD
2. Activar la comprobacin de la integridad y lleve a cabo la comprobacin.
El ID de autorizacin de la sentencia debe tener como mnimo uno de los
privilegios siguientes:
v Autorizacin SYSADM o DBADM
v Privilegio CONTROL para las tablas que se estn comprobando y, si se
anotan excepciones en una o ms tablas, privilegio INSERT para las
tablas de excepciones.
v Autorizacin LOAD y, si se anotan excepciones en una o ms tablas:
Privilegio SELECT y DELETE para cada tabla que se comprueba; y
Privilegio INSERT para las tablas de excepciones.
3. Activar las restricciones de integridad sin antes llevar a cabo la
comprobacin.
El ID de autorizacin de la sentencia debe tener como mnimo uno de los
siguientes:
v Autorizacin SYSADM o DBADM
v Privilegio CONTROL para las tablas que se estn comprobando
v Autorizacin LOAD
Sintaxis
(1)
SET INTEGRITY
opciones-comprobacin:
* * *
INCREMENTAL FORCE GENERATED clusula-excepcin
clusula-excepcin:
,
opciones-integridad:
ALL
,
FOREIGN KEY
CHECK
DATALINK RECONCILE PENDING
SUMMARY
GENERATED COLUMN
Notas:
1 La palabra clave CONSTRAINS continuar siendo soportada para
la compatibilidad con versiones anteriores.
Descripcin
nombre-tabla
Identifica una tabla para el proceso de la integridad. Debe ser una tabla
descrita en el catlogo y no debe ser una vista, una tabla del catlogo ni
una tabla con tipo.
OFF
Especifica que las tablas deben tener desactivadas sus restricciones de
clave fornea, restricciones de comprobacin y la generacin de columnas
y, por lo tanto, deben colocarse en el estado de comprobacin pendiente.
teniendo establecido el distintivo DRP o DRNP. Esto hace que la tabla sea
utilizable mientras la reconciliacin de valores DATALINK se puede
diferir a otro momento.
opciones-comprobacin
FORCE GENERATED
Si la tabla contiene columnas generadas, los valores se calculan de
acuerdo con la expresin y se guardan en la columna. Si no se
especifica esta clusula, los valores actuales se comparan con el valor
calculado de la expresin como si existiera una restriccin de
comprobacin de igualdad.
INCREMENTAL
Especifica la aplicacin de las comprobaciones de integridad diferida
en la parte aadida (si hay alguna) de la tabla. Si no se puede llevar a
cabo esta peticin (por ejemplo, el sistema detecta que toda la tabla
necesita ser comprobada para la integridad de los datos), se devolver
un error (SQLSTATE 55019). Si no se especifica el atributo, el sistema
determinar si es posible llevar a cabo un proceso incremental; si no
es posible, toda la tabla ser comprobada. Consulte las Notas para
conocer las situaciones en las que el sistema elige el proceso completo
(comprobacin de toda la tabla para asegurar su integridad) en lugar
del proceso parcial. Consulte tambin en las Notas los casos en que es
necesaria la opcin INCREMENTAL y los casos en los que no se
puede especificar.
Si la tabla no est en el estado de comprobacin pendiente, se
devolver un error (SQLSTATE 55019).
clusula-excepcin
FOR EXCEPTION
Indica que cualquier fila que viole una restriccin de clave fornea
o una restriccin de comprobacin se copiar en una tabla de
excepciones y se suprimir de la tabla original. Consulte el
Apndice N. Tablas de excepciones en la pgina 1505 para
obtener ms informacin sobre estas tablas definidas por el
usuario. Incluso si se detectan errores, se vuelven a activar las
restricciones de nuevo y la tabla sale del estado de comprobacin
pendiente. Se emite un aviso (SQLSTATE 01603) para indicar que
se ha movido una o varias filas a las tablas de excepciones.
Si no se especifica la clusula FOR EXCEPTION y se viola alguna
restriccin, entonces slo se devuelve al usuario la primera
violacin (SQLSTATE 23514). En el caso de una violacin en
cualquier tabla, todas las tablas se dejan en el estado de
comprobacin pendiente, tal como estaban antes de la ejecucin
SET PASSTHRU
La sentencia SET PASSTHRU abre y cierra una sesin para someter
directamente el SQL nativo de una fuente de datos a esa fuente de datos. La
sentencia no est bajo el control de transaccin.
Invocacin
Esta sentencia puede emitirse interactivamente. Se trata de una sentencia
ejecutable que puede prepararse de forma dinmica.
Autorizacin
Los privilegios que tiene el ID de autorizacin de la sentencia deben
proporcionar autorizacin para:
v Realizar un paso a travs para la fuente de datos.
v Satisfacer las medidas de seguridad en la fuente de datos.
Sintaxis
SET PASSTHRU nombre-servidor
RESET
Descripcin
nombre-servidor
Indica la fuente de datos para la que se debe abrir una sesin de paso a
travs. nombre-servidor debe identificar una fuente de datos que se describe
en el catlogo.
RESET
Cierra una sesin de paso a travs.
Notas
Consulte Proceso del recurso de paso a travs en la pgina 1423 para ver las
directrices y las restricciones para utilizar el paso a travs.
Ejemplos
Ejemplo 1: Inicie una sesin de paso a travs para la fuente de datos
BACKEND.
strcpy (PASS_THRU,"SET PASSTHRU BACKEND");
EXEC SQL EXECUTE IMMEDIATE :PASS_THRU;
Ejemplo 2: Inicie una sesin de paso a travs con una sentencia PREPARE.
strcpy (PASS_THRU,"SET PASSTHRU BACKEND");
EXEC SQL PREPARE STMT FROM :PASS_THRU;
EXEC SQL EXECUTE STMT;
Ejemplo 5: Abra una sesin de paso a travs para una fuente de datos, cree un
ndice agrupado para una tabla en esta fuente de datos y cierre la sesin de
paso a travs.
SET PATH
La sentencia SET PATH cambia el valor del registro especial CURRENT PATH.
No est bajo control de transaccin.
Invocacin
Esta sentencia puede incluirse en un programa de aplicacin o emitirse de
forma interactiva. Se trata de una sentencia ejecutable que puede prepararse
de forma dinmica.
Autorizacin
No se necesita ninguna autorizacin para ejecutar esta sentencia.
Sintaxis
FUNCTION
CURRENT =
SET PATH
nombre-esquema
SYSTEM PATH
USER
FUNCTION
CURRENT PATH
variable-lengprinc
constante-serie
Descripcin
nombre-esquema
Este nombre, que consta de una sola parte, identifica un esquema que
existe en el servidor de aplicaciones. No se efecta ninguna validacin de
que existe el esquema en el momento en que se establece la va de acceso.
Si, por ejemplo, un nombre-esquema est mal escrito, no se capturar y ello
podra afectar a las operaciones SQL posteriores.
SYSTEM PATH
Este valor es igual a especificar los nombres de esquema
SYSIBM,SYSFUN.
USER
El valor del registro especial USER.
CURRENT PATH
El valor de CURRENT PATH antes de la ejecucin de esta sentencia.
Tambin puede especificarse CURRENT FUNCTION PATH.
variable-lengprinc
Una variable de tipo CHAR o VARCHAR. La longitud del contenido de la
variable-lengprinc no debe ser mayor que 30 (SQLSTATE 42815). Su valor
no puede ser nulo. Si una variable-lengprinc tiene asociada una variable
indicadora, el valor de dicha variable indicadora no debe indicar un valor
nulo (SQLSTATE 42815).
Los caracteres de la variable-lengprinc deben estar justificados por la
izquierda. Cuando se especifica el nombre-esquema con una
variable-lengprinc, deben especificarse todos los caracteres en maysculas o
en minsculas exactamente tal como se desea ya que no se efecta la
conversin a maysculas.
constante-serie
Una constante de serie de caracteres con una longitud mxima de 30
bytes.
Normas
v Un nombre de esquema no puede aparecer ms de una vez en la va de
acceso de funcin (SQLSTATE 42732).
v El nmero de esquemas que se pueden especificar est limitado por la
longitud total del registro especial CURRENT PATH. La serie del registro
especial se crea tomando cada nombre de esquema especificado y
eliminando los blancos de cola, delimitando con comillas dobles, doblando
las comillas dentro del nombre de esquema cuando sea necesario y,
despus, separando cada nombre de esquema por una coma. La longitud de
la serie resultante no puede exceder de 254 bytes (SQLSTATE 42907).
Notas
v El valor inicial del registro especial CURRENT PATH es
SYSIBM,SYSFUN,X, donde X es el valor del registro especial USER.
v No es necesario especificar el esquema SYSIBM. Si no se incluye en la va
de acceso de SQL, se supone implcitamente que es el primer esquema (en
este caso, no se incluye en el registro especial CURRENT PATH).
v El registro especial CURRENT PATH especifica la va de acceso de SQL
utilizada para resolver las funciones, los procedimientos y los tipos de datos
definidos por el usuario de las sentencias de SQL dinmicas. La opcin de
enlace lgico FUNCPATH especifica la va de acceso de SQL que se ha de
utilizar para resolver las funciones y los tipos de datos definidos por el
usuario de las sentencias de SQL estticas. Consulte el manual Consulta de
mandatos para obtener ms informacin sobre la utilizacin de la opcin
FUNCPATH en el mandato BIND.
Ejemplo
Ejemplo 1: La siguiente sentencia establece el registro especial CURRENT
FUNCTION PATH.
SET PATH = FERMAT, "McDrw #8", SYSIBM
SET SCHEMA
La sentencia SET SCHEMA cambia el valor del registro especial CURRENT
SCHEMA. No est bajo control de transaccin. Si el paquete est enlazado con
la opcin DYNAMICRULES BIND, esta sentencia no afecta al calificador
utilizado para referencias de objetos de base de datos no calificadas.
Invocacin
La sentencia puede incluirse en un programa de aplicacin o emitirse
interactivamente. Se trata de una sentencia ejecutable que puede prepararse de
forma dinmica.
Autorizacin
No se necesita ninguna autorizacin para ejecutar esta sentencia.
Sintaxis
CURRENT =
SET SCHEMA nombre-esquema
USER
variable-lengprinc
constante-serie
Descripcin
nombre-esquema
Este nombre, que consta de una sola parte, identifica un esquema que
existe en el servidor de aplicaciones. La longitud no debe ser mayor que
30 bytes (SQLSTATE 42815). No se efecta ninguna validacin de que
existe el esquema en el momento en que se establece el esquema. Si un
nombre-esquema est escrito incorrectamente, no se capturar y ello puede
afectar a las operaciones subsiguientes de SQL.
USER
El valor del registro especial USER.
variable-lengprinc
Una variable de tipo CHAR o VARCHAR. La longitud del contenido de la
variable-lengprinc no debe ser mayor que 30 (SQLSTATE 42815). No se
puede establecer en nulo. Si una variable-lengprinc tiene asociada una
variable indicadora, el valor de dicha variable indicadora no debe indicar
un valor nulo (SQLSTATE 42815).
Los caracteres de la variable-lengprinc deben estar justificados por la
izquierda. Cuando se especifica el nombre-esquema con una
variable-lengprinc, deben especificarse todos los caracteres en maysculas o
en minsculas exactamente tal como se desea que estn ya que no se
realiza ninguna conversin a caracteres en maysculas.
constante-serie
Es una constante de tipo serie con una longitud mxima de 30.
Normas
v Si el valor especificado no se adapta a las reglas para un nombre-esquema, se
produce un error (SQLSTATE 3F000).
v El valor del registro especial CURRENT SCHEMA se utiliza como nombre
de esquema en todas las sentencias de SQL dinmicas, con la excepcin de
la sentencia CREATE SCHEMA, donde existe una referencia no calificada a
un objeto de base de datos.
v La opcin de enlace lgico QUALIFIER especifica el nombre de esquema a
utilizar como calificador para los nombres de objetos de base de datos no
calificados en las sentencias de SQL estticas (consulte la publicacin
Consulta de mandatos para obtener ms informacin sobre la utilizacin de la
opcin QUALIFIER).
Notas
v El valor inicial del registro especial CURRENT SCHEMA equivale a USER.
v El establecimiento del registro especial CURRENT SCHEMA no afecta al
registro especial CURRENT PATH. En consecuencia, el registro especial
CURRENT SCHEMA no se incluir en la va de acceso de SQL y es posible
que la resolucin de funciones, procedimientos y tipos definidos por el
usuario no encuentre estos objetos. Para incluir el valor del esquema actual
en la va de acceso de SQL, siempre que se emita la sentencia SET
SCHEMA, emita tambin la sentencia SET PATH incluyendo el nombre de
esquema de la sentencia SET SCHEMA.
v CURRENT SQLID se acepta como sinnimo de CURRENT SCHEMA y el
efecto de una sentencia SET CURRENT SQLID ser idntico al de una
sentencia SET CURRENT SCHEMA. No tendrn lugar otros efectos, como,
por ejemplo, cambios de autorizacin de la sentencia.
Ejemplos
Ejemplo 1: La sentencia siguiente establece el registro especial CURRENT
SCHEMA.
SET SCHEMA RICK
Descripcin
nombre-opcin-servidor
Nombra la opcin del servidor que se ha de establecer. Consulte
Opciones de servidor en la pgina 1415 para ver las descripciones de las
opciones de servidor.
TO constante-serie
Especifica un valor para nombre-opcin-servidor como una constante de
serie de caracteres. Consulte Opciones de servidor en la pgina 1415
para ver las descripciones de los valores posibles.
SERVER nombre-servidor
Nombra la fuente de datos a la que se aplica nombre-opcin-servidor. Debe
ser un servidor descrito en el catlogo.
Notas
v Los nombres de opcin del servidor se pueden entrar en maysculas o
minsculas.
v Actualmente SET SERVER OPTION slo da soporte a la contrasea, fold_id,
y a las opciones de servidor fold_pw.
v Se pueden someter una o varias sentencias SET SERVER OPTION cuando
un usuario o una aplicacin se conecta a la base de datos federada. La
sentencia (o sentencias) debe especificarse en el inicio de la primera unidad
de trabajo que se procese despus de establecer la conexin.
Ejemplos
Ejemplo 1: Una base de datos Oracle llamada RATCHIT se define en una base
de datos federada llamada DJDB. RATCHIT est configurada para no permitir
indicaciones de planes. Sin embargo, el DBA deseara que las indicaciones de
planes estuviesen habilitadas para una ejecucin de prueba de una aplicacin
nueva. Cuando la ejecucin finalice, las indicaciones de planes se inhabilitarn
de nuevo.
CONNECT TO DJDB;
strcpy(stmt,"establecer la opcin de servidor plan_hints en 'Y' para
el servidor ratchit");
EXEC SQL EXECUTE IMMEDIATE :stmt;
strcpy(stmt,"seleccionar c1 de ora_t1 donde c1 > 100");
/*Generar indicaciones de planes*/
EXEC SQL PREPARE s1 FROM :stmt;
EXEC SQL DECLARE c1 CURSOR FOR s1;
EXEC SQL OPEN c1;
EXEC SQL FETCH c1 INTO :hv;
SET variable
La sentencia SET variable asigna valores a variables locales o a variables de
transicin nuevas. Est bajo el control de transaccin.
Invocacin
Esta sentencia slo se puede utilizar como sentencia de SQL en una sentencia
dinmica compuesta, un desencadenante, una funcin SQL o un mtodo SQL.
Autorizacin
Para hacer referencia a una variable de transicin, el ID de autorizacin del
creador de desencadenantes debe tener al menos uno de los privilegios
siguientes:
v UPDATE de las columnas a las que se hace referencia en el lado izquierdo
de la asignacin y SELECT para las columnas a las que se hace referencia
en el lado derecho
v Privilegio CONTROL para la tabla (tabla sujeto del desencadenante)
v Autorizacin SYSADM o DBADM.
Para ejecutar esta sentencia con una seleccin-completa-fila como lado derecho
de la asignacin, el ID de autorizacin del definidor de desencadenantes o del
propietario de sentencias dinmicas compuestas debe tener tambin como
mnimo uno de los privilegios siguientes para cada tabla o vista a la que se
hace referencia:
v Privilegio SELECT
v Privilegio CONTROL
v SYSADM o DBADM.
Sintaxis
SET
variable-destino = expresin
NULL
DEFAULT
, ,
(1)
( variable-destino ) = ( expresin )
NULL
DEFAULT
(2)
seleccincompleta-fila
variable-destino:
nombre-variable-SQL
nombre-variable-transicin
..nombre-atributo
Notas:
1 El nmero de expresiones, NULL y DEFAULT debe coincidir con
el nmero de variables-destino.
2 El nmero de columnas en la lista de seleccin debe coincidir con
el nmero de variables-destino.
Descripcin
variable-destino
Identifica la variable de destino de la asignacin. Una variable-destino que
represente la misma variable no debe especificarse ms de una vez
(SQLSTATE 42701).
nombre-variable-SQL
Identifica la variable SQL que es el sujeto de la asignacin. Las
variables SQL se deben declarar antes de utilizarlas. Las variables SQL
pueden definirse en una sentencia dinmica compuesta.
nombre-variable-transicin
Identifica la columna que se debe actualizar en la fila de transicin.
Un nombre-variable-transicin debe identificar una columna en la tabla
sujeto de un desencadenante, calificado opcionalmente por un nombre
de correlacin que identifique el nuevo valor (SQLSTATE 42703).
..nombre de atributo
Especifica el atributo de un tipo estructurado que est definido (esto
se denomina asignacin de atributos). El nombre-variable-SQL o
nombre-variable-transicin especificado debe definirse con una tipo
estructurado definido por el usuario (SQLSTATE 428DP). El
nombre-atributo debe ser un atributo del tipo estructurado (SQLSTATE
42703). Una asignacin que no incluye la clusula ..nombre de atributo
se denomina asignacin convencional.
expresin
Indica el nuevo valor de la variable-destino. La expresin es cualquier
expresin del tipo especificado en el apartado Expresiones en la
pgina 176. La expresin no puede incluir una funcin de columna
excepto cuando se produce dentro de una seleccin completa escalar
(SQLSTATE 42903). En el contexto de una sentencia CREATE TRIGGER,
una expresin puede contener referencias a las variables de transicin OLD
Normas
v El nmero de valores que se deben asignar desde las expresiones, NULL y
DEFAULT o la seleccin-completa-fila debe coincidir con el nmero de
variables-destino especificadas para la asignacin (SQLSTATE 42802).
v Una sentencia SET variable no puede asignar una variable SQL y una
variable de transicin en una sentencia (SQLSTATE 42997).
v Los valores se asignan a las variables-destino bajo las reglas de asignacin
descritas en el apartado Asignaciones y comparaciones en la pgina 105.
v Si la sentencia se utiliza en un desencadenante BEFORE UPDATE y la
variable de registro DB2_UPDATE_PART_KEY=OFF (el valor por omisin),
una variable-transicin especificada como variable-destino no puede ser una
columna clave de particionamiento (SQLSTATE 42997).
Notas
v Si se incluye ms de una asignacin, todas las expresiones y
selecciones-completas-fila se evalan antes de que se realicen las asignaciones.
Por lo tanto, las referencias a variables-destino en una expresin o una
seleccin completa de fila son siempre el valor de la variable-destino antes
de cualquier asignacin en la nica sentencia SET.
v Cuando se actualiza una columna de identidad definida como un tipo
diferenciado, el clculo completo se realiza en el tipo fuente y el resultado
se convierte al tipo diferenciado antes de que se asigne realmente el valor a
la columna.107
v Para que DB2 genere un valor en una sentencia SET para una columna de
identidad, utilice la palabra clave DEFAULT:
SET NEW.EMPNO = DEFAULT
107. No hay ninguna conversin del valor anterior al tipo fuente antes del clculo.
UPDATE
La sentencia UPDATE actualiza los valores de las columnas especificadas en
las filas de una tabla o vista. La actualizacin de una fila de una vista
actualiza una fila de su tabla base.
108. El paquete que se utiliza para procesar la sentencia se precompila utilizando la opcin LANGLEVEL con el valor
SQL92E o MIA.
SET clusula-asignacin
WHERE condicin-bsqueda WITH RR
RS
CS
UR
clusula-asignacin:
nombre-columna = expresin
NULL
DEFAULT
..nombre-atributo
, ,
(1)
( nombre-columna ) = ( expresin )
NULL
DEFAULT
..nombre-atributo (2)
seleccincompleta-fila
Notas:
1 El nmero de expresiones, de NULL y de DEFAULT debe coincidir con
el nmero de nombres-columna.
2 El nmero de columnas en la lista de seleccin debe coincidir con
el nmero de nombres-columna.
Descripcin
nombre-tabla o nombre-vista
Es el nombre de la tabla o vista que se ha de actualizar. El nombre debe
identificar una tabla o vista descrita en el catlogo, pero no una tabla de
catlogo, una vista de una tabla de catlogo (a menos que sea una vista
SYSSTAT actualizable), una tabla de resumen, una vista de slo lectura ni
un apodo. (Para ver una explicacin de las vistas de slo lectura, consulte
el apartado CREATE VIEW en la pgina 957. Para ver una explicacin
de las vistas de catlogo actualizables, consulte el Apndice D. Vistas de
catlogo en la pgina 1281.)
Si nombre-tabla es una tabla con tipo, la sentencia puede actualizar filas de
la tabla o cualquiera de sus subtablas correspondientes. Slo pueden
establecerse o referirse las columnas de la tabla especificada en la clusula
WHERE. Para una sentencia UPDATE con posicin, el cursor asociado
tambin debe haber especificado la misma tabla o vista en la clusula
FROM sin utilizar ONLY.
ONLY (nombre-tabla)
Aplicable a las tablas con tipo, la palabra clave ONLY especifica que la
sentencia slo se debe aplicar a los datos de la tabla especificada y no
puede actualizar las filas de las subtablas correspondientes. Para una
sentencia UPDATE con posicin, el cursor asociado tambin debe haber
especificado la tabla en la clusula FROM utilizando ONLY. Si nombre-tabla
no es una tabla con tipo, la palabra clave ONLY no tiene efecto en la
sentencia.
ONLY (nombre-vista)
Aplicable a las vistas con tipo, la palabra clave ONLY especifica que la
sentencia slo se debe aplicar a los datos de la vista especificada y no
puede actualizar las filas de las subvistas correspondientes. Para una
109. Una columna de una clave de particionamiento es actualizable, a no ser que el parmetro de configuracin
DB2_UPDATE_PART_KEY est establecido en OFF (SQLSTATE 42997). Debe suprimirse o insertarse la fila de
datos para cambiar las columnas de una clave de particionamiento.
110. Antes del clculo no se realiza ninguna conversin del valor anterior al tipo fuente.
UPDATE EMPLOYEE
SET JOB = 'LABORER'
WHERE EMPNO = '000290'
v Ejemplo 2: Aumente las personas que trabajan en el proyecto (PRSTAFF) en
1,5 para todos los proyectos de los cuales sea responsable el departamento
(DEPTNO) D21 en la tabla PROJECT.
UPDATE PROJECT
SET PRSTAFF = PRSTAFF + 1,5
WHERE DEPTNO = 'D21'
v Ejemplo 3: Todos los empleados excepto el director del departamento
(WORKDEPT) E21 se han vuelto a asignar temporalmente. Indique esto
cambiando su trabajo (JOB) por NULL y los valores de su paga (SALARY,
BONUS, COMM) a cero en la tabla EMPLOYEE.
UPDATE EMPLOYEE
SET JOB=NULL, SALARY=0, BONUS=0, COMM=0
WHERE WORKDEPT = 'E21' AND JOB <> 'MANAGER'
VALUES
La sentencia VALUES es una forma de consulta Puede incluirse en un
programa de aplicacin o emitirse interactivamente. Para ver informacin
detallada, consulte el apartado seleccin completa en la pgina 512.
VALUES INTO
La sentencia VALUES INTO produce una tabla resultante que consta de como
mximo una fila y asigna los valores de dicha fila a las variables del lenguaje
principal.
Invocacin
Esta sentencia slo se puede incluir en un programa de aplicacin. Se trata de
una sentencia ejecutable que no puede prepararse de forma dinmica.
Autorizacin
No se necesita.
Sintaxis
,
( expresin )
Descripcin
VALUES
Introduce una sola fila que consta de una o varias columnas.
expresin
Una expresin que define un solo valor de una tabla resultante de una
columna. No se soportan estructuras de sistema principal.
(expresin,...)
Una o ms expresiones que definen los valores para una o varias
columnas de la tabla resultante. No se soportan estructuras de sistema
principal.
INTO
Introduce una lista de variables del lenguaje principal.
variable-lengprinc
Identifica una variable que est descrita en el programa bajo las reglas
para la declaracin de variables del lenguaje principal.
El primer valor de la fila del resultado se asigna a la primera variable
de la lista, el segundo valor a la segunda variable, etctera. Si el
nmero de variables del lenguaje principal es menor que el nmero
de valores de columna, se asigna el valor 'W' al campo SQLWARN3
de la SQLCA. (Consulte el Apndice B. Comunicaciones SQL
(SQLCA) en la pgina 1261.)
WHENEVER
La sentencia WHENEVER especifica la accin que se ha de tomar cuando se
produce una condicin de excepcin especificada.
Invocacin
Esta sentencia slo puede incluirse en un programa de aplicacin. No es una
sentencia ejecutable. La sentencia no est soportada en REXX.
Autorizacin
No se necesita.
Sintaxis
WHENEVER NOT FOUND CONTINUE
SQLERROR GOTO etiqueta-lengprinc
SQLWARNING GO TO :
Descripcin
Las clusulas NOT FOUND, SQLERROR o SQLWARNING se utilizan para
identificar el tipo de condicin de excepcin.
NOT FOUND
Identifica cualquier condicin que d como resultado un SQLCODE de
+100 o un SQLSTATE de '02000'.
SQLERROR
Identifica cualquier condicin que d como resultado un SQLCODE
negativo.
SQLWARNING
Identifica cualquier condicin que d como resultado una condicin de
aviso (SQLWARN0 es 'W'), o que d como resultado un cdigo de retorno
SQL positivo que no sea +100.
Notas
Hay tres tipos de sentencias WHENEVER:
v WHENEVER NOT FOUND
v WHENEVER SQLERROR
v WHENEVER SQLWARNING
Cada sentencia de SQL ejecutable en un programa est dentro del mbito de
una sentencia WHENEVER implcita o explcita de cada tipo. El mbito de
una sentencia WHENEVER est relacionado con la secuencia de listado de las
sentencias del programa, no con su secuencia de ejecucin.
sentencia-control-SQL:
(1)
sentencia ALLOCATE CURSOR
(1)
sentencia de asignacin
(1)
sentencia ASSOCIATE LOCATORS
(1)
sentencia CASE
(2)
sentencia dinmica-compuesta
sentencia FOR
sentencia GET DIAGNOSTICS
(1)
sentencia GOTO
sentencia IF
sentencia ITERATE
sentencia LEAVE
(1)
sentencia LOOP
(1)
sentencia compuesta-procedimiento
(1)
sentencia REPEAT
(1)
sentencia RESIGNAL
sentencia RETURN
sentencia SIGNAL
sentencia WHILE
Notas:
1 Esta sentencia slo se soporta en el mbito de un procedimiento SQL.
2 Esta sentencia slo se soporta en un desencadenante, una funcin SQL o
un mtodo SQL. Tiene que ser la sentencia situada en ltimo lugar.
Descripcin
etiqueta:
Especifica la etiqueta de una sentencia de procedimiento SQL. La etiqueta
debe ser exclusiva dentro de una lista de sentencias de procedimiento
SQL, incluidas las sentencias compuestas anidadas dentro de la lista.
Observe que las sentencias compuestas que no estn anidadas pueden
utilizar la misma etiqueta. Varias sentencias de control SQL admiten la
especificacin de una lista de sentencias de procedimiento SQL.
En el contexto de un desencadenante, una funcin o un mtodo SQL o
una sentencia dinmica compuesta, slo se pueden etiquetar la sentencia
dinmica compuesta, la sentencia FOR y la sentencia WHILE.
sentencia-SQL
En el cuerpo de un procedimiento SQL, pueden estar contenidas todas las
sentencias de SQL ejecutables, excepto las siguientes:
v CONNECT
v CREATE, para cualquier objeto excepto ndices, tablas o vistas
v DESCRIBE
v DISCONNECT
v DROP, para cualquier objeto excepto ndices, tablas o vistas
v FLUSH EVENT MONITOR
v REFRESH TABLE
v RELEASE (slo conexin)
v RENAME TABLE
v RENAME TABLESPACE
v REVOKE
v SET CONNECTION
v SET INTEGRITY
Descripcin
nombre-cursor
Indica el cursor. El nombre no debe identificar un cursor que ya est
declarado en el procedimiento SQL fuente (SQLSTATE 24502).
CURSOR FOR RESULT SET variable-localizadora-cr
Indica una variable localizadora de conjuntos de resultados que se ha
declarado en el procedimiento SQL fuente, de acuerdo con las reglas para
las variables del lenguaje principal. Para obtener ms informacin sobre la
declaracin de variables de SQL, vea declaracin de variables SQL en la
pgina 1234.
La variable localizadora de conjuntos resultantes debe contener un valor
vlido, tal como lo devuelve la sentencia ASSOCIATE LOCATORS de SQL
(SQLSTATE 24501).
Notas
v Sentencias ALLOCATE CURSOR preparadas dinmicamente: Se debe
utilizar la sentencia EXECUTE junto con la clusula USING para ejecutar
una sentencia ALLOCATE CURSOR preparada dinmicamente. En una
sentencia preparada dinmicamente, las referencias a variables del lenguaje
principal estn representadas por marcadores de parmetros (signos de
interrogacin).
En la sentencia ALLOCATE CURSOR, variable-localizadora-cr es siempre una
variable del lenguaje principal. Por lo tanto, para una sentencia ALLOCATE
CURSOR preparada dinmicamente, la clusula USING de la sentencia
EXECUTE debe identificar la variable del lenguaje principal cuyo valor
sustituir al marcador de parmetros representativo de
variable-localizadora-cr.
v No se puede preparar una sentencia ALLOCATE CURSOR con un
identificador de sentencia que ya se ha utilizado en una sentencia
DECLARE CURSOR. Por ejemplo, las sentencias de SQL siguientes no son
vlidas porque la sentencia PREPARE utiliza STMT1 como identificador de la
sentencia ALLOCATE CURSOR y STMT1 ya se ha utilizado para una
sentencia DECLARE CURSOR.
Normas
v Son aplicables las reglas siguientes cuando se utiliza un cursor asignado:
Un cursor asignado no se puede abrir con la sentencia OPEN
(SQLSTATE 24502).
Un cursor asignado se puede cerrar con la sentencia CLOSE. El cierre de
un cursor asignado cierra el cursor asociado existente en el
procedimiento almacenado.
Slo se puede asignar un nico cursor a cada conjunto resultante.
v Los cursores asignados permanecen vigentes hasta que se ejecuta una
operacin de retrotraccin, un cierre implcito o un cierre explcito.
v Las operaciones COMMIT destruyen los cursores asignados que no estn
definidos con WITH HOLD por el procedimiento almacenado.
v La destruccin de un cursor asignado cierra el cursor asociado existente en
el procedimiento SQL.
Ejemplos
Este ejemplo de procedimiento SQL define y asocia el cursor C1 a una
variable localizadora de conjuntos resultantes, LOC1, y con el conjunto
resultante asociado devuelto por el procedimiento SQL:
ALLOCATE C1 CURSOR FOR RESULT SET LOC1;
Sentencia de asignacin
La sentencia de asignacin asigna un valor a un parmetro de salida, a una
variable local o a un registro especial.
Sintaxis
SET nombre-parmetro = expresin
nombre-variable-SQL NULL
registro-especial
Descripcin
nombre-parmetro
Identifica el parmetro que es el sujeto de la asignacin. El parmetro se
debe especificar en declaracin-parmetro de la sentencia CREATE
PROCEDURE y debe estar definido como parmetro de salida (OUT) o de
entrada/salida (INOUT).
nombre-variable-SQL
Identifica la variable SQL que es el sujeto de la asignacin. Las variables
SQL se deben declarar antes de utilizarlas. Las variables SQL se pueden
definir en una sentencia compuesta.
registro-especial
Identifica el registro especial que es el sujeto de la asignacin. Si el
registro especial acepta un nombre de esquema como valor, incluidos los
registros especiales CURRENT FUNCTION PATH o CURRENT SCHEMA,
DB2 determina si el parmetro de asignacin es una variable SQL. Si el
parmetro de asignacin es una variable SQL, DB2 asigna el valor de la
variable SQL al registro especial. Si el parmetro de asignacin no es una
variable SQL, DB2 considera que el parmetro de asignacin es un
nombre de esquema y asigna ese nombre al registro especial.
Los valores iniciales de los registros especiales de un procedimiento SQL
se heredan del llamador del procedimiento. La asignacin de un nuevo
valor es vlida para el procedimiento SQL completo donde est definido,
y ser heredado por cualquier procedimiento al que invoque
subsiguientemente. Cuando un procedimiento devuelve el control al
llamador, los registros especiales se restauran a los valores originales del
llamador.
expresin o NULL
Especifica la expresin o valor que es la fuente de la asignacin.
Normas
v Las sentencias de asignacin de los procedimientos SQL deben ajustarse a
las reglas de asignacin del SQL.
v El tipo de datos del destino y del fuente deben ser compatibles.
Descripcin
variable-localizadora-cr
Especifica una variable localizadora de conjuntos resultantes que se ha
declarado en una sentencia compuesta.
WITH PROCEDURE
Identifica el procedimiento almacenado que devuelve localizadores de
conjuntos resultantes de acuerdo con el nombre de procedimiento
especificado.
nombre-procedimiento
Un nombre de procedimiento es un nombre calificado o no calificado.
Cada parte del nombre debe estar formada por caracteres SBCS.
Un nombre de procedimiento totalmente calificado consta de dos
partes. La primera parte es un identificador que contiene el nombre
de esquema del procedimiento almacenado. La ltima parte es un
identificador que contiene el nombre del procedimiento almacenado.
Las dos partes deben estar separadas por un punto. Cualquiera de las
partes o ambas puede ser un identificador delimitado.
Si el nombre de procedimiento no est calificado, consta de un solo
nombre, pues el nombre de esquema implcito no se aade como
calificador al nombre del procedimiento. Para que la sentencia
ASSOCIATE LOCATOR se ejecute satisfactoriamente slo es necesario
que el nombre de procedimiento no calificado contenido en la
sentencia sea el mismo que el nombre de procedimiento contenido en
la sentencia CALL ejecutada ms recientemente y que se especific
con un nombre de procedimiento no calificado. Cuando se comparan
los nombres, no se tiene en cuenta el nombre de esquema implcito
del nombre no calificado contenido en la sentencia CALL. A
continuacin se describen las reglas para especificar un nombre de
procedimiento.
Sentencia CASE
La sentencia CASE selecciona una va de ejecucin de acuerdo con varias
condiciones.
Sintaxis
CASE clusula-when-sentencia-case-bsqueda END CASE
clusula-when-sentencia-case-simple
clusula-when-sentencia-case-simple:
ELSE sentencia-procedimiento-SQL ;
clusula-when-sentencia-case-bsqueda:
ELSE sentencia-procedimiento-SQL ;
Descripcin
CASE
Inicia una expresin-case.
clusula-when-sentencia-case-simple
El valor de la expresin anterior a la primera palabra clave WHEN se
comprueba si es igual al valor de cada expresin que sigue a la palabra
clave WHEN. Si se cumple la condicin de bsqueda, se ejecuta la
sentencia THEN. Si el resultado es desconocido o falso, el proceso
contina en la siguiente condicin de bsqueda. Si el resultado no
Sentencia FOR
La sentencia FOR ejecuta una sentencia o grupo de sentencias para cada fila
de una tabla.
Sintaxis
FOR nombre-bucle-for AS
etiqueta: (1)
nombre-cursor CURSOR FOR
Notas:
1 Esta opcin slo se puede utilizar en el contexto de un procedimiento
SQL.
Descripcin
etiqueta
Especifica la etiqueta de la sentencia FOR. Si se especifica la etiqueta
inicial, esa etiqueta puede utilizarse en sentencias LEAVE e ITERATE. Si
se especifica la etiqueta final, sta deber ser igual que la etiqueta inicial.
nombre-bucle-for
Especifica una etiqueta para la sentencia compuesta implcita que se
genera para implementar la sentencia FOR. Sigue las reglas para la
etiqueta de una sentencia compuesta excepto en que no se puede utilizar
con una sentencia ITERATE o LEAVE en la sentencia FOR. El
nombre-bucle-for se utiliza para calificar los nombres de columna devueltos
por la sentencia-select especificada.
nombre-cursor
Designa el cursor utilizado para seleccionar filas de la tabla resultante de
la sentencia SELECT. Si no se especifica, DB2 genera un nombre de cursor
exclusivo.
sentencia-select
Especifica la sentencia SELECT del cursor. Todas las columnas de la lista
de seleccin deben tener un nombre y no pueden existir dos columnas
con el mismo nombre.
En un desencadenante, una funcin, un mtodo o una sentencia dinmica
compuesta, la sentencia-select slo debe constar de una seleccin completa
con expresiones de tabla comn opcionales.
sentencia-procedimiento-SQL
Especifica una sentencia (o sentencias) que se debe invocar para cada fila
de la tabla.
Normas
v La lista de seleccin debe constar de nombres de columna exclusivos y la
tabla especificada en la lista de seleccin debe existir cuando se crea el
procedimiento, o debe ser una tabla creada en una sentencia de
procedimiento SQL anterior.
v El cursor especificado en una sentencia-for no puede estar referenciado
fuera de la sentencia-for y no se puede especificar en una sentencia OPEN,
FETCH ni CLOSE.
Ejemplos
El ejemplo siguiente utiliza la sentencia-for para ejecutar un proceso iterativo
sobre la tabla employee completa. Para cada fila de la tabla, la variable SQL
fullname se establece en el primer apellido del empleado, seguido de una
coma, el nombre, un espacio en blanco y la inicial del segundo apellido. Cada
valor de fullname se inserta en la tabla tnames.
BEGIN
DECLARE fullname CHAR(40);
FOR vl AS
SELECT firstnme, midinit, lastname FROM employee
DO
SET fullname = lastname || ',' || firstnme ||' ' || midinit;
INSERT INTO tnames VALUE (fullname);
END FOR
END
Descripcin
nombre-variable-SQL
Identifica la variable que es el sujeto de la asignacin. La variable debe ser
una variable entera. Las variables SQL se pueden definir en una sentencia
compuesta.
ROW_COUNT
Identifica el nmero de columnas asociadas con la sentencia de SQL
anterior invocada. Si la sentencia de SQL anterior es una sentencia
DELETE, INSERT o UPDATE, ROW_COUNT identifica el nmero de filas
suprimidas, insertadas o actualizadas por esa sentencia, excluidas las filas
afectadas por desencadenantes o restricciones de integridad referencial. Si
la sentencia anterior es una sentencia PREPARE, ROW_COUNT identifica
el nmero estimado de columnas resultantes de la sentencia preparada.
RETURN_STATUS
Identifica el valor de estado devuelto por el procedimiento almacenado
asociado a la sentencia de SQL ejecutada anteriormente, siempre que la
sentencia fuera una sentencia CALL que invoca un procedimiento que
devuelve un estado. Si la sentencia anterior no es de esa clase, el valor
devuelto no tiene ningn significado y podra ser un entero cualquiera.
Normas
v La sentencia GET DIAGNOSTICS no cambia el contenido del rea de
diagnsticos (SQLCA). Las variables especiales SQLSTATE o SQLCODE
declaradas en un procedimiento SQL se establecen en el SQLSTATE o
SQLCODE devuelto por la ejecucin de la sentencia GET DIAGNOSTICS.
Ejemplos
En un procedimiento SQL, ejecute una sentencia GET DIAGNOSTICS para
determinar cuntas filas se actualizaron.
CREATE PROCEDURE sqlprocg (IN deptnbr VARCHAR(3))
LANGUAGE SQL
BEGIN
DECLARE SQLSTATE CHAR(5);
DECLARE rcount INTEGER;
UPDATE CORPDATA.PROJECT
SET PRSTAFF = PRSTAFF + 1,5
Sentencia GOTO
La sentencia GOTO se utiliza para bifurcar hacia una etiqueta definida por el
usuario dentro de una rutina SQL.
Sintaxis
GOTO etiqueta
Descripcin
etiqueta
Especifica una sentencia con etiqueta donde debe continuar el proceso. La
sentencia con etiqueta y la sentencia GOTO deben estar en el mismo
mbito:
v Si la sentencia GOTO se define en una sentencia FOR, la etiqueta se
debe definir dentro de la misma sentencia FOR, que no sea una
sentencia FOR anidada ni una sentencia compuesta anidada.
v Si la sentencia GOTO se define en una sentencia compuesta, la etiqueta
se debe definir dentro de la misma sentencia compuesta, que no sea
una sentencia FOR anidada ni una sentencia compuesta anidada.
v Si la sentencia GOTO se define en un gestor de condiciones, la etiqueta
se debe definir en el mismo gestor de condiciones, de acuerdo con las
dems reglas sobre el mbito
v Si la sentencia GOTO se define fuera de un gestor de condiciones, la
etiqueta no se debe definir dentro de un gestor de condiciones.
Si la etiqueta no est definida dentro de un mbito que sea accesible para
la sentencia GOTO, se produce un error (SQLSTATE 42736).
Normas
v Es aconsejable utilizar la sentencia GOTO de forma moderada. Esta
sentencia interfiere en las secuencias normales de proceso, lo que hace que
la rutina sea ms difcil de leer y actualizar. Antes de utilizar una sentencia
GOTO, determine si en su lugar puede utilizarse otra sentencia, tal como IF
o LEAVE, para eludir la necesidad de utilizar una sentencia GOTO.
Ejemplos
En la sentencia compuesta siguiente, los parmetros rating y v_empno se pasan
al procedimiento, el cual entonces devuelve el parmetro de salida
return_parm en forma de duracin de fecha. Si el tiempo de servicio del
empleado en la empresa es menor que 6 meses, la sentencia GOTO transfiere
el control al final del procedimiento, y el valor new_salary permanece
inalterado.
Sentencia IF
La sentencia IF selecciona una va de ejecucin de acuerdo con la evaluacin
de una condicin.
Sintaxis
END IF
ELSE sentencia-procedimiento-SQL ;
Descripcin
condicin-bsqueda
Especifica la condicin para la cual debe invocarse una sentencia de SQL.
Si la condicin es desconocida o falsa, el proceso contina en la siguiente
condicin de bsqueda, hasta que una condicin sea verdadera o el
proceso llegue a la clusula ELSE.
sentencia-procedimiento-SQL
Especifica la sentencia que se debe invocar si la condicin de bsqueda
anterior es verdadera. Si la evaluacin de ninguna condicin de bsqueda
da un resultado verdadero, se invoca la sentencia-procedimiento-SQL que
sigue a la palabra clave ELSE.
Ejemplos
El procedimiento SQL siguiente acepta dos parmetros de entrada: un nmero
de empleado (employee_number) y una tarifa de salario (rating). Dependiendo
del valor de rating, la tabla employee se actualiza con nuevos valores en las
columnas salary (salario) y bonus (prima).
CREATE PROCEDURE UPDATE_SALARY_IF
(IN employee_number CHAR(6), INOUT rating SMALLINT)
LANGUAGE SQL
BEGIN
DECLARE not_found CONDITION FOR SQLSTATE '02000';
DECLARE EXIT HANDLER FOR not_found
SET rating = -1;
IF rating = 1
THEN UPDATE employee
SET salary = salary * 1.10, bonus = 1000
WHERE empno = employee_number;
ELSEIF rating = 2
THEN UPDATE employee
SET salary = salary * 1.05, bonus = 500
WHERE empno = employee_number;
ELSE UPDATE employee
SET salary = salary * 1.03, bonus = 0
WHERE empno = employee_number;
END IF;
END
Sentencia ITERATE
La sentencia ITERATE hace que el flujo de control vuelva al principio de un
bucle con etiqueta.
Sintaxis
ITERATE etiqueta
Descripcin
etiqueta
Especifica la etiqueta de la sentencia FOR, LOOP, REPEAT o WHILE a la
cual DB2 transfiere el flujo de control.
Ejemplos
Este ejemplo utiliza un cursor para devolver informacin para un nuevo
departamento. Si se ha invocado el gestor de condiciones not_found, el flujo de
control elude el bucle. Si el valor de v_dept es 'D11', la sentencia ITERATE
devuelve el flujo de control al principio de la sentencia LOOP. En otro caso, se
inserta una nueva fila en la tabla DEPARTMENT.
CREATE PROCEDURE ITERATOR()
LANGUAGE SQL
BEGIN
DECLARE v_dept CHAR(3);
DECLARE v_deptname VARCHAR(29);
DECLARE v_admdept CHAR(3);
DECLARE at_end INTEGER DEFAULT 0;
DECLARE not_found CONDITION FOR SQLSTATE '02000';
DECLARE c1 CURSOR FOR
SELECT deptno, deptname, admrdept
FROM department
ORDER BY deptno;
DECLARE CONTINUE HANDLER FOR not_found
SET at_end = 1;
OPEN c1;
ins_loop:
LOOP
FETCH c1 INTO v_dept, v_deptname, v_admdept;
IF at_end = 1 THEN
LEAVE ins_loop;
ELSEIF v_dept = 'D11' THEN
ITERATE ins_loop;
END IF;
INSERT INTO department (deptno, deptname, admrdept)
VALUES ('NEW', v_deptname, v_admdept);
END LOOP;
CLOSE c1;
END
Sentencia LEAVE
La sentencia LEAVE transfiere el control del programa hacia fuera de un bucle
o de una sentencia compuesta.
Sintaxis
LEAVE etiqueta
Descripcin
etiqueta
Especifica la etiqueta de la sentencia FOR, LOOP, REPEAT, WHILE o
sentencia compuesta cuya ejecucin debe concluir.
Normas
Cuando una sentencia LEAVE transfiere el control hacia fuera de una
sentencia compuesta, se cierran todos los cursores abiertos de la sentencia
compuesta, excepto los cursores utilizados para devolver conjuntos
resultantes.
Ejemplos
Este ejemplo contiene un bucle que lee datos para el cursor c1. Si el valor de
la variable SQL at_end no es cero, la sentencia LEAVE transfiere el control
hacia fuera del bucle.
CREATE PROCEDURE LEAVE_LOOP(OUT counter INTEGER)
LANGUAGE SQL
BEGIN
DECLARE v_counter INTEGER;
DECLARE v_firstnme VARCHAR(12);
DECLARE v_midinit CHAR(1);
DECLARE v_lastname VARCHAR(15);
DECLARE at_end SMALLINT DEFAULT 0;
DECLARE not_found CONDITION FOR SQLSTATE '02000';
DECLARE c1 CURSOR FOR
SELECT firstnme, midinit, lastname
FROM employee;
DECLARE CONTINUE HANDLER for not_found
SET at_end = 1;
SET v_counter = 0;
OPEN c1;
fetch_loop:
LOOP
FETCH c1 INTO v_firstnme, v_midinit, v_lastname;
IF at_end <> 0 THEN LEAVE fetch_loop;
END IF;
SET v_counter = v_counter + 1;
END LOOP fetch_loop;
SET counter = v_counter;
CLOSE c1;
END
Sentencia LOOP
La sentencia LOOP repite la ejecucin de una sentencia o grupo de sentencias.
Sintaxis
Descripcin
etiqueta
Especifica la etiqueta de la sentencia LOOP. Si se especifica la etiqueta
inicial, esa etiqueta puede especificarse en sentencias LEAVE e ITERATE.
Si se especifica la etiqueta final, se debe especificar la etiqueta inicial
correspondiente.
sentencia-procedimiento-SQL
Especifica las sentencias que se deben invocar en el bucle.
Ejemplos
Este procedimiento utiliza una sentencia LOOP para leer valores de la tabla
employee. Cada vez que se repite el bucle, se incrementa el parmetro de
salida counter y se comprueba el valor de v_midinit para asegurarse de que ese
valor no es un espacio en blanco individual (' '). Si v_midinit es un espacio en
blanco individual, la sentencia LEAVE transfiere el flujo de control hacia fuera
del bucle.
CREATE PROCEDURE LOOP_UNTIL_SPACE(OUT counter INTEGER)
LANGUAGE SQL
BEGIN
DECLARE v_counter INTEGER DEFAULT 0;
DECLARE v_firstnme VARCHAR(12);
DECLARE v_midinit CHAR(1);
DECLARE v_lastname VARCHAR(15);
DECLARE c1 CURSOR FOR
SELECT firstnme, midinit, lastname
FROM employee;
DECLARE CONTINUE HANDLER FOR NOT FOUND
SET counter = -1;
OPEN c1;
fetch_loop:
LOOP
FETCH c1 INTO v_firstnme, v_midinit, v_lastname;
IF v_midinit = ' ' THEN
LEAVE fetch_loop;
END IF;
SET v_counter = v_counter + 1;
declaracin-variable-SQL ;
declaracin-condicin
declaracin-cdigos-retorno
declaracin-sentencia ; sentencia-DECLARE-CURSOR ;
sentencia-procedimiento-SQL ;
declaracin-gestor-condiciones ;
END
etiqueta
declaracin-variable-SQL:
,
DEFAULT NULL
DECLARE nombre-variable-SQL tipo-datos
DEFAULT constante
RESULT_SET_LOCATOR VARYING
declaracin-condicin:
VALUE
SQLSTATE
constante-serie
declaracin-sentencia:
declaracin-cdigos-retorno:
DECLARE SQLSTATE CHAR(5)
SQLCODE INTEGER DEFAULT constante
declaracin-gestor-condiciones:
,
VALUE
DECLARE CONTINUE HANDLER FOR SQLSTATE serie
EXIT nombre-condicin
UNDO SQLEXCEPTION
SQLWARNING
NOT FOUND
sentencia-procedimiento-SQL
Descripcin
etiqueta
Define la etiqueta del bloque de programa. Si se especifica la etiqueta
inicial, se puede utilizar para calificar variables SQL declaradas en la
sentencia compuesta y tambin se puede especificar en una sentencia
LEAVE. Si se especifica la etiqueta final, sta deber ser igual que la
etiqueta inicial.
ATOMIC o NOT ATOMIC
ATOMIC indica que si se produce un error en la sentencia compuesta, se
retrotraen todas las sentencias de SQL de la sentencia compuesta. NOT
ATOMIC indica que un error dentro de la sentencia compuesta no
produce la retrotraccin de la sentencia.
declaracin-variable-SQL
Declara una variable que es local respecto a la sentencia compuesta.
nombre-variable-SQL
Define el nombre de una variable local. DB2 convierte a
maysculas todos los nombres de variables del SQL. El nombre
no puede ser el mismo que otra variable SQL existente en la
misma sentencia compuesta y no puede ser igual que un nombre
de parmetro. Los nombres de variables SQL no deben ser iguales
que los nombres de columnas. Si una sentencia de SQL contiene
un identificador que tiene el mismo nombre que una variable SQL
y una referencia a columna, DB2 interpreta el identificador como
una columna.
tipo-datos
Especifica el tipo de datos de la variable. Vea Tipos de datos en
la pgina 82 para obtener una descripcin de los tipos de datos de
SQL. No se da soporte a los tipos de datos definidos por el
usuario, los tipos grficos ni a FOR BIT DATA.
DEFAULT constante o NULL
Define el valor por omisin de la variable SQL. La variable se
inicializa cuando se invoca el procedimiento SQL. Si no se
especifica un valor por omisin, el valor de la variable se inicializa
en NULL.
RESULT_SET_LOCATOR VARYING
Especifica el tipo de datos de una variable localizadora de
conjuntos resultantes.
declaracin-condicin
Declara el nombre de una condicin y el valor SQLSTATE asociado.
nombre-condicin
Especifica el nombre de la condicin. El nombre de la condicin
debe ser exclusivo dentro del cuerpo del procedimiento y slo
puede estar referenciado dentro de la sentencia compuesta donde
est declarado.
FOR SQLSTATE constante-serie
Especifica el SQLSTATE que est asociado a la condicin. La
constante-serie se debe especificar en forma de cinco caracteres
encerrados entre comillas simples y no puede ser '00000'.
declaracin-sentencia
Declara una lista de uno o ms nombres que son locales en la sentencia
compuesta. Un nombre de sentencia no puede ser igual que otro nombre
de sentencia en la misma sentencia compuesta.
declaracin-cdigos-retorno
Declara las variables especiales llamadas SQLSTATE y SQLCODE, que se
establecen automticamente en el valor que se devuelve tras procesar una
sentencia de SQL. Las variables SQLSTATE y SQLCODE slo se pueden
EXIT
Tras la invocacin satisfactoria del gestor de condiciones, el control se
transfiere al final de la sentencia compuesta donde se declar el gestor
de condiciones.
UNDO
Antes de invocar el gestor de condiciones, se retrotraen los cambios
de SQL que se hicieron en la sentencia compuesta. Tras la invocacin
satisfactoria del gestor de condiciones, el control se transfiere al final
de la sentencia compuesta donde se declar el gestor de condiciones.
Si se especifica UNDO, se debe especificar ATOMIC.
SET medianSalary = 0;
SELECT COUNT(*) INTO v_numRecords FROM staff
WHERE DEPT = deptNumber;
OPEN c1;
WHILE v_counter < (v_numRecords / 2 + 1) DO
FETCH c1 INTO medianSalary;
SET v_counter = v_counter + 1;
END WHILE;
CLOSE c1;
END
Sentencia REPEAT
La sentencia REPEAT ejecuta una sentencia o grupo de sentencias hasta que
se cumpla una condicin de bsqueda.
Sintaxis
REPEAT sentencia-procedimiento-SQL ;
etiqueta:
Descripcin
etiqueta
Especifica la etiqueta de la sentencia REPEAT. Si se especifica la etiqueta
inicial, esa etiqueta puede especificarse en sentencias LEAVE e ITERATE.
Si se especifica una etiqueta final, se debe especificar tambin la etiqueta
inicial correspondiente.
sentencia-procedimiento-SQL
Especifica la sentencia de SQL que se debe ejecutar con el bucle.
condicin-bsqueda
Especifica una condicin que se evala antes de ejecutarse la sentencia del
procedimiento SQL. Si la condicin es falsa, DB2 ejecuta la sentencia del
procedimiento SQL incluida en el bucle.
Ejemplos
En este ejemplo, una sentencia REPEAT lee filas de una tabla hasta que se
invoca el gestor de condiciones not_found.
CREATE PROCEDURE REPEAT_STMT(OUT counter INTEGER)
LANGUAGE SQL
BEGIN
DECLARE v_counter INTEGER DEFAULT 0;
DECLARE v_firstnme VARCHAR(12);
DECLARE v_midinit CHAR(1);
DECLARE v_lastname VARCHAR(15);
DECLARE at_end SMALLINT DEFAULT 0;
DECLARE not_found CONDITION FOR SQLSTATE '02000';
DECLARE c1 CURSOR FOR
SELECT firstnme, midinit, lastname
FROM employee;
DECLARE CONTINUE HANDLER FOR not_found
SET at_end = 1;
OPEN c1;
fetch_loop:
REPEAT
Sentencia RESIGNAL
La sentencia RESIGNAL se utiliza para retransmitir una condicin de error o
de aviso. Hace que se devuelva un error o aviso con el SQLSTATE
especificado, junto con texto de mensaje opcional.
Sintaxis
RESIGNAL
valor-seal
informacin-seal
valor-seal:
VALUE
SQLSTATE constante-serie-sqlstate
nombre-condicin
informacin-seal:
Descripcin
SQLSTATE VALUE constante-serie-sqlstate
La constante especificada de tipo serie representa un estado SQL
(SQLSTATE). Debe ser una constante de tipo serie con exactamente 5
caracteres que siguen las reglas aplicables a los SQLSTATE:
v Cada carcter debe pertenecer al conjunto de dgitos (del '0' al '9') o de
letras maysculas no acentuadas (de la 'A' a la 'Z')
v La clase SQLSTATE (primeros dos caracteres) no puede ser '00', pues
esto representa una finalizacin satisfactoria.
Si SQLSTATE no se ajusta a estas reglas, se produce un error (SQLSTATE
428B3).
nombre-condicin
Especifica el nombre de la condicin.
SET MESSAGE_TEXT =
Especifica una serie de caracteres que describe el error o aviso. La serie de
caracteres se coloca en el campo SQLERRMC de la SQLCA. Si la serie
tiene ms de 70 bytes de longitud, se truncar sin avisar de ello. Esta
Sentencia RETURN
La sentencia RETURN se utiliza para concluir la ejecucin de la rutina. Para
las funciones o mtodos de SQL, devuelve el resultado de la funcin o
mtodo. Para un procedimiento SQL, devuelve opcionalmente un valor de
estado de tipo entero.
Sintaxis
RETURN
expresin
NULL
seleccin completa
,
WITH expresin-tabla-comn
Descripcin
expresin
Especifica un valor devuelto procedente de la rutina:
v Si la rutina es una funcin o un mtodo, se deber especificar expresin,
NULL o seleccin completa (SQLSTATE 42630) y el tipo de datos del
resultado debe ser asignable al tipo RETURNS de la rutina (SQLSTATE
42866).
v No se puede especificar una expresin escalar (que no sea una seleccin
completa escalar) para una funcin de tabla (SQLSTATE 428F1).
v Si la rutina es un procedimiento, el tipo de datos de expresin debe ser
INTEGER (SQLSTATE 428E2). Un procedimiento no puede devolver
NULL o una seleccin completa.
NULL
Especifica que la funcin o el mtodo devuelve un valor nulo del tipo de
datos definido en la clusula RETURNS. No se puede especificar NULL
para un RETURN de un procedimiento.
WITH expresin-tabla-comn
Define una expresin de tabla comn para utilizarla con la seleccin
completa que viene a continuacin. Vea expresin-comn-tabla en la
pgina 519.
seleccin completa
Especifica la fila o filas que se deben devolver para la funcin. El
nmero de columnas de la seleccin completa debe coincidir con el
nmero de columnas del resultado de la funcin (SQLSTATE 42811).
Adems, los tipos de columnas estticas de la seleccin completa deben
...
SUCCESS: RETURN 0
FAIL: RETURN -200
END
Sentencia SIGNAL
La sentencia SIGNAL se utiliza para transmitir una condicin de error o de
aviso. Hace que se devuelva un error o un aviso con el SQLSTATE
especificado, junto con texto de mensaje opcional.
Sintaxis
VALUE
SIGNAL SQLSTATE constante-serie-sqlstate
nombre-condicin
SET MESSAGE_TEXT = nombre-variable
constante-serie-diagnstico
(1)
( serie-diagnstico )
Notas:
1 Esta opcin slo se proporciona en el mbito de la sentencia CREATE
TRIGGER por compatibilidad con las versiones anteriores de DB2.
Descripcin
SQLSTATE VALUE constante-serie-sqlstate
La constante especificada de tipo serie representa un estado SQL
(SQLSTATE). Debe ser una constante de tipo serie de caracteres con
exactamente 5 caracteres que siguen las reglas para QLSTATEs:
v Cada carcter debe pertenecer al conjunto de dgitos ('0' a '9') o de
letras maysculas no acentuadas ('A' a 'Z').
v La clase SQLSTATE (primeros dos caracteres) no puede ser '00', pues
esto representa una finalizacin satisfactoria.
En el contexto de una sentencia dinmica compuesta, un desencadenante,
una funcin SQL o un mtodo SQL, se deben aplicar tambin las reglas
siguientes:
v La clase SQLSTATE (dos primeros caracteres) no puede ser '01' o '02',
dado que stos no son clases de error.
v Si la clase SQLSTATE empieza con los nmeros '0' a '6' o las letras 'A' a
'H', la subclase (los tres ltimos caracteres) debe empezar con una letra
en el rango de 'I' a 'Z'.
v Si la clase SQLSTATE empieza con los nmeros '7', '8', '9' o las letras 'I'
a 'Z', la subclase puede ser cualquier carcter de '0' a '9' o de 'A' a 'Z'.
Si SQLSTATE no se ajusta a estas reglas, se produce un error (SQLSTATE
428B3).
nombre-condicin
Especifica el nombre de la condicin. El nombre de la condicin debe ser
exclusivo dentro del procedimiento y slo puede estar referenciado dentro
de la sentencia compuesta donde est declarado.
SET MESSAGE_TEXT=
Especifica una serie de caracteres que describe el error o aviso. La serie de
caracteres se coloca en el campo SQLERRMC de la SQLCA. Si la serie
tiene ms de 70 bytes de longitud, se truncar sin avisar de ello. Esta
clusula slo puede especificarse si tambin est especificado un
SQLSTATE o nombre-condicin (SQLSTATE 42601).
nombre-variable
Identifica una variable SQL que se debe declarar dentro de la
sentencia compuesta. La variable SQL debe estar definida con el tipo
de datos CHAR o VARCHAR.
constante-serie-diagnstico
Especifica una constante de tipo serie que contiene el texto del
mensaje.
serie-diagnstico
Una expresin con un tipo de CHAR o VARCHAR que devuelve una serie
de caracteres de hasta 70 bytes para describir la condicin de error. Si la
serie tiene ms de 70 bytes de longitud, se truncar. Esta opcin slo se
proporciona en el mbito de una sentencia CREATE TRIGGER por
compatibilidad con las versiones anteriores de DB2. Se recomienda no
utilizarla de forma continua.
Notas
v Si se emite una sentencia SIGNAL, el SQLCODE que se asigna es:
+438 si el SQLSTATE comienza con '01' o '02'
438 en otro caso
v Si el SQLSTATE o la condicin indica que se sealiza una excepcin (clase
SQLSTATE distinta de 01 o 02):
Se maneja la excepcin y se transfiere el control a un manejador, a
condicin de que exista un manejador en la misma sentencia compuesta
(o una sentencia compuesta ms externa) que la sentencia de seal y la
sentencia compuesta contenga un manejador para el SQLSTATE, el
nombre-condicin o la SQLEXCEPTION especificados
Si la excepcin no se puede manejar, se devuelve inmediatamente el
control al final de la sentencia compuesta.
v Si el SQLSTATE o la condicin indica que se sealiza un aviso (clase
SQLSTATE 01) o una condicin de no encontrado (not found) (clase
SQLSTATE 02):
Sentencia WHILE
La sentencia WHILE repite la ejecucin de una sentencia o grupo de
sentencias mientras sea verdadera una condicin especificada.
Sintaxis
WHILE condicin-bsqueda DO
:etiqueta
Descripcin
etiqueta
Especifica la etiqueta de la sentencia WHILE. Si se especifica la etiqueta
inicial, esa etiqueta puede especificarse en sentencias LEAVE e ITERATE.
Si se especifica la etiqueta final, sta debe ser igual que la etiqueta inicial.
condicin-bsqueda
Especifica una condicin que se evala antes de cada ejecucin del bucle.
Si la condicin es verdadera, se procesan las sentencias de procedimiento
SQL incluidas en el bucle.
sentencia-procedimiento-SQL
Especifica la sentencia o sentencias de SQL del bucle que se deben
ejecutar.
Ejemplos
Este ejemplo utiliza una sentencia WHILE para ejecutar un proceso iterativo
mediante sentencias FETCH y SET. Mientras el valor de la variable SQL
v_counter es menor que la mitad del nmero de empleados del departamento
identificado por el parmetro de entrada deptNumber , la sentencia WHILE
contina ejecutando las sentencias FETCH y SET. Cuando la condicin deja de
ser verdadera, el flujo de control sale de la sentencia WHILE y cierra el cursor.
CREATE PROCEDURE DEPT_MEDIAN
(IN deptNumber SMALLINT, OUT medianSalary DOUBLE)
LANGUAGE SQL
BEGIN
DECLARE v_numRecords INTEGER DEFAULT 1;
DECLARE v_counter INTEGER DEFAULT 0;
DECLARE c1 CURSOR FOR
SELECT CAST(salary AS DOUBLE)
FROM staff
WHERE DEPT = deptNumber
ORDER BY salary;
DECLARE EXIT HANDLER FOR NOT FOUND
Tabla 36. Lmites especficos de tamao de pgina del gestor de bases de datos
Descripcin Lmite de Lmite de Lmite de Lmite de
tamao de tamao de tamao de tamao de
pgina de 4K pgina de 8K pgina de 16K pgina de 32K
1 Mximo nmero de columnas 500 1 012 1 012 1 012
en una tabla
3 Longitud mxima de una fila 4 005 8 101 16 293 32 677
incluyendo toda la actividad
general
4 Tamao mximo de una tabla 64 128 256 512
por particin (en gigabytes)
5 Tamao mximo de un ndice 64 128 256 512
por particin(en gigabytes)
15 Nmero mximo de elementos 500 1 012 1 012 1 012
en una lista de seleccin
17 Nmero mximo de columnas 500 1 012 1 012 1 012
en una clusula GROUP BY
18 Longitud total mxima de las 4 005 8 101 16 293 32 677
columnas en una clusula
GROUP BY (en bytes)
19 Nmero mximo de columnas 500 1 012 1 012 1 012
en una clusula ORDER BY
20 Longitud total mxima de las 4 005 8 101 16 293 32 677
columnas en una clusula
ORDER BY (en bytes)
29 Nmero mximo de valores 500 1 012 1 012 1 012
en una sentencia INSERT
30 Nmero mximo de clusulas 500 1 012 1 012 1 012
SET en una sola sentencia
UPDATE
45 Tamao mximo de un 64 128 256 512
espacio de tablas DMS normal
(en gigabytes)
111. Los nombres de campos mostrados son los que estn presentes en una SQLCA obtenida mediante una sentencia
INCLUDE.
Para proporcionar una vista coherente para las aplicaciones, todos los valores
de SQLCA se fusionan en una estructura y los campos de SQLCA indican
cuentas globales. Por ejemplo:
v Para todos los errores y avisos, el campo sqlwarn contiene los distintivos de
aviso recibidos de todos los agentes.
v Los valores de los campos sqlerrd que indican cuentas de fila son
acumulaciones de todos los agentes.
112. Los localizadores de LOB y las variables de referencia a archivos no necesitan SQLDA dobles.
113. Estos casos no son aplicables a los tipos diferenciados ni a los tipos de referencia, pues la base de datos no
necesita la informacin adicional que proporcionan las entradas dobles.
Las circunstancias bajo las que DESCRIBE establece las entradas SQLVAR se
detallan en el apartado Efecto de DESCRIBE en la SQLDA en la
pgina 1274.
114. La informacin de tipo diferenciado y de LOB no se solapa, por lo tanto los tipos diferenciados pueden estar
basados en LOB sin hacer que se triplique el nmero de entradas de SQLVAR en DESCRIBE.
Tenga en cuenta que, aunque el principal propsito de este campo es para el nombre de los tipos
definidos por el usuario, el campo tambin se establece para los tipos de datos predefinidos por IBM. En
este caso, el nombre de esquema es SYSIBM y la parte de orden inferior del nombre es el nombre
almacenado en la columna TYPENAME de la vista de catlogo DATATYPES. Por ejemplo:
Nombre tipo longitud nombre_sqldatatype
--------- ------ ----------------
A.B 10 A .B
INTEGER 16 SYSIBM .INTEGER
"Frank's".SMINT 13 Frank's .SMINT
MY."type " 15 MY .type
Las referencias de las listas anteriores a columnas LOB incluyen las columnas
de tipo diferenciado cuyo tipo fuente es un tipo LOB.
SQLTYPE y SQLLEN
La Tabla 41 muestra los valores que pueden aparecer en los campos SQLTYPE
y SQLLEN de la SQLDA. En DESCRIBE y PREPARE INTO, un valor par de
SQLTYPE significa que la columna no permite nulos y un valor impar
significa que la columna permite nulos. En FETCH, OPEN, EXECUTE y
CALL, un valor par de SQLTYPE significa que no se proporciona una variable
indicadora y un valor impar significa que SQLIND contiene la direccin de
una variable indicadora.
Tabla 41. Valores SQLTYPE y SQLLEN para DESCRIBE, FETCH, OPEN, EXECUTE y CALL
Para DESCRIBE y PREPARE INTO Para FETCH, OPEN, EXECUTE y CALL
SQLTYPE Tipo de datos de SQLLEN Tipo de datos de SQLLEN
columna variable del
lenguaje principal
384/385 date 10 representacin de atributo de
una fecha en serie longitud de la
de caracteres de variable del
longitud fija lenguaje principal
388/389 time 8 representacin de atributo de
una hora en serie longitud de la
de caracteres de variable del
longitud fija lenguaje principal
392/393 timestamp 26 representacin de atributo de
una indicacin de longitud de la
la hora en serie de variable del
caracteres de lenguaje principal
longitud fija
396/397 DATALINK atributo de DATALINK atributo de
longitud de la longitud de la
columna variable del
lenguaje principal
Tabla 41. Valores SQLTYPE y SQLLEN para DESCRIBE, FETCH, OPEN, EXECUTE y
CALL (continuacin)
Para DESCRIBE y PREPARE INTO Para FETCH, OPEN, EXECUTE y CALL
SQLTYPE Tipo de datos de SQLLEN Tipo de datos de SQLLEN
columna variable del
lenguaje principal
400/401 N/D N/D serie grfica atributo de
terminada en NUL longitud de la
variable del
lenguaje principal
* *
404/405 BLOB 0 BLOB No utilizado.
* *
408/409 CLOB 0 CLOB No utilizado.
* *
412/413 DBCLOB 0 DBCLOB No utilizado.
448/449 serie de caracteres atributo de serie de caracteres atributo de
de longitud longitud de la de longitud longitud de la
variable columna variable variable del
lenguaje principal
452/453 serie de caracteres atributo de serie de caracteres atributo de
de longitud fija longitud de la de longitud fija longitud de la
columna variable del
lenguaje principal
456/457 serie larga de atributo de serie larga de atributo de
caracteres de longitud de la caracteres de longitud de la
longitud variable columna longitud variable variable del
lenguaje principal
460/461 N/D N/D serie de caracteres atributo de
terminada en NUL longitud de la
variable del
lenguaje principal
464/465 serie grfica de atributo de serie grfica de atributo de
longitud variable longitud de la longitud variable longitud de la
columna variable del
lenguaje principal
468/469 serie grfica de atributo de serie grfica de atributo de
longitud fija longitud de la longitud fija longitud de la
columna variable del
lenguaje principal
472/473 serie grfica de atributo de serie grfica larga atributo de
longitud variable longitud de la longitud de la
larga columna variable del
lenguaje principal
Tabla 41. Valores SQLTYPE y SQLLEN para DESCRIBE, FETCH, OPEN, EXECUTE y
CALL (continuacin)
Para DESCRIBE y PREPARE INTO Para FETCH, OPEN, EXECUTE y CALL
SQLTYPE Tipo de datos de SQLLEN Tipo de datos de SQLLEN
columna variable del
lenguaje principal
480/481 coma flotante 8 para precisin coma flotante 8 para precisin
doble, 4 para doble, 4 para
precisin simple precisin simple
484/485 decimal precisin en byte 1; decimal precisin en byte 1;
empaquetado escala en byte 2 empaquetado escala en byte 2
492/493 entero superior 8 entero superior 8
496/497 entero grande 4 entero grande 4
500/501 entero pequeo 2 entero pequeo 2
916/917 No aplicable No aplicable variable de 267
referencia a
archivos BLOB.
920/921 No aplicable No aplicable variable de 267
referencia a
archivos CLOB.
924/925 No aplicable No aplicable variable de 267
referencia a
archivos DBCLOB.
960/961 No aplicable No aplicable localizador de 4
BLOB
964/965 No aplicable No aplicable localizador de 4
CLOB
968/969 No aplicable No aplicable localizador de 4
DBCLOB
Nota:
v El campo len.sqllonglen de la SQLVAR secundaria contiene el atributo de longitud de la columna.
v SQLTYPE se ha modificado desde la versin anterior para portabilidad en DB2. Los valores de las
versiones anteriores (consulte Referencia SQL de la versin anterior) seguirn siendo soportados.
Los tipos de datos nuevos pueden recibir o no soporte del que enva los datos
o del que los recibe y pueden estar reconocidos o incluso no estarlo por el que
enva los datos o el que los recibe. Segn la situacin, puede devolverse el
tipo de datos nuevo o puede devolverse un tipo de datos compatible con el
acuerdo del que enva los datos y del que los recibe o bien puede dar como
resultado un error.
Cuando el que enva los datos y el que los recibe se ponen de acuerdo para
utilizar un tipo de datos compatible, la indicacin siguiente expresa la
correlacin que tendr lugar. Esta correlacin tendr lugar cuando, como
mnimo, o el que enva los datos o el que los recibe no d soporte al tipo de
datos proporcionado. Tanto la aplicacin como el gestor de bases de datos
pueden proporcionar el tipo de datos no soportado.
115. ROWID est soportado por DB2 Universal Database para OS/390 Versin 6.
En resumen:
1. Para almacenar cualquier valor, asigne p/2+1 bytes, donde p es la
precisin.
2. Asigne los nybbles de izquierda a derecha para representar el valor. Si un
nmero tiene una precisin par, se aade un nybble de cero inicial. Esta
asignacin incluye los dgitos cero iniciales (sin significado) y de cola
(significativos).
3. El nybble de signo ser el segundo nybble del ltimo byte.
Por ejemplo:
Por ejemplo, en C:
((char *)&(sqlda->sqlvar[i].sqllen))[0] = precision;
((char *)&(sqlda->sqlvar[i].sqllen))[1] = scale;
SYSIBM.SYSDUMMY1
Contiene una fila. Esta vista est disponible para las aplicaciones que
necesitan compatibilidad con DB2 Universal Database para OS/390.
Tabla 43. Vista de catlogo SYSCAT.DUMMY1
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
IBMREQD CHAR(1) Y
SYSCAT.ATTRIBUTES
Contiene una fila para cada atributo (incluidos los atributos heredados donde
sea aplicable) que se define para un tipo de datos estructurado definido por el
usuario.
Tabla 44. Vista de catlogo SYSCAT.ATTRIBUTES
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
TYPESCHEMA VARCHAR(128) Nombre calificado del tipo de datos
estructurado que incluye el atributo.
TYPENAME VARCHAR(18)
ATTR_NAME VARCHAR(18) Nombre del atributo.
ATTR_TYPESCHEMA VARCHAR(128) Contiene el nombre calificado del tipo del
atributo.
ATTR_TYPENAME VARCHAR(18)
TARGET_TYPESCHEMA VARCHAR(128) Nombre calificado del tipo de destino si el
tipo del atributo es REFERENCE. Valor nulo
TARGET_TYPENAME VARCHAR(18) si el tipo del atributo no es REFERENCE.
SOURCE_TYPESCHEMA VARCHAR(128) Nombre calificado del tipo de datos en la
jerarqua de tipos de datos en que se ha
introducido el atributo. Para atributos no
SOURCE_TYPENAME VARCHAR(18) heredado, estas columnas son igual que
TYPESCHEMA y TYPENAME.
ORDINAL SMALLINT Posicin del atributo en la definicin del tipo
de datos estructurado empezando por cero.
LENGTH INTEGER Longitud mxima de datos. 0 para tipos
diferenciados. La columna LENGTH indica la
precisin para los campos DECIMAL.
SCALE SMALLINT Escala para los campos DECIMAL; 0 si no es
DECIMAL.
CODEPAGE SMALLINT Pgina de cdigos del atributo. Para los
atributos de series de caracteres no definidos
con FOR BIT DATA, el valor es la pgina de
cdigos de la base de datos. Para los
atributos de series grficas, el valor es la
pgina de cdigos DBCS implcita en la
pgina de cdigos de la base de datos
(compuesta). De lo contrario, el valor es 0.
SYSCAT.BUFFERPOOLNODES
SYSCAT.BUFFERPOOLS
SYSCAT.CASTFUNCTIONS
Contiene una fila para cada funcin de difusin. No incluye funciones de
difusin incorporadas.
Tabla 47. Vista de catlogo SYSCAT.CASTFUNCTIONS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
FROM_TYPESCHEMA VARCHAR(128) Nombre calificado del tipo de datos del
parmetro.
FROM_TYPENAME VARCHAR(18)
TO_TYPESCHEMA VARCHAR(128) Nombre calificado del tipo de datos del
resultado despus de la difusin.
TO_TYPENAME VARCHAR(18)
FUNCSCHEMA VARCHAR(128) Nombre calificado de la funcin.
FUNCNAME VARCHAR(18)
SPECIFICNAME VARCHAR(18) El nombre de la instancia de funcin.
ASSIGN_FUNCTION CHAR(1) Y = Funcin de asignacin implcita
N = No es una funcin de asignacin
SYSCAT.CHECKS
SYSCAT.COLAUTH
Contiene una o varias filas para cada usuario o grupo a los que se ha
otorgado un privilegio a nivel de columna, que indican el tipo de privilegio y
si se puede otorgar o no.
Tabla 49. Vista de catlogo SYSCAT.COLAUTH
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
GRANTOR VARCHAR(128) ID de autorizacin del usuario que ha otorgado
los privilegios o SYSIBM.
GRANTEE VARCHAR(128) ID de autorizacin del usuario o grupo que
tiene los privilegios.
GRANTEETYPE CHAR(1) U = Se otorga a un usuario individual.
G = Se otorga a un grupo.
TABSCHEMA VARCHAR(128) Nombre calificado de la tabla o vista.
TABNAME VARCHAR(128)
COLNAME VARCHAR(128) Nombre de la columna a la que se aplica este
privilegio.
COLNO SMALLINT Nmero de esta columna en la tabla o vista.
PRIVTYPE CHAR(1) Indica el tipo de privilegio que se tiene en la
tabla o vista:
U = Actualiza privilegio
R = Hace referencia a privilegio
GRANTABLE CHAR(1) Indica si se puede otorgar el privilegio.
G = Otorgable
N = No otorgable
SYSCAT.COLCHECKS
Cada fila representa alguna columna a la que una restriccin CHECK hace
referencia.
Tabla 50. Vista de catlogo SYSCAT.COLCHECKS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
CONSTNAME VARCHAR(18) Nombre de la restriccin de comprobacin.
(Exclusivo en una tabla. Puede ser generado por
el sistema.)
TABSCHEMA VARCHAR(128) Nombre calificado de la tabla que contiene la
columna a la que se hace referencia.
TABNAME VARCHAR(128)
COLNAME VARCHAR(128) Nombre de columna.
USAGE CHAR(1) R = Se hace referencia a la columna en la
restriccin de comprobacin.
S = La columna es una columna fuente en la
restriccin de comprobacin generada por el
sistema que da soporte a una columna
generada.
T = La columna es una columna destino en
la restriccin de comprobacin generada por
el sistema que da soporte a una columna
generada.
SYSCAT.COLDIST
SYSCAT.COLOPTIONS
Cada fila contiene los valores de las opciones especficas de columna.
Tabla 52. Vista de catlogo SYSCAT.COLOPTIONS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
TABSCHEMA VARCHAR(128) Calificador de un apodo.
TABNAME VARCHAR(128) Apodo para la columna.
COLNAME VARCHAR(128) Nombre de columna local.
OPTION VARCHAR(128) Nombre de opcin de columna.
SETTING VARCHAR(255) Valores
SYSCAT.COLUMNS
Contiene una fila para cada columna (incluidas las columnas heredadas donde
sea aplicable) que se define para una tabla o vista. Todas las vistas de catlogo
tienen entradas en la tabla SYSCAT.COLUMNS.
Tabla 53. Vista de catlogo SYSCAT.COLUMNS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
TABSCHEMA VARCHAR(128) Nombre calificado de la tabla o vista que
contiene la columna.
TABNAME VARCHAR(128)
COLNAME VARCHAR(128) Nombre de columna.
COLNO SMALLINT Lugar numrico de la columna en la tabla o
vista, empezando por cero.
TYPESCHEMA VARCHAR(128) Contiene el nombre calificado del tipo, si el
tipo de datos de la columna es diferenciado.
De lo contrario, TYPESCHEMA contiene el
valor SYSIBM y TYPENAME contiene el tipo
de datos de la columna (en formato largo,
por ejemplo, CHARACTER). Si se especifica
TYPENAME VARCHAR(18) FLOAT o FLOAT(n) siendo n mayor que 24,
TYPENAME se redenomina a DOUBLE. Si se
especifica FLOAT(n) siendo n menor que 25,
TYPENAME se redenomina a REAL.
Tambin, NUMERIC se redenomina por
DECIMAL.
LENGTH INTEGER Longitud mxima de datos. 0 para tipos
diferenciados. La columna LENGTH indica la
precisin para los campos DECIMAL.
SCALE SMALLINT Escala para los campos DECIMAL; 0 si no es
DECIMAL.
Consulte la Nota 1.
CODEPAGE SMALLINT Pgina de cdigos de la columna. Para las
columnas de series de caracteres no definidas
con el atributo FOR BIT DATA, el valor es la
pgina de cdigos de base de datos. Para
columnas de series grficas, el valor es la
pgina de cdigos DBCS implcita en la
pgina de cdigos de la base de datos
(compuesta). De lo contrario, el valor es 0.
SYSCAT.CONSTDEP
Contiene una fila para cada dependencia que tiene una restriccin de otro
objeto.
Tabla 54. Vista de catlogo SYSCAT.CONSTDEP
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
CONSTNAME VARCHAR(18) Nombre de la restriccin.
TABSCHEMA VARCHAR(128) Nombre calificado de la tabla a la que se aplica
la restriccin.
TABNAME VARCHAR(128)
BTYPE CHAR(1) Tipo de objeto del que depende la restriccin.
Los valores posibles son:
F = Instancia de funcin
I = Instancia de ndice
R = Tipo estructurado
BSCHEMA VARCHAR(128) Nombre calificado del objeto del que depende la
restriccin.
BNAME VARCHAR(18)
SYSCAT.DATATYPES
Contiene una fila para cada tipo de datos, los tipos de datos incorporados y
definidos por el usuario inclusive.
Tabla 55. Vista de catlogo SYSCAT.DATATYPES
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
TYPESCHEMA VARCHAR(128) Nombre calificado del tipo de datos (para tipos
incorporados, TYPESCHEMA es SYSIBM).
TYPENAME VARCHAR(18)
DEFINER VARCHAR(128) ID de autorizacin bajo el cual se ha creado el
tipo.
SOURCESCHEMA VARCHAR(128) S Nombre calificado del tipo fuente para tipos
diferenciados. Nombre calificado del tipo
incorporado que se utiliza como el tipo de
SOURCENAME VARCHAR(18) S referencia que sirve de representacin para las
referencias a tipos estructurados. Nulo para los
dems tipos.
METATYPE CHAR(1) S = Tipo predefinido por el sistema
T = Tipo diferenciado
R = Tipo estructurado
TYPEID SMALLINT Identificador interno del tipo de datos generado
por el sistema.
SOURCETYPEID SMALLINT S ID de tipo interno del tipo fuente (nulo para
tipos incorporados). Para los tipos estructurados
definidos por el usuario, ste es el ID de tipo
interno del tipo de representacin de referencia.
LENGTH INTEGER Longitud mxima del tipo. 0 para tipos con
parmetros predefinidos por el sistema (por
ejemplo, DECIMAL y VARCHAR). Para los
tipos estructurados definidos por el usuario,
indica la longitud del tipo de representacin de
referencia.
SCALE SMALLINT Escala para los tipos diferenciados o tipos de
representacin de referencia basados en el tipo
DECIMAL predefinido por el sistema. 0 para los
dems tipos (el propio DECIMAL inclusive).
Para los tipos estructurados definidos por el
usuario, indica la longitud del tipo de
representacin de referencia.
SYSCAT.DBAUTH
SYSCAT.EVENTMONITORS
Contiene una fila para cada supervisor de sucesos que se haya definido.
SYSCAT.EVENTS
SYSCAT.FULLHIERARCHIES
SYSCAT.FUNCDEP
Cada fila representa una dependencia de una funcin o mtodo respecto de
algn otro objeto.
Tabla 59. Vista de catlogo SYSCAT.FUNCDEP
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
FUNCSCHEMA VARCHAR(128) Nombre calificado de la funcin o mtodo que
tiene dependencias respecto a otro objeto.
FUNCNAME VARCHAR(18)
BTYPE CHAR(1) Tipo de objeto del que depende la funcin o
mtodo.
A = Seudnimo
F = Instancia de funcin o instancia de
mtodo
O = Dependencia de privilegio para todas
las subtablas o subvistas de una jerarqua de
tablas o vistas
R = Tipo estructurado
S = Tabla de resumen
T = Tabla
U = Tabla con tipo
V = Vista
W = Vista con tipo
X = Extensin de ndice
BSCHEMA VARCHAR(128) Nombre calificado del objeto del que depende la
funcin o mtodo (si BTYEPE='F', este campo es
BNAME VARCHAR(128) el nombre especfico de una funcin).
TABAUTH SMALLINT S Si BTYPE = O, S, T, U, V o W, este campo indica
los privilegios para la tabla o vista que son
necesarios para la funcin o mtodo
dependiente. En otro caso, su valor es nulo.
SYSCAT.FUNCMAPOPTIONS
Cada fila contiene los valores de las opciones de correlacin de funciones.
Tabla 60. Vista de catlogo SYSCAT.FUNCMAPOPTIONS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
FUNCTION_MAPPING VARCHAR(18) Nombre de correlacin de funciones.
OPTION VARCHAR(128) Nombre de la opcin de correlacin de
funciones.
SETTING VARCHAR(255) Valor.
SYSCAT.FUNCMAPPARMOPTIONS
Cada fila contiene los valores de las opciones de parmetro de correlacin de
funciones.
Tabla 61. Vista de catlogo SYSCAT.FUNCMAPPARMOPTIONS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
FUNCTION_MAPPING VARCHAR(18) Nombre de correlacin de funciones.
ORDINAL SMALLINT Posicin de parmetro
LOCATION CHAR(1) L = Local
R = Remoto
OPTION VARCHAR(128) Nombre de la opcin de parmetro de
correlacin de funciones.
SETTING VARCHAR(255) Valor.
SYSCAT.FUNCMAPPINGS
Cada fila contiene las correlaciones de funciones.
Tabla 62. Vista de catlogo SYSCAT.FUNCMAPPINGS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
FUNCTION_MAPPING VARCHAR(18) Nombre de correlacin de funciones (puede ser
generado por el sistema).
FUNCSCHEMA VARCHAR(128) S Esquema de funcin. Nulo si es una funcin
incorporada del sistema.
FUNCNAME VARCHAR(1024) S Nombre de la funcin local (incorporada o
definida por el usuario).
FUNCID INTEGER S Identificador asignado internamente.
SPECIFICNAME VARCHAR(18) S Nombre de la instancia de funcin local.
DEFINER VARCHAR(128) ID de autorizacin bajo el cual se ha creado esta
correlacin.
WRAPNAME VARCHAR(128) S Nombre de reiniciador al que se aplica esta
correlacin.
SERVERNAME VARCHAR(128) S Nombre de la fuente de datos.
SERVERTYPE VARCHAR (30) S Tipo de fuente de datos a la que se aplica la
correlacin.
SERVERVERSION VARCHAR(18) S Versin del tipo de servidor al que se aplica la
correlacin.
CREATE_TIME TIMESTAMP S Hora en que se ha creado la correlacin.
REMARKS VARCHAR(254) S Comentario suministrado por el usuario o nulo.
SYSCAT.FUNCPARMS
Contiene una fila para cada parmetro o resultado de una funcin o mtodo
definidos en SYSCAT.FUNCTIONS.
Tabla 63. Vista de catlogo SYSCAT.FUNCPARMS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
FUNCSCHEMA VARCHAR(128) Nombre de funcin calificado.
FUNCNAME VARCHAR(18)
SPECIFICNAME VARCHAR(18) El nombre de la instancia de funcin (puede
ser generado por el sistema).
ROWTYPE CHAR(1) P = Parmetro
R = Resultado antes de la conversin del
tipo de datos
C = Resultado despus de la conversin
del tipo de datos
ORDINAL SMALLINT Si ROWTYPE=P, la posicin numrica del
parmetro en la signatura de la funcin. Si
ROWTYPE = R y la funcin devuelve una
tabla, la posicin numrica de la columna
dentro de la tabla resultante. En otro caso, su
valor es 0.
PARMNAME VARCHAR(128) Nombre del parmetro o de la columna del
resultado, o nulo si no existe ningn nombre.
TYPESCHEMA VARCHAR(128) Nombre calificado de tipo de datos de
parmetro o resultado.
TYPENAME VARCHAR(18)
LENGTH INTEGER Longitud del parmetro o resultado. 0 si el
parmetro o resultado es un tipo
diferenciado. Consulte la Nota 1.
SCALE SMALLINT Escala del parmetro o resultado. 0 si el
parmetro o resultado es un tipo
diferenciado. Consulte la Nota 1.
CODEPAGE SMALLINT Pgina de cdigos del parmetro. 0 indica
que no es aplicable o una columna para los
datos de caracteres declarada con el atributo
FOR BIT DATA
CAST_FUNCID INTEGER S ID interno de funcin.
SYSCAT.FUNCTIONS
Contiene una fila para cada funcin definida por el usuario (escalar, de tabla o
fuente), mtodo generado por el sistema o mtodo definido por el usuario. No
incluye las funciones incorporadas.
SYSCAT.HIERARCHIES
SYSCAT.INDEXAUTH
SYSCAT.INDEXCOLUSE
Lista todas las columnas que participan en un ndice.
Tabla 67. Vista de catlogo SYSCAT.INDEXCOLUSE
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
INDSCHEMA VARCHAR(128) Nombre calificado del ndice.
INDNAME VARCHAR(18)
COLNAME VARCHAR(128) Nombre de la columna.
COLSEQ SMALLINT Posicin numrica de la columna en el ndice
(posicin inicial = 1).
COLORDER CHAR(1) Orden de los valores de esta columna en el
ndice. Valores:
A = Ascendente
D = Descendente
I = Columna INCLUDE (se pasa por alto el
orden)
SYSCAT.INDEXDEP
Cada fila representa una dependencia de un ndice respecto de algn otro
objeto.
Tabla 68. Vista de catlogo SYSCAT.INDEXDEP
Nombre de Tipo de datos Posibi- lidad de Descripcin
columna nulos
INDSCHEMA VARCHAR(128) Nombre calificado del ndice que depende de otro
objeto.
INDNAME VARCHAR(18)
BTYPE CHAR(1) El tipo de objeto del que depende el ndice.
A = Seudnimo
F = Instancia de funcin
O = Dependencia de privilegio para todas las
subtablas o subvistas de una jerarqua de
tablas o vistas
R = Tipo estructurado
S = Tabla de resumen
T = Tabla
U = Tabla con tipo
V = Vista
W = Vista con tipo
X = Extensin de ndice
BSCHEMA VARCHAR(128) Nombre calificado del objeto del que depende el
ndice.
BNAME VARCHAR(128)
TABAUTH SMALLINT S Si BTYPE = O, S, T, U, V o W, codifica los
privilegios de la tabla o la vista que son
necesarios para el ndice dependiente. De lo
contrario es nulo.
SYSCAT.INDEXES
Contiene una fila para cada ndice (incluidos los ndices heredados donde sea
aplicable) que se define para una tabla.
Tabla 69. Vista de catlogo SYSCAT.INDEXES
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
INDSCHEMA VARCHAR(128) Nombre del ndice.
INDNAME VARCHAR(18)
DEFINER VARCHAR(128) Usuario que ha creado el ndice.
TABSCHEMA VARCHAR(128) Nombre calificado de la tabla o apodo en el que
se define el ndice.
TABNAME VARCHAR(128)
COLNAMES VARCHAR(640) Lista de nombres de columna, cada uno
precedido por un signo + o para indicar orden
ascendente o descendente respectivamente.
Aviso: Esta columna se eliminar en el futuro.
Utilice SYSCAT.INDEXCOLUSE en la
pgina 1326 para esta informacin.
UNIQUERULE CHAR(1) Regla de unicidad:
D = Los duplicados estn permitidos
P = ndice primario
U = Slo se permiten entradas exclusivas
MADE_UNIQUE CHAR(1) Y = El ndice era de no unicidad
originalmente, pero se ha convertido en un
ndice de unicidad para dar soporte a una
restriccin de clave primaria o de unicidad.
Si se elimina la restriccin, el ndice volver
a ser de no unicidad.
N = El ndice permanece tal como se ha
creado.
COLCOUNT SMALLINT Nmero de columnas de la clave ms el nmero
de columnas INCLUDE si hay alguna.
UNIQUE_COLCOUNT SMALLINT Nmero de columnas necesarias para una clave
de unicidad. Siempre <=COLCOUNT. <
COLCOUNT solamente si hay columnas
INCLUDE. 1 si el ndice no tiene clave de
unicidad (permite duplicados)
INDEXTYPE CHAR(4) Tipo de ndice.
CLUS = Agrupacin
REG = Normal
SYSCAT.INDEXOPTIONS
Cada fila contiene los valores de las opciones especficas de ndice.
Tabla 70. Vista de catlogo SYSCAT.INDEXOPTIONS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
INDSCHEMA VARCHAR(128) Nombre de esquema del ndice.
INDNAME VARCHAR(18) Nombre local del ndice.
OPTION VARCHAR(128) Nombre de la opcin de ndice.
SETTING VARCHAR(255) Valor.
SYSCAT.KEYCOLUSE
Lista todas las columnas que participan en una clave (incluidas las claves
primarias o de unicidad heredadas donde sea aplicable) definidas por una
restriccin de unicidad, de clave primaria o de clave fornea.
Tabla 71. Vista de catlogo SYSCAT.KEYCOLUSE
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
CONSTNAME VARCHAR(18) Nombre de la restriccin (exclusivo en una
tabla).
TABSCHEMA VARCHAR(128) Nombre calificado de la tabla que contiene la
columna.
TABNAME VARCHAR(128)
COLNAME VARCHAR(128) Nombre de la columna.
COLSEQ SMALLINT Posicin numrica de la columna en la clave
(posicin inicial=1).
SYSCAT.NAMEMAPPINGS
Cada fila representa la correlacin entre los objetos lgicos y los objetos de
implantacin correspondientes que implantan los objetos lgicos.
Tabla 72. Vista de catlogo SYSCAT.NAMEMAPPINGS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
TYPE CHAR(1) C = Columna
I = ndice
U = Tabla con tipo
LOGICAL_SCHEMA VARCHAR(128) Nombre calificado del objeto lgico.
LOGICAL_NAME VARCHAR(128)
LOGICAL_COLNAME VARCHAR(128) S Si TYPE = C, el nombre de la columna lgica.
De lo contrario es nulo.
IMPL_SCHEMA VARCHAR(128) Nombre calificado del objeto de implantacin
que implanta el objeto lgico.
IMPL_NAME VARCHAR(128)
IMPL_COLNAME VARCHAR(128) S Si TYPE = C, el nombre de la columna de
implantacin. De lo contrario es nulo.
SYSCAT.NODEGROUPDEF
Contiene una fila para cada particin que est contenida en un grupo de
nodos.
Tabla 73. Vista de catlogo SYSCAT.NODEGROUPDEF
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
NGNAME VARCHAR(18) El nombre del grupo de nodos que contiene la
particin (o nodo).
NODENUM SMALLINT El nmero de particin (o nodo) de una
particin contenida en el grupo de nodos. Un
nmero de particin vlido est entre 0 y 999
inclusive.
IN_USE CHAR(1) Estado de la particin (o nodo).
A = La particin recin aadida no est en el
mapa de particionamiento, pero se crean los
contenedores para los espacios de tablas en
el grupo de nodos. La particin se aade al
mapa de particionamiento cuando se
completa satisfactoriamente una operacin
Redistribuir grupo de nodos.
D = La particin se eliminar cuando se
complete una operacin Redistribuir grupo
de nodos.
T = La particin que se acaba de aadir no
est en el mapa de particionamiento y se ha
aadido utilizando la clusula WITHOUT
TABLESPACES. Los contenedores deben
aadirse especficamente a los espacios de
tablas para el grupo de nodos.
Y = La particin est en el mapa de
particionamiento.
SYSCAT.NODEGROUPS
SYSCAT.PACKAGEAUTH
SYSCAT.PACKAGEDEP
Contiene una fila para cada dependencia que tienen los paquetes de ndices,
tablas, vistas, funciones, seudnimos, tipos y jerarquas.
Tabla 76. Vista de catlogo SYSCAT.PACKAGEDEP
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
PKGSCHEMA VARCHAR(128) Nombre del paquete.
PKGNAME CHAR(8)
BINDER VARCHAR(128) S Enlazador del paquete.
BTYPE CHAR(1) Tipo de objeto BNAME:
A = Seudnimo
D = Definicin de servidor
F = Instancia de funcin
I = ndice
M = Correlacin de funciones
N = Apodo
O = Dependencia de privilegio de todas las
subtablas o subvistas de una jerarqua de
tablas o de vistas
P = Tamao de pgina
R = Tipo estructurado
S = Tabla de resumen
T = Tabla
U = Tabla con tipo
V = Vista
W = Vista con tipo
BSCHEMA VARCHAR(128) Nombre calificado de un objeto del que
depende el paquete.
BNAME VARCHAR(128)
TABAUTH SMALLINT S Si BTYPE es O, S, T, U, V o W cuando codifica
los privilegios que necesita este paquete (Select,
Insert, Delete, Update).
Nota: Cuando se elimina una instancia de funcin de la que depende un paquete, ste se coloca en un
estado no operativo a partir del cual se ha de volver a enlazar explcitamente. Cuando se elimina
cualquier otro objeto del que depende el paquete, ste se coloca en un estado no vlido a partir del
cual el sistema intentar volverlo a enlazar automticamente la primera vez que se haga referencia al
paquete.
SYSCAT.PACKAGES
Contiene una fila para cada paquete que se ha creado mediante el enlace
lgico de un programa de aplicacin.
Tabla 77. Vista de catlogo SYSCAT.PACKAGES
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
PKGSCHEMA VARCHAR(128) Nombre del paquete.
PKGNAME CHAR(8)
BOUNDBY VARCHAR(128) ID de autorizacin OWNER) del enlazador del
paquete.
DEFINER VARCHAR(128) ID de usuario bajo el cual se ha enlazado el
paquete.
DEFAULT_SCHEMA VARCHAR(128) Nombre de esquema por omisin (QUALIFIER)
utilizado para nombres no calificados en
sentencias de SQL estticas.
VALID CHAR(1) Y = Vlido
N = No vlido
X = El paquete no es operativo porque
alguna instancia de funcin de la que
depende se ha desactivado. Se necesita
volver a ejecutar bind. Consulte la Nota 1 on
SYSCAT.PACKAGEDEP en la pgina 1338
UNIQUE_ID CHAR(8) Informacin de fecha y hora interna que indica
cundo se ha creado el paquete por primera
vez.
TOTAL_SECT SMALLINT Nmero total de secciones en el paquete.
FORMAT CHAR(1) Formato de fecha y hora asociado con el
paquete:
0 = Formato asociado con el cdigo del pas
de la base de datos
1 = Hora y fecha USA
2 = Fecha EUR, hora EUR
3 = Fecha ISO, hora ISO
4 = Fecha JIS, hora JIS
5 = Fecha LOCAL, hora LOCAL
SYSCAT.PARTITIONMAPS
Contiene una fila para cada mapa de particionamiento que se utiliza para
distribuir las filas de las tablas entre las particiones de un grupo de nodos,
basndose en la clave de particionamiento de tablas.
Tabla 78. Vista de catlogo SYSCAT.PARTITIONMAPS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
PMAP_ID SMALLINT Identificador del mapa de particionamiento.
PARTITIONMAP LONG VARCHAR El mapa de particionamiento real, un vector de
FOR BIT DATA 4.096 enteros de dos bytes para un grupo de
nodos de varios nodos. Para un grupo de nodos
de un solo nodo, hay una entrada que indica el
nmero de particin (o nodo) del nodo
individual.
SYSCAT.PASSTHRUAUTH
Esta vista de catlogo contiene informacin acerca de las autorizaciones para
consultar fuentes de datos en sesiones de paso a travs. Una restriccin en la
tabla base necesita que los valores de SERVER se correspondan con los valores
de la columna SERVER de SYSCAT.SERVERS. Ningn campo de
SYSCAT.PASSTHRUAUTH puede ser nulo.
Tabla 79. Columnas de la vista de catlogo SYSCAT.PASSTHRUAUTH
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
GRANTOR VARCHAR(128) ID de autorizacin del usuario que ha otorgado
el privilegio.
GRANTEE VARCHAR(128) ID de autorizacin del usuario o del grupo que
tiene el privilegio.
GRANTEETYPE CHAR(1) Una letra que especifica el tipo al que se ha
otorgado:
U = Se otorga a un usuario individual.
G = Se otorga a un grupo.
SERVERNAME VARCHAR(128) Nombre de la fuente de datos para la que se
est otorgando la autorizacin al usuario o al
grupo.
SYSCAT.PROCEDURES
SYSCAT.PROCOPTIONS
Cada fila contiene los valores de las opciones especficas de servidor
Tabla 81. Vista de catlogo SYSCAT.PROCOPTIONS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
PROCSCHEMA VARCHAR(128) Calificador para el nombre o apodo del
procedimiento almacenado.
PROCNAME VARCHAR(128) Nombre o apodo del procedimiento
almacenado.
OPTION VARCHAR(128) Nombre de la opcin de procedimiento
almacenado.
SETTING VARCHAR(255) Valor de la opcin de procedimiento
almacenado.
SYSCAT.PROCPARMOPTIONS
Cada fila contiene los valores de las opciones especficas del parmetro de
procedimiento.
Tabla 82. Vista de catlogo SYSCAT.PROCPARMOPTIONS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
PROCSCHEMA VARCHAR(128) Nombre o apodo de procedimiento calificado.
PROCNAME VARCHAR(128)
ORDINAL SMALLINT Posicin numrica del parmetro dentro de la
signaturadel procedimiento.
OPTION VARCHAR(128) Nombre de la opcin de procedimiento
almacenado.
SETTING VARCHAR(255) Valor.
SYSCAT.PROCPARMS
SYSCAT.REFERENCES
SYSCAT.REVTYPEMAPPINGS
Cada fila contiene las correlaciones de tipos de datos invertidos (correlaciones
de tipos de datos definidos localmente para los tipos de datos de fuente de
datos). No hay datos en esta versin. Se define para una posible utilizacin
futura con las correlaciones de tipos de datos.
Tabla 85. Vista de catlogo SYSCAT.REVTYPEMAPPINGS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
TYPE_MAPPING VARCHAR(18) Nombre de la correlacin de tipos invertidos
(puede ser generado por el sistema).
TYPESCHEMA VARCHAR(128) S Nombre de esquema del tipo. Nulo para
tipos incorporados del sistema.
TYPENAME VARCHAR(18) Nombre del tipo local de una correlacin de
tipos invertidos.
TYPEID SMALLINT Identificador de tipo.
SOURCETYPEID SMALLINT Identificador de tipo de fuente.
DEFINER VARCHAR(128) ID de autorizacin bajo el cual se ha creado
esta correlacin de tipos.
LOWER_LEN INTEGER S Lmite inferior de la longitud/precisin del
tipo local.
UPPER_LEN INTEGER S Lmite superior de la longitud/precisin del
tipo local. Si es nulo, el sistema determina el
mejor atributo de longitud/precisin.
LOWER_SCALE SMALLINT S Lmite inferior de la escala para los tipos de
datos decimales locales.
UPPER_SCALE SMALLINT S Lmite superior de la escala para tipos de
datos decimales locales. Si es nulo, el sistema
determina el mejor atributo de escala.
S_OPR_P CHAR(2) S Relacin entre la escala local y la precisin
local. Se pueden utilizar operadores de
comparacin bsicos. Un nulo indica que no
es necesaria ninguna relacin especfica.
BIT_DATA CHAR(1) S Y = El tipo es para datos de bits.
N = El tipo no es para datos de bits.
NULL = No se trata de un tipo de datos
de caracteres o el sistema determina el
atributo de datos de bits.
WRAPNAME VARCHAR(128) S La correlacin se aplica a este protocolo de
acceso de datos.
SYSCAT.SCHEMAAUTH
Contiene una o varias filas para cada usuario o grupo a los que se ha
otorgado un privilegio para un esquema determinado de la base de datos.
Todos los privilegios para un esquema individual otorgados por un otorgante
especfico a un receptor del otorgamiento especfico aparecen en una sola fila.
Tabla 86. Vista de catlogo SYSCAT.SCHEMAAUTH
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
GRANTOR VARCHAR(128) ID de autorizacin del usuario que ha otorgado
los privilegios o SYSIBM.
GRANTEE VARCHAR(128) ID de autorizacin del usuario o grupo que
tiene los privilegios.
GRANTEETYPE CHAR(1) U = Se otorga a un usuario individual.
G = Se otorga a un grupo.
SCHEMANAME VARCHAR(128) Nombre del esquema.
ALTERINAUTH CHAR(1) Indica si receptor del otorgamiento tiene el
privilegio ALTERIN en el esquema:
Y = Tiene el privilegio.
G = Tiene el privilegio y es otorgable.
N = No tiene el privilegio.
CREATEINAUTH CHAR(1) Indica si el receptor del otorgamiento tiene el
privilegio CREATEIN en el esquema:
Y = Tiene el privilegio.
G = Tiene el privilegio y es otorgable.
N = No tiene el privilegio.
DROPINAUTH CHAR(1) Indica si el receptor del otorgamiento tiene el
privilegio DROPIN en el esquema:
Y = Tiene el privilegio.
G = Tiene el privilegio y es otorgable.
N = No tiene el privilegio.
SYSCAT.SCHEMATA
SYSCAT.SEQUENCES
La vista SYSCAT.SEQUENCES se genera automticamente para las bases de
datos creadas con el FixPak 3 o posterior.
Para las bases de datos creadas antes del FixPak 3, ejecute el mandato
db2updv7 para aadir la vista a la base de datos. Consulte las actualizaciones
de la publicacin Consulta de mandatos en las Notas del release para obtener
detalles.
SYSCAT.SERVEROPTIONS
Cada fila contiene las opciones de configuracin a nivel de servidor.
Tabla 89. Columnas de la vista de catlogo SYSCAT.SERVEROPTIONS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
WRAPNAME VARCHAR(128) S Nombre de reiniciador.
SERVERNAME VARCHAR(128) S Nombre del servidor.
SERVERTYPE VARCHAR (30) S Tipo de servidor.
SERVERVERSION VARCHAR(18) S Versin de servidor.
CREATE_TIME TIMESTAMP Hora en que se ha creado la entrada.
OPTION VARCHAR(128) Nombre de la opcin de servidor.
SETTING VARCHAR(2048) Valor de la opcin de servidor.
SERVEROPTIONKEY VARCHAR(18) Identifica exclusivamente una fila.
REMARKS VARCHAR(254) S Comentario suministrado por el usuario o nulo.
SYSCAT.SERVERS
Cada fila representa una fuente de datos. Las entradas del catlogo no son
necesarias para las tablas que se almacenan en la misma instancia que
contiene esta tabla del catlogo.
Tabla 90. Columnas de la vista de catlogo SYSCAT.SERVERS
Nombre Tipo de datos Posibi- Descripcin
lidad de
nulos
WRAPNAME VARCHAR(128) Nombre de reiniciador.
SERVERNAME VARCHAR(128) Nombre de la fuente de datos conocida por el
sistema.
SERVERTYPE VARCHAR (30) S Tipo de fuente de datos (siempre en
maysculas).
SERVERVERSION VARCHAR(18) S Versin de la fuente de datos.
REMARKS VARCHAR(254) S Comentario suministrado por el usuario o nulo.
SYSCAT.STATEMENTS
Contiene una o varias filas para cada sentencia de SQL de cada paquete de la
base de datos.
Tabla 91. Vista de catlogo SYSCAT.STATEMENTS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
PKGSCHEMA VARCHAR(128) Nombre del paquete.
PKGNAME CHAR(8)
STMTNO INTEGER Nmero de lnea de la sentencia de SQL del
mdulo fuente del programa de aplicacin.
SECTNO SMALLINT Nmero de la seccin del paquete que contiene
la sentencia de SQL.
SEQNO SMALLINT Siempre 1.
TEXT CLOB(64K) Texto de la sentencia de SQL.
SYSCAT.TABAUTH
Contiene una o varias filas para cada usuario o grupo a los que se otorga un
privilegio para una tabla o vista determinada de la base de datos. Todos los
privilegios para una tabla o vista individual otorgados por un otorgante
especfico a un usuario autorizado especfico aparecen en una sola fila.
Tabla 92. Vista de catlogo SYSCAT.TABAUTH
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
GRANTOR VARCHAR(128) ID de autorizacin del usuario que ha otorgado
los privilegios o SYSIBM.
GRANTEE VARCHAR(128) ID de autorizacin del usuario o grupo que
tiene los privilegios.
GRANTEETYPE CHAR(1) U = Se otorga a un usuario individual.
G = Se otorga a un grupo.
TABSCHEMA VARCHAR(128) Nombre calificado de la tabla o vista.
TABNAME VARCHAR(128)
CONTROLAUTH CHAR(1) Indica si el receptor del otorgamiento tiene el
privilegio CONTROL en la tabla o vista:
Y = Tiene el privilegio.
N = No tiene el privilegio.
ALTERAUTH CHAR(1) Indica si el receptor del otorgamiento tiene el
privilegio ALTER en la tabla:
Y = Tiene el privilegio.
N = No tiene el privilegio.
G = Tiene el privilegio y es otorgable.
DELETEAUTH CHAR(1) Indica si el receptor del otorgamiento tiene el
privilegio DELETE en la tabla o vista:
Y = Tiene el privilegio.
N = No tiene el privilegio.
G = Tiene el privilegio y es otorgable.
INDEXAUTH CHAR(1) Indica si el receptor del otorgamiento tiene el
privilegio INDEX en la tabla:
Y = Tiene el privilegio.
N = No tiene el privilegio.
G = Tiene el privilegio y es otorgable.
SYSCAT.TABCONST
Cada fila representa una restriccin de tabla del tipo CHECK, UNIQUE,
PRIMARY KEY o FOREIGN KEY.
Tabla 93. Vista de catlogo SYSCAT.TABCONST
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
CONSTNAME VARCHAR(18) Nombre de la restriccin (exclusivo en una
tabla).
TABSCHEMA VARCHAR(128) Nombre calificado de la tabla a la que se aplica
esta restriccin.
TABNAME VARCHAR(128)
DEFINER VARCHAR(128) ID de autorizacin bajo el cual se ha definido la
restriccin.
TYPE CHAR(1) Indica el tipo de restriccin:
F= FOREIGN KEY
K= CHECK
P= PRIMARY KEY
U= UNIQUE
REMARKS VARCHAR(254) S Comentario suministrado por el usuario o nulo.
SYSCAT.TABLES
Contiene una fila para cada tabla, vista, apodo o seudnimo que se crea.
Todas las tablas y vistas de catlogo tienen entradas en la vista de catlogo
SYSCAT.TABLES.
Tabla 94. Vista de catlogo SYSCAT.TABLES
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
TABSCHEMA VARCHAR(128) Nombre calificado de la tabla, vista, apodo o
seudnimo.
TABNAME VARCHAR(128)
DEFINER VARCHAR(128) Usuario que ha creado la tabla, vista, apodo o
seudnimo.
TYPE CHAR(1) El tipo de objeto:
A = Seudnimo
H = Tabla de jerarqua
N = Apodo
S = Tabla de resumen
T = Tabla
U = Tabla con tipo
V = Vista
W = Vista con tipo
STATUS CHAR(1) El tipo de objeto:
N = Tabla, vista, seudnimo o apodo normal
C = Pendiente de comprobacin en tabla o
apodo
X = Apodo o vista no operativa
BASE_TABSCHEMA VARCHAR(128) S Si TYPE=A, estas columnas identifican la tabla,
vista, seudnimo o apodo a los que hace
BASE_TABNAME VARCHAR(128) S referencia este seudnimo; de lo contrario son
nulos.
ROWTYPESCHEMA VARCHAR(128) S Contiene el nombre calificado del tipo de fila de
esta tabla, donde sea aplicable. En otro caso, es
ROWTYPENAME VARCHAR(18) nulo.
CREATE_TIME TIMESTAMP La indicacin de la hora en la que se ha creado
el objeto.
STATS_TIME TIMESTAMP S La ltima vez que se ha realizado un cambio en
las estadsticas registradas para esta tabla. Nulo
si no hay estadsticas disponibles.
COLCOUNT SMALLINT Nmero de columnas en la tabla.
SYSCAT.TABLESPACES
SYSCAT.TABOPTIONS
Cada fila contiene la opcin asociada con una tabla remota.
Tabla 96. Vista de catlogo SYSCAT.TABOPTIONS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
TABSCHEMA VARCHAR(128) Nombre calificado de tabla, vista, seudnimo o
apodo.
TABNAME VARCHAR(128)
OPTION VARCHAR(128) Nombre de la opcin de tabla, vista, seudnimo
o apodo.
SETTING VARCHAR(255) Valor.
SYSCAT.TBSPACEAUTH
Contiene una fila para cada usuario o grupo al que se ha otorgado privilegio
USE para un espacio de tablas determinado de la base de datos.
Tabla 97. Vista de catlogo SYSCAT.TBSPACEAUTH
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
GRANTOR CHAR(128) ID de autorizacin del usuario que ha otorgado
los privilegios o SYSIBM.
GRANTEE CHAR(128) ID de autorizacin del usuario o grupo que
tiene los privilegios.
GRANTEETYPE CHAR(1) U = Se otorga a un usuario individual.
G = Se otorga a un grupo.
TBSPACE VARCHAR(18) Nombre del espacio de tablas.
USEAUTH CHAR(1) Indica si el receptor del otorgamiento tiene el
privilegio USE en el espacio de tabla:
G = Tiene el privilegio y es otorgable.
N = No tiene el privilegio.
Y = Tiene el privilegio.
SYSCAT.TRIGDEP
Contiene una fila para cada dependencia que un desencadenante tiene de otro
objeto.
Tabla 98. Vista de catlogo SYSCAT.TRIGDEP
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
TRIGSCHEMA VARCHAR(128) Nombre calificado del desencadenante.
TRIGNAME VARCHAR(18)
BTYPE CHAR(1) Tipo de objeto BNAME:
A = Seudnimo
F = Instancia de funcin
N = Apodo
O = Dependencia de privilegios en todas las
subtablas o subvistas de una jerarqua de
tablas o de vistas
R = Tipo estructurado
S = Tabla de resumen
T = Tabla
U = Tabla con tipo
V = Vista
W = Vista con tipo
X = Extensin de ndice
BSCHEMA VARCHAR(128) Nombre calificado del objeto del que depende
un desencadenante.
BNAME VARCHAR(128)
TABAUTH SMALLINT S Si BTYPE= O, S, T, U, V o W codifica los
privilegios en la tabla o vista que necesita este
desencadenante; de lo contrario, es nulo.
SYSCAT.TRIGGERS
Contiene una fila para cada desencadenante. Para jerarquas de tablas, cada
desencadenante se registra slo al nivel de la jerarqua donde se ha creado.
Tabla 99. Vista de catlogo SYSCAT.TRIGGERS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
TRIGSCHEMA VARCHAR(128) Nombre calificado del desencadenante.
TRIGNAME VARCHAR(18)
DEFINER VARCHAR(128) ID de autorizacin bajo el cual se ha definido
el desencadenante.
TABSCHEMA VARCHAR(128) Nombre calificado de la tabla a la que se
aplica este desencadenante.
TABNAME VARCHAR(128)
TRIGTIME CHAR(1) Momento en que se aplican las acciones
activadas a la base de datos, en relacin al
suceso que ha disparado el desencadenante:
A = Desencadenante aplicado despus del
suceso
B = Desencadenante aplicado antes del
suceso
TRIGEVENT CHAR(1) Suceso que dispara el desencadenante.
I = Insercin
D = Supresin
U = Actualizacin
GRANULARITY CHAR(1) El desencadenante se ejecuta una vez por:
S = Sentencia
R = Fila
VALID CHAR(1) Y = El desencadenante es vlido
X = El desencadenante no es operativo;
debe volverse a crear.
CREATE_TIME TIMESTAMP Hora en la que se ha definido el
desencadenante. Utilizada para resolver las
funciones y tipos.
QUALIFIER VARCHAR(128) Contiene el valor del esquema por omisin en
el momento de la definicin de objeto.
FUNC_PATH VARCHAR(254) Va de acceso de funcin en el momento en
que se ha definido el desencadenante.
Utilizada para resolver las funciones y tipos.
SYSCAT.TYPEMAPPINGS
Cada fila contiene una correlacin definida por el usuario de un tipo de datos
incorporado remoto con un tipo de datos incorporado local.
Tabla 100. Vista de catlogo SYSCAT.TYPEMAPPINGS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
TYPE_MAPPING VARCHAR(18) Nombre de la correlacin de tipos (puede ser
generado por el sistema).
TYPESCHEMA VARCHAR(128) S Nombre de esquema del tipo. Nulo para
tipos incorporados del sistema.
TYPENAME VARCHAR(18) Nombre del tipo local en una correlacin de
tipos de datos.
TYPEID SMALLINT Identificador de tipo.
SOURCETYPEID SMALLINT Identificador de tipo de fuente.
DEFINER VARCHAR(128) ID de autorizacin bajo el cual se ha creado
esta correlacin de tipos.
LENGTH INTEGER S Longitud o precisin mxima del tipo de
datos. Si es nulo, el sistema determina la
mejor longitud/precisin.
SCALE SMALLINT S Escala para campos DECIMAL. Si es nulo, el
sistema determina el mejor atributo de escala.
BIT_DATA CHAR(1) S Y = El tipo es para datos de bits.
N = El tipo no es para datos de bits.
NULL = No se trata de un tipo de datos
de caracteres o el sistema determina el
atributo de datos de bits.
WRAPNAME VARCHAR(128) S La correlacin se aplica a este protocolo de
acceso de datos.
SERVERNAME VARCHAR(128) S Nombre de la fuente de datos.
SERVERTYPE VARCHAR (30) S La correlacin se aplica a este tipo de fuente
de datos.
SERVERVERSION VARCHAR(18) S La correlacin se aplica a esta versin de
SERVERTYPE.
REMOTE_TYPESCHEMA VARCHAR(128) S Nombre de esquema del tipo remoto.
REMOTE_TYPENAME VARCHAR(128) Nombre del tipo de datos tal como est
definido en la fuente o fuentes de datos.
SYSCAT.USEROPTIONS
Cada fila contiene los valores de las opciones especficas de servidor.
Tabla 101. Vista de catlogo SYSCAT.USEROPTIONS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
AUTHID VARCHAR(128) ID de autorizacin local (siempre en
maysculas)
SERVERNAME VARCHAR(128) Nombre del servidor para el cual se define el
usuario.
OPTION VARCHAR(128) Nombre de las opciones de usuario.
SETTING VARCHAR(255) Valor.
SYSCAT.VIEWDEP
Contiene una fila para cada dependencia que tiene una vista o una tabla de
resumen de otro objeto. Tambin codifica la forma en que los privilegios de
esta vista dependen de los privilegios de las tablas y vistas principales.
Tabla 102. Vista de catlogo SYSCAT.VIEWDEP
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
VIEWSCHEMA VARCHAR(128) Nombre de la vista o nombre de una tabla de
resumen con dependencias de una tabla base.
VIEWNAME VARCHAR(128)
DTYPE CHAR(1) S = Tabla de resumen
V = Vista (de no tipo)
W = Vista con tipo
DEFINER VARCHAR(128) S ID de autorizacin del creador de la vista.
BTYPE CHAR(1) Tipo de objeto BNAME:
A = Seudnimo
F = Instancia de funcin
N = Apodo
O = Dependencia de privilegio para todas
las subtablas o subvistas de una jerarqua de
tablas o de vistas
I = ndice si se registra una dependencia de
una tabla base
R = Tipo estructurado
S = Tabla de resumen
T = Tabla
U = Tabla con tipo
V = Vista
W = Vista con tipo
BSCHEMA VARCHAR(128) Nombre calificado del objeto del que depende la
vista.
BNAME VARCHAR(128)
TABAUTH SMALLINT S Si BTYPE= O, S, T, U, V o W entonces codifica
los privilegios en la tabla o vista subyacente en
la que depende esta vista. De lo contrario es
nulo.
SYSCAT.VIEWS
SYSCAT.WRAPOPTIONS
Cada fila contiene las opciones especficas de reiniciador.
Tabla 104. Vista de catlogo SYSCAT.WRAPOPTIONS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
WRAPNAME VARCHAR(128) Nombre de reiniciador.
OPTION VARCHAR(128) Nombre de opcin de reiniciador.
SETTING VARCHAR(255) Valor.
SYSCAT.WRAPPERS
Cada fila contiene informacin sobre el reiniciador registrado.
Tabla 105. Vista de catlogo SYSCAT.WRAPPERS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
WRAPNAME VARCHAR(128) Nombre de reiniciador.
WRAPTYPE CHAR(1) N = No relacional
R = Relacional
WRAPVERSION INTEGER Versin del reiniciador.
LIBRARY VARCHAR(255) Nombre del archivo que contiene el cdigo
utilizado para comunicarse con las fuentes de
datos asociadas a este reiniciador.
REMARKS VARCHAR(254) S Comentario suministrado por el usuario o nulo.
SYSSTAT.COLDIST
SYSSTAT.COLUMNS
Contiene una fila para cada columna cuyas estadsticas pueden actualizarse.
Las estadsticas no se registran para columnas heredadas de tablas con tipo.
Tabla 107. Vista de catlogo SYSSTAT.COLUMNS
Nombre de columna Tipo de Posibi- Descripcin Actualizable
datos lidad de
nulos
TABSCHEMA VARCHAR(128) Nombre calificado de la tabla que
contiene la columna.
TABNAME VARCHAR(128)
COLNAME VARCHAR(128) Nombre de columna.
COLCARD BIGINT Nmero de valores diferenciados en S
la columna; 1 si no se renen
estadsticas; 2 para columnas
heredadas y columnas de tablas-H.
SYSSTAT.FUNCTIONS
Contiene una fila para cada funcin definida por el usuario (escalar o
agregada). No incluye las funciones incorporadas. Las estadsticas no se
registran para columnas heredadas de tablas con tipo.
Tabla 108. Vista de catlogo SYSSTAT.FUNCTIONS
Nombre de columna Tipo de Posibi- Descripcin Actualizable
datos lidad de
nulos
FUNCSCHEMA VARCHAR(128) Nombre de funcin calificado.
FUNCNAME VARCHAR(18)
SPECIFICNAME VARCHAR(18) Nombre especfico de la funcin
(instancia).
IOS_PER_INVOC DOUBLE El nmero estimado de E/S por S
invocacin; 1 si no se conoce (0 valor
por omisin).
SYSSTAT.INDEXES
Contiene una fila para cada ndice que se define para una tabla.
Tabla 109. Vista de catlogo SYSSTAT.INDEXES
Nombre de columna Tipo de Posibi- Descripcin Actualizable
datos lidad de
nulos
INDSCHEMA VARCHAR(128) Nombre calificado del ndice.
INDNAME VARCHAR(18)
TABSCHEMA VARCHAR(128) Calificador del nombre de tabla.
TABNAME VARCHAR(128) Nombre de la tabla o apodo en el
que se define el ndice.
COLNAMES CLOB(1M) Lista de nombres de columna con
prefijos + o .
NLEAF INTEGER Nmero de pginas; 1 si no se S
renen estadsticas.
SYSSTAT.TABLES
Contiene una fila para cada tabla base. Por lo tanto, las vistas o seudnimos
no se incluyen. Para las tablas con tipo, slo se incluye la tabla raz de una
jerarqua de tablas en esta vista. Las estadsticas no se registran para columnas
heredadas de tablas con tipo. El valor CARD se aplica a la tabla raz
solamente mientras las otras estadsticas se apliquen a toda la jerarqua de
tablas.
Tabla 110. Vista de catlogo SYSSTAT.TABLES
Nombre de Tipo de datos Posibi- lidad Descripcin Actualizable
columna de nulos
TABSCHEMA VARCHAR(128) Nombre calificado de la tabla.
TABNAME VARCHAR(128)
CARD BIGINT Nmero total de filas en la tabla; 1 si no S
se renen estadsticas.
AVISO: Este conjunto de vistas slo es para uso temporal hasta que aparezca
la prxima versin que d soporte a la migracin de catlogos. Las
aplicaciones no deben suponer que estas vistas existen en todas las
bases de datos y deben considerar que estas vistas de catlogo
pueden dejar de existir en versiones futuras. La informacin
proporcionada por estas vistas estar disponible a travs de las vistas
SYSCAT en una versin futura.
Las vistas creadas por objcat.db2 se pueden eliminar siguiendo estos pasos:
v Mediante el Procesador de lnea de mandatos, conctese a la base de datos
con un ID de autorizacin que tenga autorizacin SYSADM o DBADM.
v Asegrese de que est en el directorio inicial de la instancia de DB2.
v Si utiliza un sistema basado en UNIX, emita este mandato:
db2 -tvf sqllib/bin/objcatdp.db2
v Si utiliza un sistema OS/2 o basado en Windows emita este mandato:
db2 -tvf sqllib\bin\objcatdp.db2
Este apndice contiene una descripcin de las vistas de catlogo OBJCAT. Para
conocer las vistas SYSCAT asociadas, vea el Apndice D. Vistas de catlogo
en la pgina 1281.
OBJCAT.INDEXES
Tabla 111. Vista de catlogo OBJCAT.INDEXES
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
INDSCHEMA VARCHAR(128) Nombre del ndice.
INDNAME VARCHAR(18)
DEFINER VARCHAR(128) Usuario que ha creado el ndice.
TABSCHEMA VARCHAR(128) Nombre calificado de la tabla o apodo en el
que se define el ndice.
TABNAME VARCHAR(128)
COLNAMES VARCHAR(640) Lista de nombres de columnas, cada uno
precedido por un signo + o para indicar
orden ascendente o descendente
respectivamente. Aviso: Esta columna se
eliminar en el futuro. Utilice
SYSCAT.INDEXCOLUSE en la pgina 1326
para obtener esta informacin.
UNIQUERULE CHAR(1) Regla de unicidad:
D = Los duplicados estn permitidos
P = ndice primario
U = Slo se permiten entradas exclusivas
MADE_UNIQUE CHAR(1) Y = El ndice era inicialmente un ndice
de no unicidad, pero se ha convertido a
un ndice de unicidad para dar soporte a
una restriccin de unicidad o de clave
primaria. Si se elimina la restriccin, el
ndice volver a ser de no unicidad.
N = El ndice permanece tal como se ha
creado.
COLCOUNT SMALLINT Nmero de columnas de la clave ms el
nmero de columnas INCLUDE, si hay
alguna.
UNIQUE_COLCOUNT SMALLINT Nmero de columnas necesarias para una
clave de unicidad. Es siempre menor o igual
que COLCOUNT. Es menor que COLCOUNT
slo si hay columnas INCLUDE. 1 si el
ndice no tiene clave de unicidad (permite los
duplicados).
INDEXTYPE CHAR(4) Tipo de ndice.
CLUS = Agrupacin
REG = Normal
OBJCAT.INDEXEXPLOITRULES
OBJCAT.INDEXEXTENSIONDEP
Contiene una fila para cada dependencia que las extensiones de ndice tienen
sobre diversos objetos de base de datos.
Tabla 113. Vista de catlogo OBJCAT.INDEXEXTENSIONDEP
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
IESCHEMA VARCHAR(128) Nombre calificado de la extensin de ndice
que tiene dependencias sobre otro objeto.
IENAME VARCHAR(18)
BTYPE CHAR(1) Tipo de objeto del que depende la extensin
de ndice:
A = Seudnimo
F = Instancia de funcin o instancia de
mtodo
J = Definicin de servidor
O = Dependencia "externa" sobre
privilegio SELECT jerrquico
R = Tipo estructurado
S = Tabla de resumen
T = Tabla (sin tipo)
U = Tabla con tipo
V = Vista (sin tipo)
W = Vista con tipo
X = Extensin de ndice
BSCHEMA VARCHAR(128) Nombre calificado del objeto del que
depende la extensin de ndice (si BTYPE='F',
BNAME VARCHAR(128) este campo es el nombre especfico de una
funcin).
TABAUTH SMALLINT S Si BTYPE='O', 'T', 'U', 'V' o 'W', codifica los
privilegios que un desencadenante
dependiente necesita para la tabla (o vista);
en otro caso su valor es nulo.
OBJCAT.INDEXEXTENSIONMETHODS
OBJCAT.INDEXEXTENSIONPARMS
OBJCAT.INDEXEXTENSIONS
Contiene una fila para cada extensin de ndice.
Tabla 116. Vista de catlogo OBJCAT.INDEXEXTENSIONS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
IESCHEMA VARCHAR(128) Nombre calificado de la extensin de ndice.
IENAME VARCHAR(18)
DEFINER VARCHAR(128) ID de autorizacin con el cual se ha definido
la extensin de ndice.
CREATE_TIME TIMESTAMP Hora en la que se defini la extensin de
ndice.
KEYGENFUNCSCHEMA VARCHAR(128) Nombre calificado de la funcin de
generacin de claves.
KEYGENFUNCNAME VARCHAR(18)
KEYGENSPECIFICNAME VARCHAR(18) Nombre especfico de la funcin de
generacin de claves.
TEXT CLOB(64K) El texto completo de la sentencia CREATE
INDEX EXTENSION.
REMARKS VARCHAR(254) Comentario suministrado por el usuario o
nulo.
OBJCAT.PREDICATESPECS
Tabla 117. Vista de catlogo OBJCAT.PREDICATESPECS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
FUNCSCHEMA VARCHAR(128) Nombre calificado de la funcin.
FUNCNAME VARCHAR(18)
SPECIFICNAME VARCHAR(18) El nombre de la instancia de funcin.
FUNCID INTEGER ID de funcin.
SPECID SMALLINT ID de la especificacin de predicado.
CONTEXTOP CHAR(8) El operador de comparacin es uno de los
operadores relacionales incorporados (=,<,>=,
etc.).
CONTEXTEXP CLOB(32K) Constante o una expresin SQL.
FILTERTEXT CLOB(32K) S Texto de la expresin de filtro de datos.
OBJCAT.TRANSFORMS
Contiene una fila para cada tipo de funcin de transformacin dentro de un
tipo definido por el usuario contenido en un grupo de transformacin
especificado.
Tabla 118. Vista de catlogo OBJCAT.TRANSFORMS
Nombre de columna Tipo de datos Posibi- Descripcin
lidad de
nulos
TYPEID SMALLINT ID interno de tipo, tal como est definido en
SYSCAT.DATATYPES
TYPESCHEMA VARCHAR(128) Nombre calificado del tipo estructurado
proporcionado, definido por el usuario.
TYPENAME VARCHAR(18)
GROUPNAME VARCHAR(18) Nombre del grupo de transformacin.
FUNCID INTEGER S ID interno de la funcin de transformacin
asociada, tal como est definido en
SYSCAT.FUNCTIONS. Nulo slo para
funciones internas del sistema.
FUNCSCHEMA VARCHAR(128) Nombre calificado de las funciones de
transformacin asociadas.
FUNCNAME VARCHAR(18)
SPECIFICNAME VARCHAR(18) Nombre especfico de la funcin (instancia).
TRANSFORMTYPE VARCHAR(8) 'FROM SQL' = La funcin de
transformacin transforma un tipo
estructurado desde SQL
'TO SQL' = La funcin de transformacin
transforma un tipo estructurado a SQL
FORMAT CHAR(1) 'U' = Definido por el usuario
MAXLENGTH INTEGER S Longitud mxima (en bytes) de la salida de
la transformacin FROM SQL. Nulo para las
transformaciones TO SQL.
ORIGIN CHAR(1) 'I' = Heredado en la jerarqua de tipos.
'U' = Definido por el usuario.
REMARKS VARCHAR(254) S Comentario proporcionado por el usuario o
nulo.
Tipos de servidor
Los tipos de servidor indican la clase de fuente de datos a la que el servidor
representar. Los tipos de servidor varan segn el proveedor, la finalidad y la
plataforma. Los valores soportados varan segn el reiniciador utilizado.
v Reiniciador DRDA
Familia DB2
Tabla 119. IBM DB2 Universal Database
Tipo de servidor Fuente de datos
v Reiniciador SQLNET
Fuentes de datos Oracle soportadas por software de cliente Oracle SQL*Net
V1 o V2.
v Reiniciador NET8
Fuentes de datos Oracle soportadas por software de cliente Oracle Net8.
v Reiniciador OLE DB
Proveedores OLE DB compatibles con Microsoft OLE DB 2.0 o posterior.
v Otros reiniciadores
Consulte la documentacin incluida con el reiniciador.
Opciones de servidor
Las opciones de servidor se utilizan para describir un servidor. Adems de la
informacin de ubicacin (por ejemplo, el nombre de mquina de la fuente de
datos), las opciones pueden especificar los atributos de seguridad y de
rendimiento para una fuente de datos. Las opciones de seguridad
proporcionan control de la comunicacin con contrasea (enviada o no a las
fuentes de datos) y de la autentificacin de maysculas/minsculas de la
informacin (las maysculas y/o minsculas de los ID y contraseas). Las
opciones de rendimiento ayudan al optimizador a determinar si las
operaciones de evaluacin se pueden realizar en las fuentes de datos y el
mejor modelo de coste para completar las consultas que recuperan datos de
las fuentes de datos.
Las tablas de muestra se utilizan en los ejemplos que aparecen en este manual
y en otros manuales de esta biblioteca. Adems, se muestran los datos
contenidos en los archivos de muestra con tipos de datos BLOB y CLOB.
db2sampl e
117. Para obtener informacin acerca de este mandato, consulte el mandato DB2SAMPL en el manual Consulta de
mandatos.
118. Si no se especifica el parmetro de va de acceso, las tablas de ejemplo se crea en la va de acceso por omisin
especificada por el parmetro DFTDBPATH en el archivo de configuracin del gestor de bases de datos.
119. Si no se especifica el parmetro de unidad, la base de datos de ejemplo se crea en la misma unidad que DB2.
Tabla CL_SCHED
Nombre: CLASS_CODE DAY STARTING ENDING
Tipo: char(7) smallint time time
Desc: Class Code Day # of 4 day Class Start Time Class End Time
(room:teacher) schedule
Tabla DEPARTMENT
Nombre: DEPTNO DEPTNAME MGRNO ADMRDEPT LOCATION
Tipo: char(3) not null varchar(29) not null char(6) char(3) not null char(16)
Desc: Department Name describing general Employee Department Name of the
number activities of department number (DEPTNO) to remote location
(EMPNO) of which this
department department
manager reports
Valores: A00 SPIFFY COMPUTER SERVICE 000010 A00 -
DIV.
B01 PLANNING 000020 A00 -
C01 INFORMATION CENTER 000030 A00 -
D01 DEVELOPMENT CENTER - A00 -
D11 MANUFACTURING SYSTEMS 000060 D01 -
D21 ADMINISTRATION SYSTEMS 000070 D01 -
E01 SUPPORT SERVICES 000050 A00 -
E11 OPERATIONS 000090 E01 -
E21 SOFTWARE SUPPORT 000100 E01 -
Tabla EMPLOYEE
Nombres: EMPNO FIRSTNME MIDINIT LASTNAME WORKDEPT PHONENO HIREDATE
Tipo: char(6) not varchar(12) char(1) not varchar(15) char(3) char(4) date
null not null null not null
Desc: Employee First name Middle Last name Department Phone Date of hire
number initial (DEPTNO) number
in which the
employee
works
1431
Tablas de la base de datos de ejemplo
FIRSTNME MID LASTNAME WORK PHONE HIREDATE JOB ED SEX BIRTHDATE
EMPNO INIT DEPT NO LEVEL SALARY BONUS COMM
1432
000330 WING LEE E21 2103 1976-02-23 FIELDREP 14 M 1941-07-18 25370 500 2030
000340 JASON R GOUNOT E21 5698 1947-05-05 FIELDREP 16 M 1926-05-17 23840 500 1907
Consulta de SQL
Tablas de la base de datos de ejemplo
Tablas de la base de datos de ejemplo
Tabla EMP_ACT
Nombre: EMPNO PROJNO ACTNO EMPTIME EMSTDATE EMENDATE
Tipo: char(6) not null char(6) not null smallint not dec(5,2) date date
null
Desc: Employee Project number Activity Proportion of Date activity Date activity
number number employees starts ends
time spent on
project
Valores: 000010 AD3100 10 .50 1982-01-01 1982-07-01
000070 AD3110 10 1.00 1982-01-01 1983-02-01
000230 AD3111 60 1.00 1982-01-01 1982-03-15
000230 AD3111 60 .50 1982-03-15 1982-04-15
000230 AD3111 70 .50 1982-03-15 1982-10-15
000230 AD3111 80 .50 1982-04-15 1982-10-15
000230 AD3111 180 1.00 1982-10-15 1983-01-01
000240 AD3111 70 1.00 1982-02-15 1982-09-15
000240 AD3111 80 1.00 1982-09-15 1983-01-01
000250 AD3112 60 1.00 1982-01-01 1982-02-01
000250 AD3112 60 .50 1982-02-01 1982-03-15
000250 AD3112 60 .50 1982-12-01 1983-01-01
000250 AD3112 60 1.00 1983-01-01 1983-02-01
000250 AD3112 70 .50 1982-02-01 1982-03-15
000250 AD3112 70 1.00 1982-03-15 1982-08-15
000250 AD3112 70 .25 1982-08-15 1982-10-15
000250 AD3112 80 .25 1982-08-15 1982-10-15
000250 AD3112 80 .50 1982-10-15 1982-12-01
000250 AD3112 180 .50 1982-08-15 1983-01-01
000260 AD3113 70 .50 1982-06-15 1982-07-01
000260 AD3113 70 1.00 1982-07-01 1983-02-01
000260 AD3113 80 1.00 1982-01-01 1982-03-01
000260 AD3113 80 .50 1982-03-01 1982-04-15
000260 AD3113 180 .50 1982-03-01 1982-04-15
000260 AD3113 180 1.00 1982-04-15 1982-06-01
000260 AD3113 180 .50 1982-06-01 1982-07-01
000270 AD3113 60 .50 1982-03-01 1982-04-01
000270 AD3113 60 1.00 1982-04-01 1982-09-01
000270 AD3113 60 .25 1982-09-01 1982-10-15
000270 AD3113 70 .75 1982-09-01 1982-10-15
000270 AD3113 70 1.00 1982-10-15 1983-02-01
Tabla EMP_PHOTO
Nombre: EMPNO PHOTO_FORMAT PICTURE
Tipo: char(6) not null varchar(10) not null blob(100k)
Desc: Employee number Photo format Photo of employee
Valores: 000130 bitmap db200130.bmp
000130 gif db200130.gif
000130 xwd db200130.xwd
000140 bitmap db200140.bmp
000140 gif db200140.gif
000140 xwd db200140.xwd
000150 bitmap db200150.bmp
000150 gif db200150.gif
000150 xwd db200150.xwd
000190 bitmap db200190.bmp
000190 gif db200190.gif
000190 xwd db200190.xwd
Tabla ORG
Nombre: DEPTNUMB DEPTNAME MANAGER DIVISION LOCATION
Tipo: smallint not null varchar(14) smallint varchar(10) varchar(13)
Desc: Department Department name Manager number Division of City
number corporation
Valores: 10 Head Office 160 Corporate New York
15 New England 50 Eastern Boston
20 Mid Atlantic 10 Eastern Washington
38 South Atlantic 30 Eastern Atlanta
42 Great Lakes 100 Midwest Chicago
51 Plains 140 Midwest Dallas
66 Pacific 270 Western San Francisco
84 Mountain 290 Western Denver
Tabla PROJECT
Nombre: PROJNO PROJNAME DEPTNO RESPEMP PRSTAFF PRSTDATE PRENDATE MAJPROJ
Tipo: char(6) not varchar(24) char(3) not char(6) not dec(5,2) date date char(6)
null not null null null
Desc: Project Project name Department Employee Estimated Estimated Estimated Major
number responsible responsible mean start date end date project, for a
staffing subproject
Valores: AD3100 ADMIN D01 000010 6.5 1982-01-01 1983-02-01 -
SERVICES
AD3110 GENERAL D21 000070 6 1982-01-01 1983-02-01 AD3100
ADMIN
SYSTEMS
AD3111 PAYROLL D21 000230 2 1982-01-01 1983-02-01 AD3110
PROGRAMMING
AD3112 PERSONNEL D21 000250 1 1982-01-01 1983-02-01 AD3110
PROGRAMMING
AD3113 ACCOUNT D21 000270 2 1982-01-01 1983-02-01 AD3110
PROGRAMMING
IF1000 QUERY C01 000030 2 1982-01-01 1983-02-01 -
SERVICES
IF2000 USER C01 000030 1 1982-01-01 1983-02-01 -
EDUCATION
MA2100 WELD LINE D01 000010 12 1982-01-01 1983-02-01 -
AUTOMATION
MA2110 WL D11 000060 9 1982-01-01 1983-02-01 MA2100
PROGRAMMING
MA2111 WL D11 000220 2 1982-01-01 1982-12-01 MA2110
PROGRAM
DESIGN
MA2112 W L ROBOT D11 000150 3 1982-01-01 1982-12-01 MA2110
DESIGN
MA2113 W L PROD D11 000160 3 1982-02-15 1982-12-01 MA2110
CONT
PROGS
OP1000 OPERATION E01 000050 6 1982-01-01 1983-02-01 -
SUPPORT
OP1010 OPERATION E11 000090 5 1982-01-01 1983-02-01 OP1000
OP2000 GEN E01 000050 5 1982-01-01 1983-02-01 -
SYSTEMS
SERVICES
OP2010 SYSTEMS E21 000100 4 1982-01-01 1983-02-01 OP2000
SUPPORT
OP2011 SCP E21 000320 1 1982-01-01 1983-02-01 OP2010
SYSTEMS
SUPPORT
OP2012 APPLICATIONS
E21 000330 1 1982-01-01 1983-02-01 OP2010
SUPPORT
OP2013 DB/DC E21 000340 1 1982-01-01 1983-02-01 OP2010
SUPPORT
PL2100 WELD LINE B01 000020 1 1982-01-01 1982-09-15 MA2100
PLANNING
Tabla SALES
Nombre: SALES_DATE SALES_PERSON REGION SALES
Tipo: date varchar(15) varchar(15) int
Desc: Date of sales Employees last name Region of sales Number of sales
Valores: 12/31/1995 LUCCHESSI Ontario-South 1
12/31/1995 LEE Ontario-South 3
12/31/1995 LEE Quebec 1
12/31/1995 LEE Manitoba 2
12/31/1995 GOUNOT Quebec 1
03/29/1996 LUCCHESSI Ontario-South 3
03/29/1996 LUCCHESSI Quebec 1
03/29/1996 LEE Ontario-South 2
03/29/1996 LEE Ontario-North 2
03/29/1996 LEE Quebec 3
03/29/1996 LEE Manitoba 5
03/29/1996 GOUNOT Ontario-South 3
03/29/1996 GOUNOT Quebec 1
03/29/1996 GOUNOT Manitoba 7
03/30/1996 LUCCHESSI Ontario-South 1
03/30/1996 LUCCHESSI Quebec 2
03/30/1996 LUCCHESSI Manitoba 1
03/30/1996 LEE Ontario-South 7
03/30/1996 LEE Ontario-North 3
03/30/1996 LEE Quebec 7
03/30/1996 LEE Manitoba 4
03/30/1996 GOUNOT Ontario-South 2
03/30/1996 GOUNOT Quebec 18
03/30/1996 GOUNOT Manitoba 1
03/31/1996 LUCCHESSI Manitoba 1
03/31/1996 LEE Ontario-South 14
03/31/1996 LEE Ontario-North 3
03/31/1996 LEE Quebec 7
03/31/1996 LEE Manitoba 3
03/31/1996 GOUNOT Ontario-South 2
03/31/1996 GOUNOT Quebec 1
04/01/1996 LUCCHESSI Ontario-South 3
04/01/1996 LUCCHESSI Manitoba 1
04/01/1996 LEE Ontario-South 8
04/01/1996 LEE Ontario-North -
04/01/1996 LEE Quebec 8
04/01/1996 LEE Manitoba 9
04/01/1996 GOUNOT Ontario-South 3
Tabla STAFF
Nombre: ID NAME DEPT JOB YEARS SALARY COMM
Tipo: smallint not varchar(9) smallint char(5) smallint dec(7,2) dec(7,2)
null
Desc: Employee Employee Department Job type Years of Current Commission
number name number service salary
Valores: 10 Sanders 20 Mgr 7 18357.50 -
20 Pernal 20 Sales 8 18171.25 612.45
30 Marenghi 38 Mgr 5 17506.75 -
40 OBrien 38 Sales 6 18006.00 846.55
50 Hanes 15 Mgr 10 20659.80 -
60 Quigley 38 Sales - 16808.30 650.25
70 Rothman 15 Sales 7 16502.83 1152.00
80 James 20 Clerk - 13504.60 128.20
90 Koonitz 42 Sales 6 18001.75 1386.70
100 Plotz 42 Mgr 7 18352.80 -
110 Ngan 15 Clerk 5 12508.20 206.60
120 Naughton 38 Clerk - 12954.75 180.00
130 Yamaguchi 42 Clerk 6 10505.90 75.60
140 Fraye 51 Mgr 6 21150.00 -
150 Williams 51 Sales 6 19456.50 637.65
160 Molinare 10 Mgr 7 22959.20 -
170 Kermisch 15 Clerk 4 12258.50 110.10
180 Abrahams 38 Clerk 3 12009.75 236.50
190 Sneider 20 Clerk 8 14252.75 126.50
200 Scoutten 42 Clerk - 11508.60 84.20
210 Lu 10 Mgr 10 20010.00 -
220 Smith 51 Sales 7 17654.50 992.80
230 Lundquist 51 Clerk 3 13369.80 189.65
240 Daniels 10 Mgr 5 19260.25 -
250 Wheeler 51 Clerk 6 14460.00 513.30
260 Jones 10 Mgr 12 21234.00 -
270 Lea 66 Mgr 9 18555.50 -
280 Wilson 66 Sales 9 18674.50 811.50
Tabla STAFFG
Personal Information
Department Information
Employee Number: 000130
Dept Number: C01
Manager: Sally Kwan
Position: Analyst
Phone: (208) 555-4578
Hire Date: 1971-07-28
Education
1965 Math and English, B.A. Adelphi University
1960 Dental Technician Florida Institute of
Technology
Work History
10/91 - present Advisory Systems Analyst Producing
documentation tools for engineering
department.
12/85 - 9/91 Technical Writer Writer, text programmer, and
planner.
1/79 - 11/85 COBOL Payroll Programmer Writing payroll
programs for a diesel fuel company.
Interests
v Cooking
v Reading
v Sewing
v Remodeling
Foto de Nicholls
Personal Information
Address: 844 Don Mills Ave Mellonville, Idaho 83734
Phone: (208) 555-2310
Birthdate: January 19, 1946
Sex: Female
Marital Status: Single
Height: 58
Weight: 130 lbs.
Department Information
Employee Number: 000140
Dept Number: C01
Manager: Sally Kwan
Position: Analyst
Phone: (208) 555-1793
Hire Date: 1976-12-15
Education
1972 Computer Engineering, Ph.D. University of
Washington
1969 Music and Physics, M.A. Vassar College
Work History
Interests
v Model railroading
v Interior decorating
v Embroidery
v Knitting
Foto de Adamson
Personal Information
Address: 3600 Steeles Ave Mellonville, Idaho 83757
Phone: (208) 555-4489
Birthdate: May 17, 1947
Sex: Male
Marital Status: Married
Height: 60
Weight: 175 lbs.
Department Information
Education
1971 Environmental Engineering, M.Sc. Johns
Hopkins University
1968 American History, B.A. Northwestern
University
Work History
8/79 - present Neural Network Design Developing neural
networks for machine intelligence products.
2/72 - 7/79 Robot Vision Development Developing
rule-based systems to emulate sight.
9/71 - 1/72 Numerical Integration Specialist Helping bank
systems communicate with each other.
Interests
v Racing motorcycles
v Building loudspeakers
v Assembling personal computers
v Sketching
Foto de Walker
Personal Information
Address: 3500 Steeles Ave Mellonville, Idaho 83757
Phone: (208) 555-7325
Birthdate: June 25, 1952
Sex: Male
Marital Status: Single
Height: 511
Weight: 166 lbs.
Department Information
Employee Number: 000190
Dept Number: D11
Manager: Irving Stern
Position: Designer
Phone: (208) 555-2986
Hire Date: 1974-07-26
Education
1974 Computer Studies, B.Sc. University of
Massachusetts
1972 Linguistic Anthropology, B.A. University of
Toronto
Work History
6/87 - present Microcode Design Optimizing algorithms for
mathematical functions.
4/77 - 5/87 Printer Technical Support Installing and
supporting laser printers.
9/74 - 3/77 Maintenance Programming Patching assembly
language compiler for mainframes.
Interests
v Wine tasting
v Skiing
v Swimming
v Dancing
Esquemas reservados
Los nombres de esquema siguientes estn reservados:
v SYSCAT
v SYSFUN
v SYSIBM
v SYSSTAT
Las funciones no definidas por el usuario, los tipos definidos por el usuario,
los desencadenantes o los seudnimos se pueden colocar en un esquema cuyo
nombre empiece por SYS (SQLSTATE 42939).
Palabras reservadas
No hay palabras que estn especficamente reservadas en DB2 Versin 7.
ZONE
UR CS RS RR
La aplicacin puede ver los cambios no confirmados S No No No
realizados por otros procesos de aplicacin?
La aplicacin puede actualizar los cambios no No No No No
confirmados realizados por otros procesos de
aplicacin?
Pueden otros procesos de aplicacin afectar a la S S S No
operacin de volver a ejecutar una sentencia? Consulte
el fenmeno P3 (fantasma) ms abajo.
Pueden otros procesos de aplicacin actualizar filas No No No No
actualizadas?
Pueden otros procesos de aplicacin que se ejecutan a No No No No
un nivel de aislamiento que no sea UR leer las filas
actualizadas?
Pueden otros procesos de aplicacin que se ejecutan S S S S
al nivel de aislamiento UR leer las filas actualizadas?
Pueden otros procesos de aplicacin actualizar las S S No No
filas a las que se ha accedido? Consulte el fenmeno
P2 (lectura no repetible) ms abajo.
Pueden otros procesos de aplicacin leer las filas a S S S S
las que se ha accedido?
Pueden otros procesos de aplicacin actualizar o Consulte Consulte No No
suprimir la fila actual? Consulte el fenmeno P1 la nota de la nota de
(lectura sucia) ms abajo. abajo abajo
Nota:
1. Si el cursor no es actualizable, con CS la fila actual puede actualizarse o suprimirse por otros
procesos de aplicacin en algunos casos.
UR CS RS RR
Ejemplos de fenmenos:
P1 Lectura sucia. La unidad de trabajo UW1 modifica una fila. La unidad de trabajo UW2 lee dicha
fila antes que UW1 ejecute COMMIT. Si UW1 realiza entonces una operacin ROLLBACK, UW2
ha ledo una fila no existente.
P2 Lectura no repetible. La unidad de trabajo UW1 lee una fila. La unidad de trabajo UW2 modifica
dicha fila y realiza una operacin COMMIT. Si UW1 vuelve a leer la fila, puede recibir un valor
modificado.
P3 Fantasma. La unidad de trabajo UW1 lee el conjunto de n filas que satisface alguna condicin de
bsqueda. La unidad de trabajo UW2 inserta (INSERT) una o varias filas que satisfacen la
condicin de bsqueda. Si UW1 repite la lectura inicial con la misma condicin de bsqueda,
obtiene las filas originales ms las filas insertadas.
Figura 19. Proceso de una sentencia de SQL con desencadenantes y restricciones asociados
Las tablas de Explain se deben crear antes de invocar Explain. Para crearlas,
utilice el script de entrada del procesador de lnea de mandatos de muestra,
proporcionado en el archivo EXPLAIN.DDL ubicado en el subdirectorio 'misc'
del directorio 'sqllib'. Conctese a la base de datos donde se necesitan las
tablas de Explain. Emita el mandato: db2 -tf EXPLAIN.DDL y se crearn las
tablas. Vea Definiciones de tabla para tablas de Explain en la pgina 1483
para obtener ms informacin.
Cabecera Explain
Nombre de El nombre de la columna
columna
Tipo de datos El tipo de datos de la columna
Posibilidad S: Estn permitidos los nulos
de nulos? No: Los nulos no estn permitidos
Tabla EXPLAIN_ARGUMENT
La tabla EXPLAIN_ARGUMENT representa las caractersticas exclusivas para
cada operador individual, si hay alguno.
(D) Descendente
(A) Ascendente
(D) Descendente
Tabla EXPLAIN_INSTANCE
La tabla EXPLAIN_INSTANCE es la tabla principal de control para toda la
informacin de Explain. Cada fila de datos de las tablas de Explain se enlaza
explcitamente con una fila exclusiva de esta tabla. La tabla
EXPLAIN_INSTANCE proporciona la informacin bsica acerca de la fuente
de las sentencias de SQL que se estn explicando, as como la informacin
acerca del entorno en el que ha tenido lugar la explicacin.
Tabla EXPLAIN_OBJECT
La tabla EXPLAIN_OBJECT identifica los objetos de datos que necesita el plan
de acceso generado para satisfacer la sentencia de SQL.
Tabla EXPLAIN_OPERATOR
La tabla EXPLAIN_OPERATOR contiene todos los operadores necesarios para
que el compilador SQL satisfaga la sentencia de SQL.
Tabla EXPLAIN_PREDICATE
La tabla EXPLAIN_PREDICATE identifica los predicados que aplica un
operador especfico.
Tabla EXPLAIN_STATEMENT
La tabla EXPLAIN_STATEMENT contiene el texto de la sentencia de SQL tal
como existe para los diferentes niveles de informacin de Explain. La
sentencia de SQL original se almacena tal como la entra el usuario, en esta
tabla junto con la versin utilizada (por el optimizador) para elegir el plan de
acceso para satisfacer la sentencia de SQL. La ltima versin puede parecerse
poco a la original ya que puede haberse vuelto a escribir y/o mejorar con
predicados adicionales tal como lo determina el Compilador SQL.
Tabla EXPLAIN_STREAM
La tabla EXPLAIN_STREAM representa las corrientes de datos de entrada y
de salida entre operadores individuales y objetos de datos. Los objetos de
datos en s se representan en la tabla EXPLAIN_OBJECT. Los operadores
implicados en una corriente de datos se han de encontrar en una tabla
EXPLAIN_OPERATOR.
Tabla ADVISE_INDEX
La tabla ADVISE_INDEX representa los ndices recomendados.
Tabla ADVISE_WORKLOAD
La tabla ADVISE_WORKLOAD representa la sentencia que forma la carga de
trabajo. Para obtener mas detalles sobre la carga de trabajo consulte
Administration Guide: Performance.
EXPLAIN v Las tablas de explicacin v Las tablas de explicacin v Las tablas de explicacin
se llenan para el SQL sellenan para el SQL sellenan para el SQL
dinmico esttico esttico
v Los resultados de la v Las tablas de explicacin v Las tablas de explicacin
consulta no se devuelven se llenan para el SQL se llenan para el SQL
(las sentencias dinmicas dinmico dinmico
no se ejecutan). v Los resultados de la v Los resultados de la
consulta no se devuelven consulta no se devuelven
(las sentencias dinmicas (las sentencias dinmicas
no se ejecutan). no se ejecutan).
RECOMMEND v Las tablas de explicacin v Las tablas de explicacin v Las tablas de explicacin
INDEXES se llenan para el SQL sellenan para el SQL sellenan para el SQL
dinmico esttico esttico
v Los resultados de la v Las tablas de explicacin v Las tablas de explicacin
consulta no se devuelven se llenan para el SQL se llenan para el SQL
(las sentencias dinmicas dinmico dinmico
no se ejecutan). v Los resultados de la v Los resultados de la
v Se recomiendan ndices consulta no se devuelven consulta no se devuelven
(las sentencias dinmicas (las sentencias dinmicas
no se ejecutan). no se ejecutan).
v Se recomiendan ndices v Se recomiendan ndices
EVALUATE v Las tablas de explicacin v Las tablas de explicacin v Las tablas de explicacin
INDEXES se llenan para el SQL sellenan para el SQL sellenan para el SQL
dinmico esttico esttico
v Los resultados de la v Las tablas de explicacin v Las tablas de explicacin
consulta no se devuelven se llenan para el SQL se llenan para el SQL
(las sentencias dinmicas dinmico dinmico
no se ejecutan). v Los resultados de la v Los resultados de la
v Se evalan los ndices consulta no se devuelven consulta no se devuelven
(las sentencias dinmicas (las sentencias dinmicas
no se ejecutan). no se ejecutan).
v Se evalan los ndices v Se evalan los ndices
Las tablas de excepciones que se utilizan con LOAD son idnticas a las
utilizadas aqu. Por lo tanto, se pueden volver a utilizar durante la
comprobacin con la sentencia SET INTEGRITY.
Slo se informar de una violacin por fila para las violaciones de ndices de
unicidad.
Si hay valores con series largas o con tipos de datos LOB en la tabla, los
valores no se insertarn en la tabla de excepciones en caso de violacin de
ndice de unicidad.
Por ejemplo, supongamos que se escribe una consulta para obtener una lista
de todas las violaciones, repitiendo cada fila con slo el nombre de la
restriccin junto a ella. Supongamos que nuestra tabla original T1 tena dos
columnas C1 y C2. Supongamos tambin que la tabla de excepciones
Si deseamos que todas las filas que han violado una restriccin en particular,
ampliaramos esta consulta de la siguiente manera:
WITH IV (C1, C2, MSGCOL, CONSTNAME, I, J) AS
(SELECT C1, C2, MSGCOL,
CHAR(SUBSTR(MSGCOL, 12,
INTEGER(DECIMAL(VARCHAR(SUBSTR(MSGCOL,7,5)),5,0)))),
1,
15+INTEGER(DECIMAL(VARCHAR(SUBSTR(MSGCOL,7,5)),5,0))
FROM E1
UNION ALL
SELECT C1, C2, MSGCOL,
CHAR(SUBSTR(MSGCOL, J+6,
INTEGER(DECIMAL(VARCHAR(SUBSTR(MSGCOL,J+1,5)),5,0)))),
I+1,
J+9+INTEGER(DECIMAL(VARCHAR(SUBSTR(MSGCOL,J+1,5)),5,0))
FROM IV
WHERE I < INTEGER(DECIMAL(VARCHAR(SUBSTR(MSGCOL,1,5)),5,0))
) SELECT C1, C2, CONSTNAME FROM IV WHERE CONSTNAME = 'nombrerestriccin';
Identificadores
Identificadores SQL
La conversin entre una pgina de cdigos de doble byte y una pgina de
cdigos EUC puede dar como resultado la conversin de caracteres de doble
byte en caracteres de mltiples bytes codificados con ms de 2 bytes. Como
resultado, los identificadores que quepan en la longitud mxima de la pgina
de cdigos de doble byte pueden exceder la longitud de la pgina de cdigos
EUC. La seleccin de identificadores para este tipo de entorno debe realizarse
con cuidado para evitar la expansin ms all de la longitud mxima de
identificador.
Tipos de datos
Series de caracteres
En una base de datos MBCS, las series de caracteres pueden contener una
mezcla de caracteres del juego de caracteres de un solo byte (SBCS) y de
juegos de caracteres de mltiples bytes (MBCS). Cuando se utilizan dichas
series, las operaciones pueden proporcionar resultados distintos si se basan en
caracteres (tratan los datos como caracteres) a si se basan en bytes (tratan los
datos como bytes). Compruebe la descripcin de la funcin o de la operacin
para determinar cmo se procesan las series mixtas.
Series grficas
Una serie grfica se define como una secuencia de datos de caracteres de
doble byte. Para permitir que los datos del EUC japons o chino tradicional se
almacenen en columnas grficas, los caracteres del EUC se codifican en
UCS-2. Los caracteres que no son de doble byte bajo todos los esquemas de
codificacin soportados (por ejemplo, PC o EBCDIC DBCS) no deben
utilizarse en columnas grficas. Los resultados de la utilizacin de otros
caracteres de doble byte pueden ser que se reemplacen por caracteres de
sustitucin durante la conversin. La recuperacin de dichos datos no
devolver el mismo valor que se ha entrado. Consulte el manual Application
Development Guide para ver los detalles acerca del manejo de datos grficos en
variables del lenguaje principal.
Asignaciones y comparaciones
Asignaciones de series
La conversin de una serie se realiza antes de la asignacin. En los casos que
implican una pgina de cdigos eucJP/eucTW y una pgina de cdigos
DBCS, una serie de caracteres puede convertirse en ms larga (DBCS a
eucJP/eucTW) o ms corta (eucJP/eucTW a DBCS). Puede dar como resultado
errores en la asignacin de almacenamiento y el truncamiento en asignaciones
de recuperacin. Cuando el error en la asignacin de almacenamiento es
debido a la expansin durante la conversin, se devuelve SQLSTATE 22524 en
lugar de SQLSTATE 22001.
De igual forma, las asignaciones que implican series grficas pueden dar
como resultado la conversin de un carcter de doble byte codificado UCS-2 a
un carcter de sustitucin en una pgina de cdigos PC o EBCDIC DBCS para
los caracteres que no tienen un carcter de doble byte correspondiente. Las
asignaciones que sustituyen los caracteres por caracteres de sustitucin lo
indicarn estableciendo el campo SQLWARN10 de la SQLCA en W.
Comparaciones de series
Las comparaciones de series se realizan sobre la base de los bytes. Las series
de caracteres tambin utilizan el orden de clasificacin definido para la base
de datos. Las series grficas no utilizan el orden de clasificacin y, en una
base de datos eucJP o eucTW, se codifican utilizando UCS-2. Por lo tanto, la
comparacin de dos series de caracteres mixtos puede dar un resultado
diferente de la comparacin de dos series grficas aunque contengan los
mismos caracteres. De igual forma, el orden de clasificacin resultante de una
columna de caracteres mixtos y una columna grfica puede ser diferente.
Reglas para los tipos de datos del resultado
El tipo de datos resultante para series de caracteres no se ve afectado por la
posible expansin de la serie. Por ejemplo, una unin de dos operandos
CHAR seguir siendo CHAR. No obstante, si uno de los operandos de la serie
de caracteres se va a convertir de manera que la expansin mxima convierta
al atributo de longitud en el ms grande de los dos operandos, entonces el
atributo de longitud de la serie de caracteres resultante se ver afectado. Por
ejemplo, considere las expresiones del resultado de una expresin CASE que
tengan tipos de datos de VARCHAR(100) y VARCHAR(120). Suponga que la
expresin VARCHAR(100) sea una variable del lenguaje principal de serie
mixta (que pueda necesitar conversin) y la expresin VARCHAR(120) sea
una columna en la base de datos eucJP. El tipo de datos resultante es
VARCHAR(200) ya que VARCHAR(100) se dobla para permitir una posible
conversin. El mismo escenario sin la implicacin de una base de datos eucJP
ni eucTW tendra un tipo del resultado de VARCHAR(120).
Esta tcnica (serie nula concatenada con cast) se puede utilizar para manejar
el lmite similar de 257 bytes para SELECT DISTINCT o para utilizar la
columna en las clusulas ORDER BY o GROUP BY.
Constantes
Existen algunas funciones que no permiten las series largas por varias
razones. La utilizacin de los argumentos LONG VARCHAR o CLOB con
dichas funciones no ser satisfactoria. Por ejemplo, LONG VARCHAR como
segundo argumento de la funcin POSSTR incorporada, har fallar la
resolucin de funcin (SQLSTATE 42884).
Expresiones
Predicado LIKE
Para un predicado LIKE que implique series de caracteres mixtas en una base
de datos EUC:
v el subrayado de un solo byte representa cualquier carcter de un solo byte
v el signo del tanto por ciento de un solo byte representa una serie de cero o
varios caracteres (caracteres de un solo byte o de mltiples bytes).
v el subrayado de doble byte representa cualquier carcter de mltiples bytes
v el signo de tanto por ciento de doble byte representa una serie de cero o
varios caracteres (caracteres de un solo byte o de mltiples bytes)
El carcter de escape debe ser un carcter de un solo byte o un carcter de
doble byte.
Para un predicado LIKE que implique series grficas en una base de datos
EUC:
v el carcter utilizado para el subrayado y signo del tanto por ciento debe
correlacionarse con el carcter del subrayado y de tanto por ciento
respectivamente
v el subrayado representa cualquiera carcter UCS-2
v el tanto por ciento representa una serie de cero o varios caracteres UCS-2.
Funciones
LENGTH
El proceso de esta funcin no es diferente para las series de caracteres mixtas
en un entorno EUC. El valor devuelto es la longitud de la serie en la pgina
de cdigos del argumento. Cuando se utilice esta funcin para determinar la
longitud de un valor, debe tenerse especial cuidado en cmo se utiliza la
longitud. En especial para las constantes de series mixtas ya que la longitud
se da en bytes, no en caracteres. Por ejemplo, la longitud de una columna de
serie mixta en una base de datos DBCS devuelta por la funcin LENGTH
puede ser menor que la longitud del valor recuperado de dicha columna en
un cliente eucJP o eucTW debido a la conversin de algunos caracteres DBCS
para caracteres eucJP o eucTW de mltiples bytes.
SUBSTR
La funcin SUBSTR funciona en series de caracteres mixtas basndose en los
bytes. Por lo tanto, la serie resultante puede incluir fragmentos de caracteres
de mltiples bytes al principio o al final de la serie resultado. No se
proporciona ningn proceso para detectar o procesar fragmentos de
caracteres.
TRANSLATE
La funcin TRANSLATE da soporte a series de caracteres mixtos que incluyen
caracteres de mltiples bytes. Los caracteres correspondientes de la exp-a-serie
y de la exp-de-serie deben tener el mismo nmero de bytes y no pueden
finalizar con parte de un carcter de mltiples bytes.
v Los caracteres de eucJP que son Katakana (eucJP CS2) son realmente
caracteres de un solo byte en algunos esquemas de codificacin. Por lo
tanto, se convierten a los caracteres de doble byte correspondientes en eucJP
o al carcter de sustitucin de doble byte antes de convertirse a UCS-2.
v Los caracteres de mltiples bytes se convierten a sus representaciones
UCS-2.
Sentencias
CONNECT
El proceso de una sentencia CONNECT satisfactoria devuelve informacin en
la SQLCA que es importante cuando existe la posibilidad de que las
aplicaciones procesen los datos en un entorno que incluya una pgina de
cdigos EUC del japons o del chino tradicional en el cliente o en el servidor.
El campo SQLERRD(1) proporciona la expansin mxima de una serie de
caracteres mixta cuando se convierte de la pgina de cdigos de la aplicacin
a la pgina de cdigos de la base de datos. El campo SQLERRD(2)
proporciona la expansin mxima de una serie de caracteres mixta cuando se
convierte de la pgina de cdigos de la base de datos a la pgina de cdigos
de la aplicacin. El valor es positivo si se ha podido producir la expansin y
negativo si se ha podido producir la contraccin. Si el valor es negativo, el
valor siempre es -1 ya que en el peor de los casos es que no se produce
ninguna contraccin y que se necesita toda la longitud de la serie despus de
la conversin. Los valores positivos pueden ser como mximo 2, que significa
que en el peor de los casos, puede necesitarse el doble de la longitud de la
serie para la serie de caracteres despus de la conversin.
120. BNF es un acrnimo de Backus Naur Form - una notacin formal para describir la sintaxis de un lenguaje
determinado
Los URL vacos (de longitud cero) tambin pueden utilizarse para valores
de tipo DATALINK. Son tiles para actualizar columnas DATALINK
cuando se notifican excepciones de reconciliacin e intervienen columnas
DATALINK que no pueden contener nulos. Se utiliza un URL de longitud
cero para actualizar la columna y provocar la desconexin
Definiciones varias
lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" |
"i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" |
"q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" |
"y" | "z"
hialpha = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" |
"I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" |
"Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" |
"Y" | "Z"
alpha = lowalpha | hialpha
digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" |
"8" | "9"
safe = "$" | "-" | "_" | "." | "+"
extra = "!" | "*" | "'" | "(" | ")" | ","
hex = digit | "A" | "B" | "C" | "D" | "E" | "F" |
"a" | "b" | "c" | "d" | "e" | "f"
Los caracteres en blanco iniciales y de cola son eliminados por DB2 durante el
anlisis sintctico. Adems, los nombres de esquema (HTTP, FILE, UNC,
DFS) y host no son sensibles a las maysculas/minsculas y se guardan
siempre en maysculas en la base de datos.
acceso por protocolo privado. Mtodo de acceso a datos distribuidos mediante el cual se puede dirigir
una consulta hacia otro sistema DB2. Vase tambin acceso DRDA.
accin desencadenada. (1) Accin que se ejecuta cuando se produce el suceso desencadenante. (2)
Lgica de SQL que se ejecuta cuando se activa un desencadenante. La accin desencadenada consta de
una condicin opcional de accin desencadenada y un conjunto de sentencias de SQL desencadenadas
que slo se ejecutan si el resultado de evaluar la condicin es verdadero.
accin de tarea. En el Centro de tareas, accin que se realiza basndose en una condicin que est
relacionada con la ejecucin de una tarea determinada. Por ejemplo, las acciones de tarea pueden ser: Si
la Tarea A se realiza satisfactoriamente, ejecutar la Tarea B, y Si la Tarea Z falla, inhabilitar la
planificacin de la Tarea Y. Vase tambin tarea en la pgina 1617 y paso en la pgina 1590.
activacin del desencadenante. Proceso que se produce cuando se ejecuta el suceso desencadenante
indicado en una definicin de desencadenante. La activacin del desencadenante consiste en la
evaluacin de la condicin de accin desencadenada y la ejecucin condicional de las sentencias de SQL
desencadenadas.
actualizacin ascendente. Proceso de actualizacin de los datos de una base de datos o un espacio de
tablas restaurado mediante la aplicacin de los cambios registrados en los archivos de anotaciones
cronolgicas de base de datos. Vase recuperacin en avance en la pgina 1600.
actualizacin asncrona continua. Proceso en el que todos los cambios efectuados en la fuente se
registran y aplican a los datos de destino existentes despus de confirmarlos en la tabla base. Vase
tambin actualizacin asncrona de proceso por lotes.
actualizacin asncrona de proceso por lotes. Proceso en el que todos los cambios efectuados en la
fuente se registran y aplican a los datos de destino existentes a intervalos especificados. Vase tambin
actualizacin asncrona continua.
actualizacin de zona activa. Serie de actualizaciones repetidas realizadas en las mismas filas durante
un corto periodo de tiempo.
administrador de bases de datos (DBA). Persona responsable del diseo, desarrollo, operacin,
seguridad, mantenimiento y utilizacin de una base de datos.
administrador del sistema. En un sistema informtico, persona que disea, controla y gestiona la
utilizacin del sistema.
ADSM. ADSTAR Distributed Storage Manager. Vase Tivoli Storage Manager en la pgina 1619.
agente. (1) Proceso separado o hebra lleva a cabo todas las peticiones efectuadas a DB2 por una
aplicacin cliente determinada. (2) En DB2 Universal Database para OS/390, estructura que asocia todos
los procesos que estn implicados en una unidad de trabajo. Vase tambin agente del sistema,
agente de coordinacin y agente aliado.
agente de coordinacin. Agente que se inicia cuando el gestor de bases de datos recibe una peticin de
una aplicacin. El agente permanece asociado a la aplicacin mientras sta se utiliza. Este agente
coordina los subagentes que trabajan para la aplicacin. Vase agente. Vase tambin subagente en
la pgina 1611.
agente de depsito. En Centro de depsito de datos, proceso en tiempo de ejecucin que gestiona el
movimiento y la transformacin de los datos.
agente del sistema. Peticin de trabajo que DB2 Universal Database para OS/390 crea internamente,
como por ejemplo un proceso de captacin previa, escrituras diferidas y tareas de servicio. Vase
agente.
agrupacin de conexiones. Cuando una aplicacin solicita la desconexin del sistema principal, DB2
Connect elimina la conexin de entrada con la aplicacin, pero conserva la conexin de salida al sistema
principal en una agrupacin. Cuando una aplicacin nueva solicita una conexin, DB2 Connect utiliza
una que se encuentre en la agrupacin existente. La utilizacin de la conexin ya presente reduce el
tiempo de conexin total, as como el alto coste de conexin de CPU en el sistema principal.
agrupacin de identificadores de registro (RID). En DB2 Universal Database para OS/390, rea de
almacenamiento principal por encima de la lnea de los 16 MB que est reservada para clasificar
identificadores de registro durante el proceso de captacin previa de lista.
agrupacin EDM (electronic data management - gestin de datos electrnica). En DB2 Universal
Database para OS/390, agrupacin de almacenamiento principal que se utiliza para descriptores de
bases de datos, planes de aplicacin, antememoria de autorizacin, paquetes de aplicacin y colocacin
dinmica de sentencias en antememoria.
agrupacin en bloques. Opcin que se especifica cuando se enlaza una aplicacin. Permite que el
subsistema de comunicaciones ponga en antememoria varias filas de informacin para que cada
sentencia FETCH no necesite la transmisin de una sola fila para cada peticin enviada en la red. Vase
tambin captacin de bloque en la pgina 1536.
alerta. Accin, como, por ejemplo, un pitido o aviso, que se genera cuando una variable de rendimiento
excede su valor umbral de aviso o alarma o llega por debajo de dicho umbral. Por ejemplo, la
informacin sobre alertas se anota cronolgicamente de forma automtica en el Centro de alertas y en la
pgina de Alertas del cuaderno de Diario.
mbito de mandato. En DB2 Universal Database para OS/390, mbito de actuacin de un mandato en
un grupo de compartimiento de datos. Si un mandato tiene mbito de miembro, el mandato slo muestra
informacin de ese miembro o afecta solamente a recursos no compartidos que pertenecen localmente a
dicho miembro. Si un mandato tiene mbito de grupo, dicho mandato visualiza informacin de todos los
miembros, afecta a los recursos no compartidos que son propiedad local de todos los miembros,
visualiza informacin sobre los recursos que se pueden compartir o afecta a los recursos que se pueden
compartir.
American National Standard Code for Information Interchange (ASCII). Vase ASCII en la
pgina 1531.
ampliacin de hoja de clculo. En el Kit de iniciacin de OLAP, software que se fusiona con Microsoft
Excel y Lotus 1-2-3 para permitir el anlisis multidimensional de datos. La biblioteca de software
aparece como un elemento adicional de men para la hoja de clculo y proporciona funciones de anlisis
multidimensional tales como conectar, ampliar y calcular.
analizador de sucesos. Objeto de la base de datos que proporciona informacin sobre los sucesos de la
base de datos que han tenido lugar. Un analizador de sucesos se utiliza junto con el archivo supervisor
de sucesos para determinar y registrar informacin sobre el rendimiento.
anotacin cronolgica. (1) Archivo utilizado para registrar los cambios efectuados en un sistema. (2)
Conjunto de registros que describen los sucesos que se producen durante la ejecucin de DB2 Universal
Database para OS/390 y que indican la secuencia de los sucesos. La informacin registrada de este
modo se utiliza para la recuperacin si se produce una anomala durante la ejecucin de DB2 Universal
Database para OS/390. (3) Vase anotacin cronolgica de base de datos.
anotacin cronolgica activa. (1) Archivos de anotaciones cronolgicas primario y secundario que
actualmente son necesarios para la recuperacin y la retrotraccin. (2) Parte de las anotaciones
cronolgicas de DB2 Universal Database para OS/390 donde se graban los registros de anotaciones a
medida que se generan. La anotacin cronolgica activa contiene siempre los registros de anotacin ms
recientes. Vase tambin anotacin cronolgica de archivo.
anotacin cronolgica circular. Archivo de anotaciones de una base de datos en el que los registros se
sobregraban cuando ya no son necesarios para una base de datos activa. En consecuencia, si se produce
un error, los datos perdidos no se pueden restaurar durante la recuperacin ascendente. Vase tambin
anotacin cronolgica de base de datos y anotacin cronolgica de archivo.
anotacin cronolgica de archivo. (1) Conjunto de archivos de anotaciones cronolgicas que estn
cerrados y ya no se necesitan para el proceso normal. Estos archivos se conservan para utilizarlos en la
recuperacin ascendente. (2) Parte del archivo de anotaciones de DB2 Universal Database para OS/390
que contiene registros que se copian del archivo de anotaciones activo. La anotacin cronolgica de
archivo contiene registros que son ms antiguos y ya no caben en la anotacin cronolgica activa. Vase
tambin anotacin cronolgica activa.
antememoria. Almacenamiento intermedio que contiene instrucciones y datos a los que se accede con
frecuencia; se utiliza para reducir el tiempo de acceso.
antiunin. Conjunto de respuestas en el que las filas devueltas no cumplen la condicin del predicado
de unin. Vase unin en la pgina 1622.
anulable. Condicin en la que puede estar ausente el valor de una columna, parmetro de funcin o de
un resultado. Por ejemplo, el campo utilizado para la inicial del segundo apellido de una persona no
necesita un valor y se considera anulable.
aplicacin. Programa o conjunto de programas que realiza una tarea; por ejemplo, aplicaciones de
proceso de texto, gestin de inventario y clculo de nminas.
apodo. (1) Identificador que un servidor federado utiliza para hacer referencia a una fuente de datos,
una tabla o una vista. (2) Nombre que se define en una base de datos de DB2 DataJoiner para
representar un objeto fsico de base de datos (tal como una tabla o procedimiento almacenado) en una
base de datos no IBM.
APPL. Sentencia de definicin de red VTAM que se utiliza para definir DB2 Universal Database para
OS/390 en VTAM como un programa de aplicacin que utiliza protocolos SNA LU 6.2.
archivo de anotaciones cronolgicas. Registro utilizado para supervisar la actividad de una base de
datos. Los archivos de anotaciones cronolgicas son esenciales para el proceso de copia de seguridad y
recuperacin.
archivo de configuracin. Conjunto de valores de parmetros por omisin, por ejemplo los recursos
asignados a los productos DB2 y a bases de datos individuales, y el nivel de diagnstico. Existen dos
tipos de archivos de configuracin: el archivo de configuracin de gestor de bases de datos para cada
instancia DB2 y el archivo de configuracin de base de datos para cada base de datos individual.
archivo de enlace lgico. Archivo producido por el precompilador cuando se utiliza el mandato
PRECOMPILE o la API respectiva con la opcin BINDFILE.
archivo de ndices. Archivo que contiene informacin de indexado utilizada por el Video Extender
para buscar una toma de imagen o fotograma individual en un segmento de vdeo.
archivo de registro de auditora. Ubicacin de los registros de auditora generados desde el recurso de
auditora.
archivo de respuestas. Archivo ASCII que se puede personalizar con los datos de instalacin y
configuracin que automatizarn una instalacin. Los datos de instalacin y configuracin tienen que
entrarse durante una instalacin interactiva, pero con un archivo de respuestas la instalacin puede
continuar sin ninguna intervencin.
archivo de salida. Archivo de base de datos o de dispositivo que se abre con la opcin para permitir la
grabacin de registros.
archivo de trabajo. En el proceso de duplicacin de datos de DB2, archivo temporal que el programa
Apply utiliza al procesar un conjunto de suscripcin.
archivo de vertido. En el proceso de duplicacin de datos de DB2, archivo temporal creado por el
programa Apply que se utiliza como fuente para actualizar datos en varias tablas destino.
archivo Java. Formato de archivo que se utiliza para agregar muchos archivos en uno. Se conoce
normalmente como archivo JAR.
archivo secuencial. Archivo no perteneciente a DB2 Universal Database para OS/390 cuyos registros
estn dispuestos de acuerdo con sus posiciones fsicas sucesivas, como por ejemplo las que ocupan en
una cinta magntica. Varios de los programas de utilidad para bases de datos de DB2 Universal
Database para OS/390 necesitan archivos secuenciales.
archivo SYS1.DUMPxx. En un entorno OS/390, archivo que contiene un vuelco del sistema.
rea de comunicaciones compartida (shared communications area, SCA). Estructura de lista del
recurso de acoplamiento que un grupo de compartimiento de datos de DB2 Universal Database para
OS/390 utiliza para la comunicacin entre sistemas DB2.
rea de datos. rea de memoria que un programa utiliza para contener informacin.
rea de descriptores de SQL (SQLDA). (1) Conjunto de variables que se utiliza en el proceso de
determinadas sentencias de SQL. La SQLDA se utiliza para programas de SQL dinmico. (2) Estructura
que describe las variables de entrada, las variables de salida o las columnas de una tabla resultante.
rea de servicio comn (CSA). En OS/390, parte del rea comn que contiene las reas de datos que
pueden ser direccionadas por todos los espacios de direcciones.
rea de trabajo de diagnstico del sistema (system diagnostic work area, SDWA). En un entorno
OS/390, datos registrados en una entrada de SYS1.LOGREC que describen un error de programa o de
hardware.
rea temtica. En Centro de depsito de datos, conjunto de procesos que crean datos de depsito para
una determinada rea lgica de negocio. Los procesos de un rea temtica operan sobre datos de un
determinado tema para crear los datos de detalle, resmenes de datos y cubos necesarios para ese tema.
argumento. Valor que se pasa a una funcin o procedimiento, o que es devuelto por stos, durante la
ejecucin del programa.
Arquitectura de Bases de Datos Relacionales Distribuidas (DRDA). Arquitectura que define formatos
y protocolos para proporcionar acceso transparente a datos remotos. DRDA define dos tipos de
funciones, la funcin peticionario de aplicaciones en la pgina 1592 y la funcin servidor de
aplicaciones en la pgina 1607.
Arquitectura de red de sistemas (Systems Network Architecture - SNA). Arquitectura que describe la
estructura lgica, los formatos, los protocolos y las secuencias de operacin para transmitir unidades de
informacin a travs de redes y tambin secuencias de operacin para controlar la configuracin y la
operacin de las redes.
arranque en fro. (1) Proceso de arrancar un sistema o programa utilizando un programa de carga del
programa inicial. (2) Proceso mediante el cual DB2 Universal Database para OS/390 rearranca sin
procesar ningn registro de archivo de anotaciones. Vase tambin arranque en templado.
arranque en templado. (1) Reinicio que permite volver a utilizar colas de trabajo de entrada y de salida
inicializadas previamente. (2) En el proceso de duplicacin de datos de DB2, arranque del programa
Capture que permite volver a utilizar colas de trabajo de entrada y de salida inicializadas previamente.
Vase tambin arranque en fro.
ASCII. Esquema de codificacin que se utiliza para representar series de caracteres en muchos
entornos, normalmente en Personal Computer y estaciones de trabajo. Vase tambin EBCDIC en la
pgina 1556 y Unicode en la pgina 1621.
asignacin de plan. El proceso de asignar recursos de DB2 Universal Database para OS/390 a un plan
para preparar su ejecucin.
asignacin de recursos. En DB2 Universal Database para OS/390, parte del plan de asignacin que
trata especficamente con los recursos de base de datos.
asncrono. Sin relacin temporal regular; imprevisible respecto al proceso de las instrucciones del
programa. Vase tambin sncrono en la pgina 1609.
asociado de sesin. En SNA, una de las dos unidades direccionables de red (NAU) que participan en
una sesin activa.
atributo. En el diseo de bases de datos SQL, caracterstica de una entidad. Por ejemplo, el nmero de
telfono de un empleado es uno de los atributos del empleado.
atributo de longitud. Valor asociado a una serie de caracteres que representa la longitud mxima o la
longitud fija declarada de la serie.
atributo no condensado. Atributo de tabla que indica que la tabla contiene un histrico de cambios
efectuados en los datos, no los datos actuales. Una tabla que tiene establecido este atributo incluye ms
de una fila para cada valor de clave.
auditora. Registro de informacin que tiene lugar despus de detectar que individuos o aplicaciones
acceden a datos supervisados.
autorizacin. Proceso mediante el cual DB2 obtiene informacin acerca del usuario autenticado, que
indica las operaciones de base de datos que dicho usuario puede realizar y los objetos de datos a los que
puede acceder ese usuario. Vase tambin privilegio en la pgina 1593 y nivel de autorizacin en la
pgina 1581.
autorizacin del sistema. Niveles de autorizacin SYSCTRL y SYSMAINT que tienen privilegios
completos para gestionar el sistema pero sin la posibilidad de acceder a los datos.
autorizacin de uso pblico. Autorizacin para un objeto otorgada a todos los usuarios.
B
base de datos de comunicaciones (CDB). Conjunto de tablas del catlogo de DB2 Universal Database
para OS/390 que se utilizan para establecer conversaciones con sistemas remotos de gestin de bases de
datos.
base de datos de control de depsito. Base de datos del Centro de depsito de datos que contiene las
tablas de control necesarias para almacenar metadatos del Centro de depsito de datos.
base de datos de directorios distribuidos. Listado completo de todos los recursos de la red que se
encuentran en los directorios individuales dispersos en una red APPN. Cada nodo tiene una parte del
directorio completo, pero no es necesario que ningn nodo tenga la lista completa. Las entradas se crean,
modifican y suprimen mediante definicin del sistema, accin del operador, registro automtico y los
procedimientos continuos de bsqueda en red. Sinnimo de directorio de red distribuido.
Base de datos de gestor de transacciones (Transaction Manager Database) (Base de datos TM). Base
de datos que se utiliza para registrar transacciones cuando se utiliza una confirmacin en dos fases
(SYNCPOINT TWOPHASE) con bases de datos DB2. Si se produce un error de transaccin, se puede
acceder a la informacin de la base de datos del Gestor de Transacciones para resincronizar las bases de
datos implicadas en la transaccin anmala.
base de datos de modelo. En el entorno OS/390, base de datos de DB2 que se crea en la estacin de
trabajo que se utiliza para crear un modelo de un subsistema DB2 en el entorno OS/390, que pueda
utilizarse entonces para la optimizacin de ndices y consultas.
base de datos de registro. En un entorno OS/390, base de datos de informacin de seguridad sobre
principales, grupos, organizaciones, cuentas y polticas de seguridad.
base de datos local. Base de datos que est ubicada fsicamente en la estacin de trabajo que se est
utilizando. Vase tambin base de datos remota.
base de datos particionada. Base de datos con dos o ms particiones de base de datos. Los datos de las
tablas de usuario pueden ubicarse en una o ms particiones de base de datos. Cuando una tabla est en
varias particiones, algunas de sus filas se almacenan en una particin y otras se almacenan en otras
particiones. Vase particin de base de datos en la pgina 1590.
base de datos relacional. Base de datos que se puede percibir como un conjunto de tablas y manipular
de acuerdo con el modelo relacional de datos. Cada base de datos incluye un conjunto de tablas de
catlogo del sistema que describen la estructura lgica y fsica de los datos, un archivo de configuracin
que contiene los valores de parmetros asignados para la base de datos y una anotacin cronolgica de
recuperacin con transacciones en curso y transacciones archivables.
base de datos relacional distribuida. Base de datos cuyas tablas estn guardadas en sistema diferentes
pero interconectados.
base de datos remota. Base de datos que est ubicada fsicamente en una estacin de trabajo distinta de
la que se est utilizando. Vase tambin base de datos local.
bloque. (1) Serie de elementos de datos que se registra o se transmite como una unidad. (2) Conjunto
de pginas de datos contiguas de una agrupacin de almacenamientos intermedios.
bloque de consulta. En DB2 Universal Database para OS/390, parte de una consulta que est
representada por una de las clusulas FROM. Cada clusula FROM puede tener varios bloques de
consulta, dependiendo de la forma en que DB2 Universal Database para OS/390 procesa internamente la
consulta.
bloque de control de tareas (TCB). Bloque de control que se utiliza para transmitir informacin sobre
tareas de un espacio de direcciones que estn conectadas a DB2 Universal Database para OS/390. Un
espacio de direcciones puede dar soporte a muchas conexiones de tarea (una por cada tarea), pero solo
una conexin de espacio de direcciones.
bloque de cursor. Tcnica que reduce la actividad general haciendo que el gestor de bases de datos
recupere un bloque de filas en una sola operacin. Estas filas se almacenan en una antememoria
mientras se procesan.
bloque de datos. Proceso que consiste en especificar cuntos datos, medidos en minutos de
modificacin de datos, se duplicarn en un ciclo de suscripcin. Vase tambin agrupacin en bloques
en la pgina 1527.
bloqueo. Mecanismo utilizado por el gestor de bases de datos para asegurar la integridad de los datos.
El bloqueo impide que varios usuarios accedan simultneamente a datos no coherentes.
bloqueo. (1) Medio de serializar sucesos o el acceso a datos. (2) Medio de impedir que los cambios no
confirmados efectuados por un proceso de aplicacin sean percibidos por otro proceso de aplicacin y
para impedir que un proceso de aplicacin actualice datos a los que est accediendo otro proceso.
bloqueo compartido. Bloqueo que limita los procesos de aplicacin que se ejecutan simultneamente a
operaciones de slo lectura en los datos de la base de datos. Vase tambin bloqueo exclusivo.
bloqueo de drenaje. En DB2 Universal Database para OS/390, bloqueo en una clase de reclamacin
que impide que se produzca una reclamacin.
bloqueo de fila. Bloqueo en una fila de datos individual. Vase tambin bloqueo y bloqueo de
tabla.
bloqueo de LOB. En DB2 Universal Database para OS/390, bloqueo en un valor de LOB.
bloqueo de tabla. Bloqueo en una tabla de datos. Vase tambin bloqueo de fila y identificador de
fila en la pgina 1570.
bloqueo de tabla global. Bloqueo de tabla que se obtiene en todas las particiones de un grupo de
particiones de base de datos de una tabla.
bloqueo de tabla local. Bloqueo de tabla que se establece slo sobre particin individual de base de
datos.
bloqueo de transaccin. En DB2 Universal Database para OS/390, bloqueo utilizado para controlar la
ejecucin concurrente de sentencias de SQL.
bloqueo exclusivo. Bloqueo que impide que los procesos de aplicacin que se ejecutan
simultneamente accedan a datos de la base de datos. Vase tambin bloqueo compartido.
bloqueo fsico (bloqueo P). Tipo de bloqueo que DB2 Universal Database para OS/390 establece para
proporcionar coherencia para datos que estn puestos en antememoria en diferentes subsistemas DB2
Universal Database para OS/390. Los bloqueos fsicos se utilizan slo en entornos de compartimiento de
datos. Vase tambin bloqueo lgico (bloqueo L) en la pgina 1535.
bloqueo general. En DB2 Universal Database para OS/390, bloqueos de la modalidad shared, update o
exclusive sobre una tabla, particin o espacio de tablas.
bloqueo global. En DB2 Universal Database para OS/390, bloqueo que proporciona control de
simultaneidad dentro y entre subsistemas DB2.El bloqueo abarca a todos los subsistemas DB2 de un
grupo de compartimiento de datos.
bloqueo jerrquico explcito. En DB2 Universal Database para OS/390, bloqueo utilizado para que
IRML conozca la relacin padre-hijo existente entre los recursos. Esta clase de bloqueo evita la actividad
asociada al bloqueo general cuando no existe ningn inters inter-DB2 para un recurso.
bloqueo local. Bloqueo que proporciona control de simultaneidad intra-DB2, pero no control de
simultaneidad inter-DB2; su mbito de actuacin es un sistema DB2 Universal Database para OS/390
individual.
bloqueo lgico (bloqueo L). En DB2 Universal Database para OS/390, tipo de bloqueo utilizado por
las transacciones para controlar la simultaneidad de datos intra-DB2 e inter-DB2 entre transacciones.
Vase tambin bloqueo fsico en la pgina 1534.
bloqueo negociable. En DB2 Universal Database para OS/390, bloqueo cuya modalidad se puede
atenuar, mediante acuerdo entre los usuarios que compiten, para que sea compatible con todos. Un
bloqueo fsico es un ejemplo de bloqueo negociable.
bloqueo padre. En el bloqueo jerrquico explcito de DB2 Universal Database para OS/390, bloqueo
mantenido sobre un recurso que tiene bloqueos hijo en un nivel inferior de la jerarqua; generalmente los
bloqueos de particin o de espacio de tablas son bloqueos padre.
bloqueo retenido. Bloqueo de modificacin (MODIFY) que un subsistema de DB2 Universal Database
para OS/390 estaba manteniendo cuando de produjo un error de subsistema. El bloqueo se retiene en la
estructura de bloqueo de recurso de acoplamiento cuando se produce un error de DB2 Universal
Database para OS/390.
bloqueos de modificacin. En DB2 Universal Database para OS/390, un bloqueo L o bloqueo P con un
atributo MODIFY. En la estructura de bloqueo de recurso de acoplamiento se conserva siempre una lista
de estos bloqueos activos. Si falla el subsistema que efecta la peticin, los bloqueos de modificacin de
ese subsistema se convierten en bloqueos retenidos.
bsqueda no sensible a las maysculas y minsculas. Resultado de una bsqueda en la que no se han
tenido en cuenta las maysculas y minsculas de la serie que se est buscando.
C
cabecera de anotacin cronolgica. Registro de anotaciones cronolgicas ms antiguo grabado de la
anotacin cronolgica activa.
cabecera de fila lgica (LRH). En DB2 Universal Database para OS/390, cada registro lgico incluye un
prefijo llamado cabecera de fila lgica, que contiene informacin de control. Slo el primer segmento
contiene la LRH entera; los segmentos posteriores slo incluyen los dos primeros campos cuando se
necesita una anotacin cronolgica especfica para la recuperacin. Todos los segmentos se devuelven y
se presentan juntos como si el registro se hubiera almacenado continuamente.
cadena de seudnimos. Serie de seudnimos de tabla que hacen referencia entre s de forma secuencial
no repetitiva.
calificador de Apply. En el proceso de duplicacin de datos de DB2, serie de caracteres que identifica
definiciones de suscripcin que son exclusivas de cada instancia del programa Apply. Vase tambin
conjunto de suscripcin en la pgina 1544.
campo de definicin de intervalo de control (CIDF). En VSAM, campo situado en los 4 bytes finales
de cada intervalo de control; describe el espacio libre, si lo hay, del intervalo de control.
captacin de bloque. Funcin de DB2 que recupera (u obtiene) un gran conjunto de filas juntas. Si se
utiliza la captacin de bloque, se puede reducir de forma significativa el nmero de mensajes que se
envan a travs de la red. La captacin de bloque slo se aplica a los cursores que no actualizan datos.
captacin previa de lista. Mtodo de acceso que hace uso de la captacin previa incluso en las
consultas que no acceden secuencialmente a los datos. Esto se realiza mediante la exploracin del ndice
y la recopilacin de identificadores de registro antes de acceder a las pginas de datos. Entonces se
clasifican dichos RID y se realiza una captacin previa de los datos utilizando esta lista.
captacin previa por lectura anticipada. Mtodo para captar previamente pginas mediante la consulta
anticipada en una exploracin. Esto produce la recuperacin asncrona de pginas aunque dichas
pginas no estn ubicadas secuencialmente en el disco. Vase tambin precaptacin secuencial en la
pgina 1593 y captacin previa de lista.
carcter de desplazamiento a teclado estndar. Carcter especial de control (X'0F') que se utiliza en
sistemas EBCDIC para indicar que los bytes subsiguientes representan caracteres SBCS. Vase tambin
carcter de desplazamiento a teclado ideogrfico.
carcter de desplazamiento a teclado ideogrfico. Carcter especial de control especial (X'0E') que se
utiliza en sistemas EBCDIC para indicar que los bytes subsiguientes, hasta el siguiente carcter de
control de desplazamiento a teclado estndar, representan caracteres DBCS. Vase tambin carcter de
desplazamiento a teclado estndar.
carcter de escape de SQL. Smbolo utilizado para delimitar un identificador delimitado de SQL. El
carcter de escape son las comillas dobles, excepto en las aplicaciones COBOL, donde el usuario asigna
el smbolo que puede ser un apstrofo o unas comillas dobles.
carcter de mscara. Carcter que se utiliza para representar caracteres opcionales al principio, en
medio y al final de un trmino de bsqueda. Los caracteres de mscara se utilizan normalmente para
buscar variaciones de un trmino en un ndice concreto.
carcter de reconocimiento de mandato (CRC). Carcter que permite que un operador de consola de
MVS o un usuario del subsistema IMS dirija mandatos de DB2 hacia determinados subsistemas de DB2
Universal Database para OS/390.
carcter de sustitucin. En SQL, carcter exclusivo que durante la conversin de caracteres sustituye a
cualquier carcter del programa fuente que no tenga una correspondencia en la representacin
codificada de destino.
Caracterstica DB2I para Kanji. En DB2 Universal Database para OS/390, cinta que contiene los
paneles y trabajos que permiten que un sistema visualice paneles de DB2I en Kanji.
cascada. En Centro de depsito de datos, consiste en ejecutar una secuencia de sucesos. Cuando un
paso (paso en la pgina 1590) est conectado en cascada con otro, los pasos se ejecutan de forma
secuencial o concurrente. Un paso de proceso pueden tambin estar conectado en cascada con un
programa, el cual se ejecuta cuando el paso de proceso finaliza su ejecucin.
catlogo. Conjunto de tablas y vistas mantenidas por el gestor de bases de datos. Estas tablas y vistas
contienen informacin sobre la base de datos, tal como descripciones de tablas, vistas e ndices.
catlogo de base de datos. En Centro de depsito de datos, conjunto de tablas que contiene
descripciones de objetos de base de datos, tales como tablas, vistas e ndices.
catlogo de informacin. Base de datos, gestionada por un Gestor de catlogos de informacin, que
contiene datos descriptivos (metadatos comerciales en la pgina 1579) que ayudan a los usuarios a
identificar y localizar los datos y la informacin que estn disponibles para ellos en la organizacin. Un
catlogo de informacin tambin contiene metadatos tcnicos en la pgina 1579.
categora de coste. Categora en la que DB2 Universal Database para OS/390 sita estimaciones de
coste para sentencias de SQL cuando se establecen enlaces lgicos con la sentencia. Una estimacin de
coste se puede situar en cualquiera de las categoras de coste siguientes:
v A: Indica que DB2 Universal Database para OS/390 tena informacin suficiente para efectuar una
estimacin de coste sin utilizar valores por omisin.
v B: Indica que existe alguna condicin que ha obligado a que DB2 Universal Database para OS/390
utilice valores por omisin para su estimacin.
La categora de coste se exterioriza en la columna COST_CATEGORY de DSN_STATEMNT_TABLE
cuando se explica una sentencia.
Centro de control. Interfaz grfica de DB2 que muestra objetos de base de datos (por ejemplos bases de
datos y tablas) y las relaciones existentes entre ellos. Desde el Centro de control, el usuario puede
efectuar las tareas proporcionadas por las herramientas Programa de utilidad DBA, Visual Explain y
Supervisor de rendimiento. Vase tambin herramienta DataJoiner Replication Administration en la
pgina 1567.
Centro de depsito de datos. Interfaz grfica, y el software que hay detrs de la misma, que permite
trabajar con los componentes del depsito de datos. Puede utilizar Centro de depsito de datos para
definir y gestionar los datos del depsito y los procesos que crean los datos del depsito.
ciclo. En DB2 Universal Database para OS/390, conjunto de tablas que se pueden ordenar de modo que
cada tabla proceda de la anterior y la primera proceda de la ltima. Por ejemplo, una tabla
autorreferente es un ciclo con un solo miembro.
ciclo de recurrencia. Ciclo que se produce cuando una seleccin completa dentro de una expresin de
tabla comn incluye el nombre de la expresin de tabla comn en una clusula FROM.
ciclo de referencia. Conjunto de restricciones de referencia en el que cada tabla del conjunto es
descendiente de s misma.
clase de reclamacin. En DB2 Universal Database para OS/390, tipo especfico de acceso a objeto que
puede ser uno de los tipos siguientes: estabilidad del cursor (estabilidad del cursor en la pgina 1560),
lectura repetible (lectura repetible en la pgina 1576) o grabacin.
clase de servicio. En DB2 Universal Database para OS/390, trmino de VTAM que designa una lista de
rutas a travs de una red, dispuestas en orden de preferencia para su uso.
clase de servicio. En DB2 Universal Database para OS/390, identificador de 8 caracteres que el Gestor
de Cargas de Trabajo de MVS utiliza para asociar objetivos de rendimiento del cliente con una hebra de
DDF o procedimiento almacenado determinados. Tambin se utiliza una clase de servicio para clasificar
trabajos en asistentes de paralelismo.
clusula. En SQL, parte diferenciada de una sentencia, por ejemplo una clusula SELECT o una
clusula WHERE.
clusula CHECK. En SQL, extensin de las sentencias CREATE TABLE y ALTER TABLE que especifica
una restriccin de comprobacin de tabla.
clave. Columna o conjunto ordenado de columnas que se identifica en la descripcin de una tabla, un
ndice o una restriccin de referencia. La misma columna puede formar parte de ms de una clave.
clave de ndice. Grupo de columnas de una tabla utilizado para determinar el orden de las entradas de
ndice.
clave de particin. (1) Conjunto ordenado de una o ms columnas de una tabla determinada. Para cada
fila de la tabla, se utilizan los valores de las columnas de clave de particionamiento para determinar a
qu particin de base de datos pertenece la fila. (2) En el proceso de duplicacin, conjunto ordenado de
una o ms columnas de una tabla determinada. Para cada fila de la tabla fuente, se utilizan los valores
de las columnas de clave de particionamiento para determinar a qu tabla destino pertenece la fila.
clave de unicidad. Clave que est restringida de forma que no tenga ningn par de valores iguales.
clave fornea. Columna o conjunto de columnas que hace referencia a una clave padre. En una base de
datos relacional, clave de una tabla que hace referencia a la clave primaria de otra tabla.
clave padre. Clave primaria o clave de unicidad que se utiliza en una restriccin referencial. Los
valores de una clave padre determinan los valores vlidos de la clave fornea en la restriccin.
clave primaria. Clave de unicidad que forma parte de la definicin de una tabla. Una clave primaria es
la clave padre por omisin de una definicin de restriccin referencial.
cliente. Cualquier programa (o estacin de trabajo en la que se ejecute un programa) que se comunica
con un servidor de bases de datos y accede a l. Vase tambin peticionario en la pgina 1591.
cliente DB2. Permite el acceso a una base de datos remota sin conocer su ubicacin fsica. El cliente
DB2 determina la ubicacin de la base de datos, gestiona la transmisin de peticiones al servidor de
bases de datos y devuelve los resultados.
cliente de base de datos. Estacin de trabajo que se utiliza para acceder a una base de datos situada en
un servidor de bases de datos.
cliente mvil. Nodo, generalmente un sistema porttil, donde estn situados el habilitador mvil, la
tabla fuente de duplicacin y la tabla destino de duplicacin utilizados en un entorno mvil. La
modalidad de duplicacin mvil se invoca desde el cliente mvil.
cliette. Proceso de ejecucin larga del componente Live Connection de Net.Data que atiende peticiones
procedentes del servidor Web. El Gestor de Conexiones planifica los procesos de cliette para atender
estas peticiones.
CLPA (create link pack area). Vase crear rea de mdulos residentes en la pgina 1547.
cdigo de pas. Representacin de 2 caracteres para el pas. Se utiliza para establecer el formato
monetario, de fecha y numrico.
cdigo de razn de terminacin anmala. Cdigo hexadecimal de 4 bytes que identifica, de forma
inequvoca, un problema producido en DB2 Universal Database para OS/390.
coherencia fsica. En DB2 Universal Database para OS/390, estado de una pgina que no est en un
estado de parcialmente cambiada.
cola de tablas. Mecanismo para transferir filas entre particiones de base de datos. Las colas de tablas
son corrientes de filas distribuidas con reglas simplificadas para la insercin y eliminacin de filas. Las
colas de tablas tambin se pueden utilizar para entregar filas entre procesos diferentes de una base de
datos no particionada.
coleccin. En DB2 Universal Database para OS/390 grupo de paquetes que tienen el mismo calificador.
colocacin de tablas. Posibilidad de DB2 de reconocer cundo se accede a los datos para una unin o
una subconsulta y si stos estn ubicados en la misma particin del mismo grupo de nodos. Cuando
sucede esto, DB2 puede elegir realizar el proceso de unin o subconsulta en la particin donde estn
almacenados los datos.
columna de identidad. Columna que proporciona un modo para que DB2 genere automticamente un
valor numrico para cada fila que se inserta en la tabla. Las columnas de identidad se definen con la
clusula AS IDENTITY. Una tabla no puede tener ms de una columna de identidad.
columna indicadora. En DB2 Universal Database para OS/390, valor de 4 bytes que se almacena en
una tabla base en lugar de una columna LOB.
columnas correlacionadas. En SQL, relacin entre el valor de una columna y el valor de otra columna.
combinacin. Operacin de SQL que combina los resultados de dos sentencias de seleccin. Las
combinaciones se utilizan normalmente para fusionar listas de valores que se obtienen de varias tablas.
compensacin de transaccin. Proceso que restaura filas que estn afectadas por una transaccin
confirmada que se rechaza. Cuando se rechaza una transaccin confirmada, las filas se restauran al
estado en que estaban antes de confirmar la transaccin.
complejo de proceso central (CPC). En un entorno OS/390, conjunto fsico de hardware (por ejemplo
un ES/3090) que consta de almacenamiento principal, uno o ms procesadores centrales ,
temporizadores y canales.
completa. Atributo de tabla que indica que la tabla contiene una fila para cada valor de clave primaria
de inters. Como resultado, se puede utilizar una tabla fuente completa para efectuar una renovacin de
una tabla destino.
comprobacin de procedencia. Opcin de seguridad de SNA LU 6.2 que define una lista de
identificadores de autorizacin a los que se les permite conectarse a DB2 Universal Database para
OS/390 desde una LU asociada.
comprobacin pendiente. Estado que puede tomar una tabla en el que slo se permite una actividad
limitada en la tabla y no se comprueban restricciones cuando se actualiza la tabla.
Comunicacin Avanzada Programa a Programa (APPC). (1) Recurso general que caracteriza a la
arquitectura LU 6.2 y a sus diversas implantaciones en productos. Vase tambin Comunicaciones de
interfaz comn de programacin. (2) Programa que permite que los programas de transacciones de un
sistema se comuniquen con programas de transacciones ubicados en otros sistemas de una red de
Arquitectura de redes de sistemas (Arquitectura de red de sistemas en la pgina 1531).
comunicaciones de igual a igual. Comunicaciones entre dos unidades lgicas SNA (LU) que no estn
gestionadas por un sistema principal; se utiliza normalmente cuando se hace referencia a los nodos LU
6.2.
con barrera. Perteneciente a un tipo de funcin definida por el usuario o procedimiento almacenado
que se define para proteger el gestor de bases de datos frente a las modificaciones efectuadas por la
funcin. El gestor de bases de datos se asla de la funcin o del procedimiento almacenado mediante
una barrera. Vase tambin sin barrera en la pgina 1609.
condensada. Atributo de tabla que indica que la tabla contiene datos actuales en lugar de una historia
de los cambios efectuados en los datos. Una tabla condensada incluye una sola fila para cada valor de
clave primaria de la tabla. Como resultado, una tabla condensada puede utilizarse para proporcionar
informacin actual para una renovacin.
condicin de accin desencadenada. (1) Condicin de bsqueda que controla la ejecucin de las
sentencias de SQL dentro de la accin desencadenada. (2) Parte opcional de la accin desencadenada.
Esta accin booleana aparece como una clusula WHEN y especifica una condicin que DB2 evala para
determinar si deben ejecutarse las sentencias de SQL desencadenadas.
condicin de bsqueda. Criterio para seleccionar filas de una tabla. Una condicin de bsqueda consta
de uno o ms predicados.
conectada por supresin. En SQL, una tabla est conectada por supresin con la tabla P si depende de
la tabla P o depende de una tabla a la que se propagan en cascada operaciones de supresin desde la
tabla P.
conexin de instancia DBMS. Conexin lgica entre una aplicacin y un proceso agente o hebra que es
propiedad de una instancia de DB2.
conexin dirigida por el sistema. Conexin que un RDBMS gestiona mediante el proceso de sentencias
de SQL con nombres de tres partes (o apodos), proporcionando un nivel de transparencia de ubicacin.
Vase tambin conexiones dirigidas por aplicacin.
conexiones dirigidas por aplicacin. Las aplicaciones gestionan las conexiones utilizando la sentencia
CONNECT de SQL. Vase tambin conexin dirigida por el sistema.
conexin por protocolo privado. Conexin privada a DB2 del proceso de aplicacin. Por ejemplo, si la
primera fase del programa de aplicacin utiliza el acceso a protocolo privado DB2 y la segunda fase
utiliza el acceso DRDA, las conexiones por protocolo privado DB2 abiertas de la primera fase pueden
hacer que falle una operacin CONNECT en la segunda fase. Vase tambin conexin privada.
conexin privada. Conexin de comunicaciones que es especfica de DB2 Universal Database para
OS/390. Por ejemplo, cuando el servidor de aplicaciones es un subsistema DB2, se asignan las
conexiones DB2 privadas que son necesarias para dar soporte a las referencias a objetos en otros
subsistemas DB2. Al igual que las conexiones SQL, las conexiones DB2 privadas estn inicialmente en
estado retenido y pueden colocarse en estado pendiente de liberacin.
conexin SQL. Asociacin entre un proceso de aplicacin y un servidor de aplicaciones local o remoto.
confirmacin. Operacin que finaliza una unidad de trabajo mediante la liberacin de bloqueos para
que los cambios efectuados por esa unidad de trabajo en la base de datos puedan ser percibidos por
otros procesos. Esta operacin hace que los cambios efectuados en los datos sean permanentes.
confirmacin de peticin. En DB2 Universal Database para OS/390, voto que se somete en la fase de
preparacin si el participante ha modificado datos y est preparado para confirmar o retrotraer.
confirmacin en dos fases. Proceso de dos pasos mediante el cual se confirman los recursos
recuperables y un subsistema externo. Durante el primer paso, se sondean los subsistemas del gestor de
bases de datos para asegurarse de que estn listos para confirmarse. Si todos los subsistemas responden
positivamente, el gestor de bases de datos les indica que efecten la confirmacin. Vase tambin
transaccin distribuida en la pgina 1620.
conjunto de datos de rutina de carga (BSDS). Conjunto de datos VSAM que contiene informacin de
nombres y estado para DB2 Universal Database para OS/390, as como especificaciones de rango de
direcciones de byte relativo para todos los conjuntos de datos de anotacin cronolgica activos y de
archivador. Tambin contiene las contraseas para el directorio y catlogo de DB2 Universal Database
para OS/390 y listas de registros de rearranque condicional y de punto de control.
conjunto de datos lineal (LDS). En un entorno OS/390, conjunto de datos VSAM que contiene datos,
pero ninguna informacin de control. Se puede acceder a un conjunto de datos lineal como una serie
direccionable por byte situada en almacenamiento virtual.
conjunto de datos ordenado por clave (KSDS). En un entorno OS/390, archivo o conjunto de datos de
VSAM cuyos registros se cargan en secuencia de clave y est controlado por un ndice.
conjunto de espacios de tablas. En DB2 Universal Database para OS/390, conjunto de espacios de
tablas y particiones que deben recuperarse juntos si cada uno contiene una tabla que es padre o
descendiente de una tabla de otro de ellos o el conjunto contiene una tabla base y tablas auxiliares
asociadas. Un conjunto de espacios de tablas puede contener ambos tipos de relaciones.
conjunto de pginas simple. En DB2 Universal Database para OS/390, un conjunto de pginas no
particionado. Un conjunto de pginas simple inicialmente consta de un nico conjunto de datos (parte
del conjunto de pginas). Si dicho conjunto de datos se ampla a 2 gigabytes menos 1 byte, se crear otro
conjunto de datos y as sucesivamente hasta un total de 32 conjuntos de datos. DB2 Universal Database
para OS/390 considera los conjuntos de datos como un solo espacio de direcciones lineal contiguo que
contiene un mximo de 64 gigabytes. Los datos se almacenan en la siguiente posicin disponible de este
espacio de direcciones, sin tener en cuenta ningn esquema de particin.
conjunto de restauracin. Copia de seguridad de una base de datos o un espacio de tablas ms cero o
ms archivos de anotaciones cronolgicas que, cuando se restaura y se recupera en avance, vuelve a
dejar la base de datos o el espacio de tablas en un estado coherente.
conmutador de supervisor. Parmetros del gestor de la base de datos manipulados por el usuario para
controlar el tipo de informacin y la cantidad de informacin que devuelven las instantneas de
rendimiento.
constante. Elemento de lenguaje que especifica un valor que no cambia. Las constantes pueden ser
constantes de tipo serie o constantes numricas. Vase tambin variable en la pgina 1624.
consulta. (1) Peticin de informacin a la base de datos de acuerdo con unas condiciones especficas;
por ejemplo, una peticin de una lista de todos los clientes de una tabla de clientes cuyo saldo sea
mayor que 150.000 Pts. (2) En DB2 Universal Database para OS/390, componente de ciertas sentencias
de SQL que especifica una tabla resultante.
consulta recurrente. Seleccin completa que utiliza una expresin de tabla comn recurrente.
contador. Representacin de informacin que es acumulativa hasta que se toma la muestra. Cuenta
valores que aumentan, por ejemplo el nmero de puntos muertos. Los contadores se restablecen a cero
cuando se detiene y se reinicia una instancia de base de datos o una base de datos. Vase tambin
marcador en la pgina 1578.
contencin. En el gestor de bases de datos, situacin en la que una transaccin intenta bloquear una
fila o tabla que ya est bloqueada.
contencin de bloqueo fsico. En DB2 Universal Database para OS/390, estados conflictivos de los
peticionarios de un bloqueo fsico. Vase tambin bloqueo negociable en la pgina 1535.
contencin de bloqueo global. En DB2 Universal Database para OS/390 conflictos en peticiones de
bloqueo entre diferentes miembros de un grupo de compartimiento de datos cuando esos miembros
intentan serializar recursos compartidos.
contencin falsa por bloqueo global. En DB2 Universal Database para OS/390, indicacin de
contencin procedente del recurso de acoplamiento que se produce cuando varios nombres de bloqueo
se calculan aleatoriamente al mismo indicador y no existe ninguna contencin real.
contenedor. (1) Ubicacin de almacenamiento fsico de los datos. Por ejemplo, un archivo, un directorio
o un dispositivo. (2) Vase 1544.
controlador de ODBC. Controlador que implementa llamadas de funcin ODBC e interacta con una
fuente de datos.
control de confirmacin. Establecimiento de un lmite de dentro del proceso bajo el que se est
ejecutando Net.Data, donde las operaciones sobre recursos son parte de una unidad de trabajo.
control de enlace de datos (DLC). En SNA, capa de protocolo que consta de las estaciones de enlace
que planifican la transferencia de datos en un enlace entre dos nodos y efectan el control de errores
para el enlace.
conversacin. En APPC, conexin entre dos programas de transacciones mediante una sesin entre
unidades lgicas (LU-a-LU) que les permite comunicarse entre s mientras procesan una transaccin.
conversacin bsica. Conversacin SNA LU 6.2 entre dos programas de transacciones que utilizan la
API de conversacin bsica de APPC. Vase tambin conversacin correlacionada.
conversacin correlacionada. En APPC, conversacin entre dos programas de transacciones (TP) que
utilizan la API de conversacin correlacionada de APPC. En las situaciones normales, los TP de usuario
final utilizan conversaciones correlacionadas y los TP de servicio utilizan conversaciones bsicas. Ambos
tipos de programa pueden utilizar cualquiera de los dos tipos de conversacin. Vase tambin
conversacin bsica.
conversacin de proceso SQL. Cualquier conversacin que necesite acceder a datos de DB2 Universal
Database para OS/390 mediante una aplicacin o peticiones de consulta dinmica.
conversacin de sistemas. Conversacin que deben establecer dos subsistemas de DB2 Universal
Database para OS/390 para procesar mensajes del sistema a fin de comenzar un proceso de datos
distribuido.
conversacin protegida. En un entorno OS/390, conversacin VTAM que da soporte a los flujos de
confirmacin en dos fases.
conversin de contraccin. Proceso que se produce cuando la longitud de una serie convertida es
menor que la de la serie fuente. Vase tambin conversin de expansin.
coordinador. En DB2 Universal Database para OS/390, componente del sistema que coordina la
confirmacin o la retrotraccin de una unidad de trabajo que incluye trabajo que se realiza en uno o ms
sistemas diferentes.
copia continua. Tcnica de recuperacin en la que no se escribe nunca encima del contenido de la
pgina actual. En lugar de ello, se asignan y se escriben pginas nuevas mientras que las pginas cuyos
valores se estn sustituyendo se conservan como copias duplicadas hasta que ya no sean necesarias para
permitir la restauracin del estado del sistema debido a una retrotraccin de la transaccin.
copia de carga. Imagen de copia de seguridad de datos que se han cargado anteriormente y que se
pueden restaurar durante la recuperacin ascendente.
copia de seguridad delta. Copia de todos los datos de base de datos que han cambiado desde que se
ha realizado la ltima copia de seguridad satisfactoria (completa, incremental o delta) del espacio de
tablas en cuestin. Tambin se conoce como imagen de copia de seguridad no acumulativa o diferencial.
El predecesor de una imagen de copia de seguridad delta es la copia de seguridad satisfactoria ms
reciente que contiene una copia de cada uno de los espacios de tablas de la imagen de copia de
seguridad delta.
copia de seguridad en lnea. Copia de seguridad de la base de datos o del espacio de tablas que se
efecta mientras otras aplicaciones estn accediendo a la base de datos o al espacio de tablas. Vase
tambin copia de seguridad fuera de lnea.
copia de seguridad fuera de lnea. Copia de seguridad de la base de datos o del espacio de tablas
efectuada cuando las aplicaciones no estaban accediendo a la base de datos o al espacio de tablas.
Durante una copia de seguridad fuera de lnea, el programa de utilidad de copia de seguridad de base
de datos obtiene el uso exclusivo de la base de datos hasta que la copia de seguridad se ha completado.
Vase tambin copia de seguridad en lnea.
copia de seguridad incremental. Copia de todos los datos de la base de datos que se han modificado
desde la operacin de copia de seguridad completa satisfactoria ms reciente. Tambin se conoce como
imagen de copia de seguridad acumulativa, porque cada una de las copias de seguridad incrementales
de una serie realizadas tendr, con el tiempo, el contenido de la imagen de copia de seguridad
incremental anterior. El predecesor de una imagen de copia de seguridad incremental es siempre la
copia de seguridad completa satisfactoria ms reciente del mismo objeto.
copia de seguridad pendiente. Estado de una base de datos o espacio de tablas que impide efectuar
una operacin hasta que se realiza una copia de seguridad de la base de datos o del espacio de tablas.
copia imagen. Reproduccin exacta de todo o parte de un espacio de tablas. DB2 Universal Database
para OS/390 proporciona programas de utilidad para realizar copias imagen completas (copia del
espacio de tablas completo) o copias imagen incrementales (copia de slo las pginas que se han
modificado desde la ltima copia imagen).
correlacin de funciones. Asociacin definida entre dos funciones compatibles, una soportada por la
base de datos federada y otra soportada por una fuente de datos.
correlacin de usuario. Asociacin entre la autorizacin con la que un usuario se conecta a un servidor
federado y la autorizacin con la que el usuario se conecta a una fuente de datos.
coste. Uso de recursos totales estimado necesario para ejecutar el plan de acceso para una sentencia (o
los elementos de una sentencia). El coste se obtiene de una combinacin de coste de CPU (en nmero de
instrucciones) y de E/S (en nmeros de bsquedas y transferencias de pginas).
Coupling Facility Resource Manager. En un entorno OS/390, gestiona todos los recursos de
acoplamiento en un Sysplex.
CRCR. En DB2 Universal Database para OS/390, registro de control para el rearranque condicional.
Vase rearranque condicional en la pgina 1598.
crear rea de mdulos residentes (CLPA). Opcin utilizada durante la carga del programa inicial para
inicializar el rea paginable de mdulos residentes.
cubo relacional. Conjunto de datos y metadatos que juntos definen una base de datos
multidimensional. Un cubo relacional es la porcin de una base de datos multidimensional que se
almacena en una base de datos relacional. Vase tambin base de datos multidimensional en la
pgina 1533.
cuenta de reclamaciones. En DB2 Universal Database para OS/390, cuenta del nmero de agentes que
estn accediendo a un objeto.
cuerpo del desencadenante. Conjunto de sentencias de SQL que se ejecuta cuando se activa un
desencadenante y la condicin de accin desencadenada se evala como verdadera.
cursor. Estructura de control definida que un programa de aplicacin utiliza para apuntar a una fila
determinada dentro de un conjunto ordenado de filas. El cursor se utiliza para recuperar filas de un
conjunto.
cursor ambiguo. (1) Un cursor es ambiguo si se cumplen todas las condiciones siguientes:
v La sentencia-select se prepara de forma dinmica
v La sentencia-select no incluye la clusula FOR READ ONLY ni la clusula FOR UPDATE
v La opcin de enlace LANGLEVEL es SAA1
v Por lo dems, el cursor satisface las condiciones de un cursor suprimible
Un cursor ambiguo se considera de slo lectura si la opcin de enlace BLOCKING es ALL; de lo
contrario, se considera suprimible. (2) En DB2 Universal Database para OS/390, cursor de base de datos
que no est definido por las clusulas FOR FETCH ONLY ni FOR UPDATE OF, no est definido en una
tabla resultante de slo lectura, no es el destino de una clusula WHERE CURRENT en una sentencia
UPDATE o DELETE de SQL y que est en un plan o paquete que contiene sentencias PREPARE o
EXECUTE IMMEDIATE de SQL. Vase tambin cursor no ambiguo en la pgina 1548.
cursor asignado. Cursor que se define para conjuntos de resultados de procedimientos almacenados
utilizando la sentencia ALLOCATE CURSOR de SQL.
cursor desplazable. Cursor que se puede mover hacia adelante y hacia atrs. Vase tambin cursor no
desplazable en la pgina 1548.
cursor insensible. Especifica que el cursor no tiene sensibilidad para las inserciones, actualizaciones o
supresiones realizadas en la base de datos (filas subyacentes de la tabla resultante) una vez que se
materializa la tabla resultante (una fila de tabla resultante se materializa cuando se capturan de la base
de datos los valores de la fila). En consecuencia, el tamao de la tabla resultante, el orden de las filas y
los valores para cada fila no cambian despus de abrir el cursor. La sentencia SELECT no puede
contener una clusula FOR UPDATE y el cursor no se puede utilizar para actualizaciones o supresiones
posicionadas. Una operacin UPDATE o DELETE posicionada utilizando una cursor INSENSITIVE
desplazable produce un error. Vase tambin cursor sensible.
cursor no ambiguo. Cursor que permite a una base de datos relacional determinar si se puede utilizar
el bloqueo con el conjunto resultante. Un cursor definido como FOR FETCH ONLY o FOR READ ONLY
se puede utilizar con el bloqueo, mientras que un cursor definido como FOR UPDATE no se puede
utilizar con el bloqueo. Vase tambin cursor ambiguo en la pgina 1547.
cursor no desplazable. Cursor que slo se puede mover hacia adelante. Los cursores no desplazables se
denominan a veces cursores slo hacia adelante o cursores serie. Vase tambin cursor desplazable en
la pgina 1547.
cursor sensible. Tipo de cursor que es sensible a los cambios efectuados en la base de datos despus de
que se haya materializado la tabla resultante. Vase tambin cursor insensible en la pgina 1547.
cursor sensible STATIC. El orden de las filas y el tamao de la tabla resultante son estticos. El tamao
de la tabla resultante no aumenta despus de que se hayan materializado las filas. El orden de las filas
se establece cuando se materializa la tabla resultante. Las filas recin insertadas no estn visibles para los
cursores SENSITIVE STATIC una vez que las filas de la tabla resultante se han materializado. Las filas
de la tabla resultante no se mueven si las columnas de la clusula ORDER BY se actualizan en filas que
ya se han materializado.
Los cursores estticos tienen visibilidad para los cambios efectuados por el cursor utilizando UPDATE
WHERE CURRENT OF o DELETE WHERE CURRENT OF. La visibilidad de los cambios efectuados
fuera del cursor depende del tipo de FETCH que se utiliza con un cursor SENSITIVE STATIC.
D
DAD. Vase Definicin de acceso a documento en la pgina 1550.
DataJoiner. Producto, adquirible por separado, que proporciona acceso integrado a datos distribuidos
para aplicaciones clientes as como una imagen nica de la base de datos en un entorno heterogneo.
Mediante DataJoiner, una aplicacin cliente puede unir datos (mediante una sola sentencia de SQL) que
estn distribuidos entre varios sistemas de gestin de bases de datos o actualizar una sola fuente de
datos remota como si los datos fueran locales.
DATALINK. Tipo de datos de DB2 que permite que las referencias lgicas de la base de datos a un
archivo se guarden fuera de la base de datos.
Data Links File Filter (DLFF). Filtro que refuerza la integridad de los datos asegurando el acceso
vlido a un archivo bajo el control de Data Links Manager.
Data Links File Manager (DLFM). Aplicacin de SQL que funciona junto con DB2 para gestionar
archivos externos a una base de datos.
datos actuales. En DB2 Universal Database para OS/390, datos de una estructura de lenguaje principal
que son actuales (idnticos) respecto a los datos de la tabla base.
datos de bit. Datos de tipo carcter CHAR o VARCHAR no asociados a un juego de caracteres
codificado y que por tanto no se convierten nunca.
DB2 Application Development Client (DB2 SDK). Conjunto de herramientas que ayudan a los
desarrolladores a crear aplicaciones de base de datos.
DB2 Connect. Producto que permite a las aplicaciones cliente leer y actualizar datos que estn
almacenados en servidores de aplicaciones DRDA.
DBID (database identifier). En DB2 Universal Database para OS/390, identificador de base de datos.
DB2 Life Sciences Data Connect. Sistema de middleware de bases de datos. DB2 Life Sciences Data
Connect permite ejecutar una sola consulta en una base de datos virtual, cuyos datos subyacentes
pueden almacenarse en mltiples fuentes de datos de la industria de ciencias de la vida.
DB2 Net Search Extender. Proporciona la recuperacin de texto completo mediante un procedimiento
almacenado de DB2. Se ha optimizado principalmente para el rendimiento. La realizacin de bsquedas
utilizando DB2 Net Search Extender puede ser especialmente ventajosa en aplicaciones donde el
rendimiento de la bsqueda en ndices grandes y la escalabilidad de acuerdo con las consultas
concurrentes son factores importantes.
DB2 PM. En DB2 Universal Database para OS/390, DATABASE 2 Performance Monitor (supervisor de
rendimiento de DATABASE 2).
DB2 Relational Connect. Producto utilizado en un sistema federado para consultar y recuperar datos
ubicados en otros DBMS, por ejemplo Oracle, Sybase, Microsoft SQL Server, y miembros de DB2
Universal Database, por ejemplo DB2 para OS/390, DB2 para OS/400 y DB2 para Windows.
DB2 Spatial Extender. Programa utilizado para crear un sistema de informacin geogrfica (GIS).
DB2 Text Extender. Sistema de recuperacin de texto completo integrado en DB2 Universal Database.
Proporciona potentes caractersticas de bsqueda mejoradas con una rica funcionalidad lingstica
adicional para aplicaciones con documentos altamente estructurados donde la necesidad de informacin
es compleja y la calidad y la precisin del resultado de la bsqueda son temas clave que estn por
encima de los tiempos de respuesta del sistema.
DB2 XML Extender. Programa utilizado para almacenar y gestionar documentos XML en tablas DB2.
Se pueden generar documentos XML bien formados y validados a partir de datos relacionales existentes,
almacenar dichos documentos como datos de columna y el contenido de atributos y los elementos XML
puede almacenarse en tablas de DB2.
debe finalizar. Estado durante el proceso de DB2 Universal Database para OS/390 en el cual debe
finalizar la operacin completa para mantener la integridad de los datos.
Definicin de acceso a documento (Document Access Definition - DAD). Definicin que se utiliza
para habilitar una columna de XML Extender de una coleccin XML, que est formateada por XML.
definicin en lnea de recursos. En un entorno OS/390 con CICS, caracterstica que el usuario utiliza
para definir en lnea recursos de CICS sin ensamblar tablas.
definidor de funcin. En DB2 Universal Database para OS/390, identificador de autorizacin del
propietario del esquema de la funcin que se especifica en la sentencia CREATE FUNCTION.
delimitador de serie del SQL. En DB2 Universal Database para OS/390, smbolo utilizado para
delimitar una constante de tipo de serie del SQL. El delimitador de serie del SQL es el apstrofo ('),
excepto en las aplicaciones COBOL, donde el usuario asigna el smbolo que puede ser un apstrofo o
unas comillas dobles (").
delimitador de series de caracteres. Caracteres que se utilizan para delimitar series de caracteres en
archivos ASCII delimitados que se importan o exportan. Vase tambin delimitador.
dependiente. En SQL, referente a un objeto (fila, tabla o espacio de tablas) que tiene como mnimo un
padre. Vase tambin fila padre en la pgina 1563, tabla padre en la pgina 1616 y espacio de tablas
padre en la pgina 1559.
dependiente de GBP. En DB2 Universal Database para OS/390, estado de un conjunto de pginas o de
una particin de conjunto de pginas que depende de la agrupacin de almacenamientos intermedios de
grupo. Existe un inters activo de lectura/escritura entre subsistemas DB2 para este conjunto de pginas
o bien el conjunto de pginas ha cambiado pginas de la agrupacin de almacenamientos intermedios
de grupo que todava no se han convertido a DASD.
depsito de datos. (1) Coleccin de datos no voltil orientada hacia un tema que se utiliza para
soportar la toma de decisiones estratgicas. El depsito es el punto central de la integracin de datos
para la informacin de una empresa. Es la fuente de datos de las despensas de datos de una empresa y
proporciona una vista comn de los datos de la empresa. (2) Depsito central de todos los datos o de
partes significativas de los mismos que rene el sistema comercial de una organizacin. Tambin
conocido como depsito de informacin. Vase tambin despensa de datos en la pgina 1553.
depurar. Proceso de manipular los datos extrados de sistemas operativos para hacerlos utilizables por
el depsito de datos.
desagrupacin parcial. Una tabla puede particionarse en un subconjunto de particiones del sistema.
Las tablas no se tienen que particionar en todas las particiones del sistema.
desbloquear. Acto de liberar un objeto o recurso del sistema que se haba bloqueado previamente y
hacer que est disponible de forma general dentro de DB2 Universal Database para OS/390.
descriptor. (1) Variable que representa una estructura interna dentro de un sistema de software. (2)
Serie de caracteres, creada por un expansor, que se utiliza para representar un objeto de imagen, de
audio o de vdeo en una tabla. El descriptor correspondiente a un objeto se guarda en una tabla de
usuario y en tablas de soporte administrativo. De esta forma, un expansor puede enlazar el descriptor
contenido en una tabla de usuario con informacin sobre el objeto almacenada en las tablas de soporte
administrativo. (3) Valor binario que identifica un documento de texto. Se crea un descriptor para cada
documento de texto de una columna de texto cuando Text Extender habilita dicha columna para que se
utilice.
descriptor de base de datos (DBD). Representacin interna de una definicin de base de datos de DB2
Universal Database para OS/390, que refleja la definicin de datos contenida en el catlogo de DB2
Universal Database para OS/390.Los objetos definidos en un descriptor de base de datos son espacios de
tablas, tablas, ndices, espacios de ndice y relaciones.
descriptor de contexto de conexin. En la CLI de DB2, objeto de datos que contiene informacin
asociada con una conexin a una fuente de datos. Esta informacin incluye informacin general de
estado, el estado de la transaccin e informacin de diagnstico. Vase tambin descriptor de contexto
de sentencia.
descriptor de contexto de sentencia. En CLI, descriptor de contexto que hace referencia al objeto de
datos que contiene informacin acerca de una sentencia de SQL. Esto incluye informacin como, por
ejemplo, argumentos dinmicos, enlaces lgicos para argumentos dinmicos y columnas, informacin de
cursor, valores de resultados e informacin de estado. Cada descriptor de contexto de sentencia est
asociado con un descriptor de contexto de conexin.
descriptor de entorno. Descriptor que identifica el contexto global para el acceso a la base de datos.
Todos los datos aplicables a todos los objetos del entorno se asocian mediante este descriptor.
desencadenante. (1) Objeto de una base de datos que invoca indirectamente el gestor de bases de datos
cuando se ejecuta una sentencia de SQL determinada. (2) Conjunto de sentencias de SQL que se
almacena en una base de datos DB2 y se ejecuta cuando se produce un suceso determinado en una tabla
de DB2 .
desencadenante de actualizacin. En DB2 Universal Database para OS/390, desencadenante que est
definido mediante la operacin desencadenante UPDATE de SQL.
desencadenante de fila. En DB2 Universal Database para OS/390, desencadenante cuya granularidad
est definida como FOR EACH ROW.
desencadenante de umbral. Suceso que se produce cuando el valor de una variable de rendimiento
excede o est por debajo de un valor umbral definido por el usuario. La accin que se produce como
resultado de un desencadenante de umbral puede ser:
v Anotar informacin en un archivo de anotaciones de alertas.
v Visualizar informacin en una ventana de anotaciones de alertas.
v Generar una alarma sonora.
v Abrir una ventana de mensajes.
v Invocar un programa o mandato predefinido.
deshacer. (1) Recuperar la ltima edicin que ha tenido lugar. (2) Estado de una unidad de
recuperacin que indica que deben cancelarse los cambios realizados por la unidad de recuperacin en
recursos recuperables de DB2 Universal Database para OS/390.
desnormalizacin. Paso clave para designar un diseo de base de datos relacional fsica. La
desnormalizacin es la duplicacin intencionada de columnas en mltiples tablas y la consecuencia es el
aumento de redundancia de datos. La desnormalizacin es necesaria a veces para minimizar problemas
de rendimiento. Vase tambin normalizacin en la pgina 1585.
despensa de datos. Subconjunto de un depsito de datos que contiene datos adaptados a las
necesidades especficas de un departamento o equipo de trabajo. Una despensa de datos puede ser un
subconjunto de un depsito de la organizacin entera, por ejemplo los datos contenidos en las
herramientas OLAP.
desplazamiento. En el entorno OS/390, posibilidad de utilizar un cursor para ir a buscar hacia adelante
o hacia atrs. La sentencia FETCH soporta mltiples orientaciones de bsqueda para indicar la nueva
posicin del cursor. Vase tambin orientacin de fetch en la pgina 1587.
destino. En Centro de depsito de datos, tabla, vista o archivo que es creado o llenado con datos por
un paso de proceso; constituye la salida de un paso de proceso. Vase tambin fuente en la
pgina 1563.
destino de depsito. Subconjunto de tablas, ndices y seudnimos de una base de datos individual que
son gestionados por el Centro de depsito de datos.
deteccin estndar de conflictos. Deteccin de conflictos en la que el programa Apply busca conflictos
en filas que ya estn capturadas en las tablas de datos de cambios de la tabla de duplicado o tabla de
usuario. Vase tambin deteccin de conflicto, deteccin mejorada de conflictos y deteccin de
conflictos de duplicacin de fila.
deteccin mejorada de conflictos. Deteccin de conflictos que asegura la integridad de los datos entre
todos los duplicados y la tabla fuente. El programa Apply bloquea todos los duplicados o tablas de
usuario del conjunto de suscripcin para impedir transacciones ulteriores. El programa Apply comienza
la deteccin despus de que se hayan capturado todos los cambios efectuados antes del bloqueo. Vase
deteccin de conflicto.
detector de puntos muertos. Proceso dentro del gestor de bases de datos que supervisa los estados de
los bloqueos para determinar si existe una condicin de punto muerto. Cuando se detecta una condicin
de punto muerto, el detector detiene una de las transacciones implicadas en el punto muerto. Esta
transaccin se retrotrae y la otra transaccin puede continuar.
diccionario. Coleccin de informacin lingstica relacionada con el idioma que Text Extender utiliza
durante el anlisis de textos, la indexacin, la recuperacin y el resaltado de documentos en un idioma
determinado.
diccionario de compresin. En DB2 Universal Database para OS/390, diccionario que controla el
proceso de compresin y descompresin. Este diccionario se crea a partir de los datos del espacio de
tablas o de la particin de espacio de tablas.
diccionario de datos. Depsito de informacin acerca de los programas de aplicacin, las bases de
datos, los modelos de datos lgicos, los usuarios y las autorizaciones de una organizacin. Un
diccionario de datos puede ser manual o automtico.
dimensin. Categora de datos, por ejemplo hora, cuentas, productos o mercados. Los elementos de
una dimensin se denominan miembros. Las dimensiones ofrecen un modo simple muy conciso de
organizar y seleccionar datos para la recuperacin, la exploracin y el anlisis. Las dimensiones tambin
representan el nivel de consolidacin ms alto en un esquema de base de dtos multidimensional. Vase
tambin dimensin comercial, anlisis multidimensional en la pgina 1528 y tabla de dimensin en
la pgina 1615.
dimensin comercial. Categora de datos, por ejemplos productos o periodos de tiempo, que una
organizacin puede querer analizar. Vase tambin dimensin y anlisis multidimensional en la
pgina 1528.
direccin conocida pblicamente. Direccin que se utiliza para identificar de forma exclusiva un nodo
determinado en la red para establecer conexiones entre nodos. La direccin conocida pblicamente es
una combinacin de la direccin de red y del puerto utilizado en el nodo lgico.
direccin IP. Valor de 4 bytes que identifica de forma exclusiva un sistema principal TCP/IP.
directorio. Base de datos del sistema DB2 Universal Database para OS/390 que contiene objetos
internos tales como ejemplo descriptores de bases de datos y tablas esquemticas de cursor.
directorio actual de trabajo. Directorio por omisin de un proceso a partir del cual se determinan todas
las vas de acceso relativas.
directorio de bases de datos. Directorio que contiene informacin de acceso a bases de datos para
todas las bases de datos a las que se puede conectar un cliente. Vase directorio de nodos.
directorio de bases de datos del sistema. Directorio que contiene entradas para cada base de datos a la
que se puede tener acceso utilizando el gestor de bases de datos. Este directorio se crea cuando se crea o
cataloga la primera base de datos en el sistema. Vase tambin directorio de bases de datos locales.
directorio de bases de datos locales. Directorio en el que reside fsicamente una base de datos. Las
bases de datos que se visualizan en el directorio de bases de datos locales estn ubicadas en el mismo
nodo que el directorio de bases de datos del sistema (directorio de bases de datos del sistema).
directorio de nodos. Directorio que contiene la informacin necesaria para establecer comunicaciones
entre una estacin de trabajo cliente y todos los servidores de base de datos aplicables.
directorio de red distribuido. Vase base de datos de directorios distribuidos en la pgina 1532.
directorio de servicios de conexin de base de datos (database connection services - DCS). Directorio
que contiene entradas correspondientes a bases de datos remotas y el peticionario de aplicaciones
utilizado para acceder a ellas.
distintivo. Opcin de precompilador que identifica sentencias de SQL de aplicaciones que no cumplen
los criterios de validacin seleccionados (por ejemplo, la norma SQL92 de ISO/ANSI).
distintivo de indicador nulo. Carcter de un byte que est contenido en una columna de indicador
nulo en la pgina 1571 de un archivo ASCII no delimitado. Cuando el proceso de carga examina cada
fila de datos, el distintivo de indicador nulo indica si los datos de la columna definida por las posiciones
inicial y final son nulos.
dominio. Un dominio forma parte de una red y se administra como una unidad con protocolo comn.
drenaje fsico. En DB2 Universal Database para OS/390, drenaje sobre un ndice completo sin
particionamiento.
drenaje lgico. En DB2 Universal Database para OS/390, drenaje sobre una particin lgica de un
ndice sin particionamiento.
drenar. En DB2 Universal Database para OS/390, adquirir un recurso bloqueado desactivando el acceso
a dicho objeto. Vase tambin reclamacin en la pgina 1599.
dudoso. Estado de una unidad de recuperacin. Si el gestor de bases de datos falla despus de finalizar
la fase 1 del proceso de confirmacin y antes de iniciar la fase 2, slo el coordinador de confirmacin
sabe si una unidad de recuperacin individual debe confirmarse o retrotraerse. En un reinicio de
emergencia, si el gestor de bases de datos carece de la informacin que necesita para tomar esta
decisin, el estado de la unidad de recuperacin ser dudoso hasta que el gestor de bases de datos
obtenga esta informacin del coordinador. Puede haber ms de una unidad de recuperacin en estado
dudoso durante el reinicio.
almacenamientos intermedios de grupo. En las publicaciones sobre OS/390, estas instancias se denominan
estructura antigua (para la primaria) y estructura nueva (para la secundaria).
duplicado. Tipo de tabla destino que se puede actualizar localmente y que recibe actualizaciones de
una tabla de usuario a travs de una definicin de suscripcin. Puede ser una fuente para actualizar la
tabla de usuario o tablas destino de slo lectura.
duplicado de fila. En el proceso de duplicacin de datos de DB2, tipo de duplicado con actualizacin
en cualquier lugar mantenida por DataPropagator para Microsoft Jet sin semnticas de transaccin.
duracin. En SQL, nmero que representa un intervalo de tiempo. Vase duracin de fecha,
duracin etiquetada y duracin de hora.
duracin de fecha. Valor de tipo DECIMAL(8,0) que representa un nmero de aos, meses y das.
duracin de hora. Valor DECIMAL(6,0) que representa un nmero de horas, minutos y segundos.
duracin de indicacin de fecha y hora. Valor DECIMAL(20,6) que representa un nmero de aos,
meses, das, horas, minutos, segundos y microsegundos.
duracin del bloqueo. Intervalo durante el cual se mantiene un bloqueo de DB2 Universal Database
para OS/390. Por ejemplo, los bloqueos en los LOB se realizan cuando son necesarios y se liberan
generalmente en la confirmacin.
duracin etiquetada. Nmero que representa una duracin de aos, meses, das, horas, minutos,
segundos o microsegundos.
E
EBCDIC. Juego de caracteres codificado de 256 caracteres de 8 bits, utilizado normalmente en
servidores S/390 y AS/400. Vase tambin ASCII en la pgina 1531 y Unicode en la pgina 1621.
edicin de enlaces de memoria cruzada. En un entorno OS/390, mtodo para invocar un programa
situado en un espacio de direcciones diferente. La invocacin es sncrona respecto al emisor de la
llamada.
edicin de paso. En Centro de depsito de datos, visin de los datos existentes en una fuente de
depsito en un momento determinado.
editar enlaces. En DB2 Universal Database para OS/390, accin de crear un programa cargable
utilizando un editor de enlaces.
editor de enlaces. Programa informtico para crear mdulos de carga a partir de uno o ms mdulos
objeto mediante la resolucin de referencias cruzadas entre los mdulos y, si es necesario, el ajuste de
direcciones.
elemento de cdigo. Patrn de bits exclusivo que representa un carcter en una pgina de cdigos.
elemento de datos. Estructura de datos utilizada por el supervisor del sistema para almacenar
informacin relacionada con el estado del sistema de base de datos. Por ejemplo, contadores,
marcadores, informacin e indicaciones de fecha y hora.
en cancelacin anmala. Estado de una unidad de recuperacin. Si DB2 Universal Database para
OS/390 falla despus de que empiece a retrotraerse una unidad de recuperacin, pero antes de que el
proceso finalice, DB2 Universal Database para OS/390 seguir restituyendo los cambios durante el
reinicio.
enclavamiento. Mecanismo interno de DB2 Universal Database para OS/390 que sirve para controlar
sucesos simultneos o el uso de recursos del sistema.
enclave. En Language Environment (el cual es utilizado por DB2 Universal Database para OS/390),
conjunto independiente de rutinas, una de las cuales est designada como rutina principal. Un enclave
es similar a un programa o unidad de ejecucin.
en confirmacin. Estado de una unidad de recuperacin. Si el DB2 Universal Database para OS/390
falla despus de empezar el proceso de confirmacin de dos fases, cuando rearranca, sabe que los
cambios realizados en los datos son coherentes.
enlace. Proceso mediante el cual la salida del compilador SQL se convierte en una estructura de control
utilizable, denominada normalmente plan de acceso, plan de aplicacin o paquete. Durante este proceso
se seleccionan vas de acceso a los datos y se efecta una comprobacin de autorizacin. Vase tambin
reenlazar en la pgina 1601, reenlace automtico en la pgina 1601, enlace dinmico, enlace
incremental, enlace esttico.
enlace dinmico. Proceso mediante el cual las sentencias de SQL se enlazan cuando se entran. Vase
enlace. Vase tambin enlace esttico.
enlace esttico. Proceso mediante el cual las sentencias de SQL se enlazan una vez precompiladas.
Todas las sentencias de SQL esttico se preparan al mismo tiempo para su ejecucin. Vase enlace.
Vase tambin enlace dinmico.
enlace incremental. Proceso mediante el cual las sentencias de SQL se enlazan durante la ejecucin de
un proceso de aplicacin, porque no se pudieron enlazar durante el proceso de enlace y se especific
VALIDATE(RUN). Vase enlace.
entero binario. Tipo de datos bsico que se puede clasificar adicionalmente como entero pequeo o
entero grande.
entidad. (1) En una base de datos relacional, las entidades se representan como tablas. Una base de
datos incluye informacin acerca de las entidades de una organizacin o empresa y las relaciones entre
ellas. Una entidad es una persona, un objeto o un concepto sobre el cual se desea almacenar
informacin. (2) Unidad de datos que se puede clasificar y que puede tener relaciones establecidas con
otras entidades de dicha base de datos.
entorno de aplicacin del WLM. Atributo del Gestor de Cargas de Trabajo de MVS que est asociado a
uno o ms procedimientos almacenados. El entorno de aplicacin del WLM determina el espacio de
direcciones en el que se ejecuta un determinado procedimiento almacenado de DB2 Universal Database
para OS/390.
entrada de recuperacin residual (RRE). Unidad de recuperacin de la que DB2 puede estar dudoso.
Por ejemplo, en un entorno OS/390 con IMS, IMS crea una lista de entradas de recuperacin residuales.
envo de funcin. Envo de las subsecciones de una peticin a la particin de base de datos especfica
que contiene los datos aplicables.
en vuelo. Estado de una unidad de recuperacin. Si DB2 Universal Database para OS/390 falla antes
de que su unidad de recuperacin finalice la fase 1 del proceso de confirmacin, simplemente cancela las
actualizaciones de su unidad de recuperacin cuando rearranca. Estas unidades de recuperacin se
denominan en vuelo.
E/S basada en bloque. Mtodo del gestor de bases de datos para leer pginas de datos contiguas de
disco en partes contiguas de memoria. Vase tambin lectura diseminada en la pgina 1576.
escenario de verificacin de instalacin. Secuencia de operaciones que realiza las principales funciones
de DB2 Universal Database y prueba si DB2 se ha instalado correctamente.
escribir a operador (WTO). Servicio opcional codificado por el usuario que permite escribir un mensaje
para el operador de la consola del sistema para informarle de errores y condiciones poco habituales del
sistema que pueden necesitar correccin.
E/S en paralelo. Proceso de leer o escribir en dos o ms dispositivos de E/S al mismo tiempo para
reducir el tiempo de respuesta.
espacio de datos. En DB2 Universal Database para OS/390, espacio, cuyo tamao est en un rango de
0 bytes a 2 gigabytes menos 1 byte, de direcciones de almacenamiento virtual contiguo que un programa
puede manipular directamente. A diferencia de un espacio de direcciones, un espacio de datos slo
puede contener datos; no contiene reas comunes, datos del sistema ni programas.
espacio de direcciones. Memoria real utilizada por un programa activo. Vase tambin agrupacin de
almacenamientos intermedios en la pgina 1526.
espacio de direcciones aliado. rea de almacenamiento que es externa a DB2 Universal Database para
OS/390 y est conectada a l. Un espacio de direcciones aliado puede solicitar servicios de DB2
Universal Database para OS/390.
espacio de direcciones inicial. En un entorno OS/390 rea de almacenamiento que OS/390 reconoce
actualmente como despachado.
espacio de ndice. En DB2 Universal Database para OS/390, conjunto de pginas utilizado para
almacenar las entradas de un ndice.
espacio de tabla grande. Espacio de tabla que slo puede almacenar datos de serie larga, de objeto
grande (LOB) o de ndice.
espacio de tablas. (1) Concepto abstracto que designa un conjunto de contenedores en los que se
almacenan objetos de base de datos. Un espacio de tablas proporciona un nivel de direccionamiento
indirecto entre una base de datos y las tablas contenidas en ella. (2) Un espacio de tablas tiene espacio
en dispositivos de almacenamiento de soporte asignados a l. (3) Un espacio de tablas tiene tablas
creadas en l. Estas tablas ocupan espacio en los contenedores que pertenecen al espacio de tablas. Las
porciones de datos, ndice, campo largo y LOB de una tabla pueden almacenarse en el mismo espacio de
tablas o pueden dividirse individualmente en espacios de tablas independientes. (4) En DB2 Universal
Database para OS/390, conjunto de pginas utilizado para almacenar registros en una o ms tablas.
espacio de tablas base. En DB2 Universal Database para OS/390, espacio de tablas que contiene tablas
base.
espacio de tablas con espacio gestionado por el sistema (SMS). Espacio de tablas cuyo espacio est
gestionado por el sistema operativo. Este modelo de almacenamiento est basado en archivos creados en
subdirectorios y est gestionado por el sistema de archivos. Vase tambin espacio de tablas con
espacio gestionado por la base de datos.
espacio de tablas con espacio gestionado por la base de datos (DMS). Espacio de tablas cuyo espacio
est gestionado por la base de datos. Vase tambin espacio de tablas con espacio gestionado por el
sistema.
espacio de tablas de LOB. En DB2 Universal Database para OS/390, espacio de tablas que contiene
todos los datos para una columna de LOB determinada de la tabla base asociada.
espacio de tablas DMS. Vase espacio de tablas con espacio gestionado por la base de datos.
espacio de tablas habilitado para direccionabilidad ampliada. En DB2 Universal Database para
OS/390, espacio de tablas o espacio de ndice que est habilitado para la direccionabilidad ampliada y
que contiene particiones individuales (o partes, para espacios de tablas LOB) que tienen ms de 4
gigabytes de tamao.
espacio de tablas padre. En DB2 Universal Database para OS/390, espacio de tablas que contiene una
tabla padre. Un espacio de tablas que contiene un objeto dependiente de esa tabla es un espacio de
tablas dependiente.
espacio de tablas particionado. En un entorno OS/390, espacio de tablas subdividido en partes (de
acuerdo con el rango de la clave de ndice), cada una de las cuales puede ser procesada
independientemente mediante programas de utilidad.
espacio de tablas regular. Espacio de tablas que puede almacenar cualquier dato no temporal.
espacio de tablas segmentado. En DB2 Universal Database para OS/390, espacio de tablas dividido en
grupos de igual tamao de pginas llamados segmentos. Los segmentos se asignan a tablas de modo
que las filas de tablas diferentes no se almacenan nunca en el mismo segmento.
espacio de tablas simple. En DB2 Universal Database para OS/390, espacio de tablas que no est
particionado ni segmentado.
espacio de tablas SMS. Vase espacio de tablas con espacio gestionado por el sistema en la
pgina 1559.
espacio de tablas temporales. Espacio de tablas que slo puede almacenar tablas temporales.
espacio libre. Cantidad total de espacio no utilizado de una pgina. El espacio que no se utiliza para
almacenar registros ni informacin de control es espacio libre.
esquema. (1) Conjunto de objetos de bases de datos, por ejemplo tablas, vistas, ndices o
desencadenantes, que definen una base de datos. Un esquema de base de datos proporciona una
clasificacin lgica de objetos de base de datos. (2) En DB2 Universal Database para OS/390, agrupacin
lgica de funciones definidas por el usuario, tipos diferenciados, desencadenantes y procedimientos
almacenados. Cuando se crea un objeto de uno de estos tipos, se asigna a un esquema, que est
determinado por el nombre del objeto. (3) En Centro de depsito de datos, conjunto de tablas destino de
depsito y las relaciones existentes entre las columnas de esas tablas; las tablas destino pueden proceder
de uno o ms destinos de depsito.
esquema en estrella. Tipo de esquema de base de datos relacional utilizado por el Kit de iniciacin de
OLAP; a menudo se crea en el Centro de depsito de datos.
estabilidad del cursor (CS). Nivel de aislamiento que bloquea cualquier fila a la que tiene acceso una
transaccin de una aplicacin mientras el cursor est situado en la fila. El bloqueo permanece en vigor
hasta que se lee la fila siguiente o finaliza la transaccin. Si se cambian datos de una fila, el bloqueo se
mantiene hasta que el cambio se confirma en la base de datos. Vase tambin estabilidad de lectura,
lectura repetible en la pgina 1576 y lectura no confirmada (UR) en la pgina 1576.
estabilidad de lectura (RS). Nivel de aislamiento que bloquea solamente las filas que una aplicacin
recupera dentro de una transaccin. La estabilidad de lectura asegura que una fila que se est leyendo
durante una transaccin no sea cambiada por otros procesos de aplicacin hasta que haya finalizado la
transaccin y que una fila cambiada por otro proceso de aplicacin no se lea hasta que ese proceso
confirme el cambio. La estabilidad de lectura permite ms simultaneidad que la lectura repetible y
menos simultaneidad que la estabilidad de cursor. Vase tambin estabilidad del cursor, lectura
repetible en la pgina 1576 y lectura no confirmada (UR) en la pgina 1576.
estadsticas explicadas. Estadsticas para un objeto de base de datos al que se hizo referencia en una
sentencia de SQL cuando se explic la sentencia.
estadsticas modeladas. Estadsticas para un objeto de la base de datos al que se puede hacer referencia
o no en una sentencia de SQL, pero que sin embargo existe actualmente en un modelo de explicacin. El
objeto puede existir o no actualmente en la base de datos.
estado. En Centro de depsito de datos, fase de trabajo en curso de un paso de proceso, tal como
planificado, llenando con datos o satisfactorio.
estado de miembro. En DB2 Universal Database para OS/390, estado del miembro (subsistema) DB2
del grupo de compartimiento de datos.
estado de miembro anmalo. En DB2 Universal Database para OS/390, estado de un miembro
perteneciente a un grupo de compartimiento de datos. Cuando un miembro falla, XCF registra de forma
permanente el estado de miembro anmalo. Este estado suele significar que la tarea, espacio de
direcciones o sistema MVS del miembro han finalizado antes de que el estado cambiara de activo a
inmovilizado.
estado de miembro inmovilizado. En DB2 Universal Database para OS/390, estado de un miembro
perteneciente a un grupo de compartimiento de datos. Un miembro activo pasa a ser un miembro
inmovilizado cuando un mandato STOP DB2 surte efecto sin ningn error. Si la tarea, espacio de
direcciones o sistema OS/390 del miembro falla antes de que surta efecto el mandato, el estado del
miembro es anmalo.
estrategia de particionamiento basado en valor de clave. Mtodo para asignar filas de una tabla a
particiones de base de datos. Las filas se asignan basndose en los valores de las columnas de clave de
particionamiento.
estructura. Nombre que hace referencia de forma colectiva a diferentes tipos de objetos de DB2, por
ejemplo tablas, bases de datos, vistas, ndices y espacios de tablas.
estructura de antememoria. Una estructura de recurso de acoplamiento que almacena datos que
pueden estar disponibles para todos los miembros de un Parallel Sysplex. Un grupo de compartimiento
de datos de DB2 Universal Database para OS/390 utiliza estructuras de antememoria como agrupacin
de almacenamiento intermedio de grupo (agrupacin de almacenamientos intermedios de grupo en la
pgina 1526).
estructura de bloqueo. En DB2 Universal Database para OS/390, estructura de datos del recurso de
acoplamiento formada por una serie de entradas de bloqueo para dar soporte al bloqueo compartido y
exclusivo para recursos lgicos.
estructura de lista. En un entorno OS/390, estructura del recurso de acoplamiento que permite
compartir y manejar datos como elementos de una cola.
estructura referencial. En DB2 Universal Database para OS/390, conjunto de tablas y relaciones que
incluye como mnimo una tabla y, para cada tabla del conjunto, todas las relaciones en las que participa
la tabla y todas las tablas con las que est relacionada.
expansor de DB2. Programa que permite al usuario almacenar y recuperar tipos de datos tales como
imgenes, audio, vdeo y documentos complejos, adems de los datos tradicionales de tipo numrico o
de tipo carcter.
explicar. Capturar informacin detallada acerca del plan de acceso elegido por el compilador de SQL
para resolver una sentencia de SQL. La informacin describe los criterios de decisin utilizados para
elegir el plan de acceso.
exportar. Copiar datos de tablas del gestor de bases de datos a un archivo utilizando formatos tales
como PC/IXF, DEL, WSF o ASC. Vase tambin importar en la pgina 1571.
expresin CASE. Expresin que permite seleccionar otra expresin basndose en la evaluacin de una
o ms condiciones.
expresin de tabla. Expresin que crea una tabla resultante (temporal) a partir de una consulta simple.
Por ejemplo, una expresin de tabla puede ser una consulta que seleccione todos los directores de
diversos departamentos y adems especifique que stos deben tener ms 15 aos de experiencia y que
deben encontrarse en el laboratorio de Toronto. Vase tambin expresin de tabla comn.
expresin de tabla anidada. Seleccin completa en una clusula FROM (entre parntesis).
expresin de tabla comn. Expresin que define una tabla resultante con un nombre (identificador
calificado de SQL). Puede especificarse como un nombre de tabla en cualquier clusula FROM de la
seleccin completa que sigue a la clusula WITH. Vase expresin de tabla.
expresin de tabla comn recurrente. Expresin de tabla comn que hace referencia a s misma en una
clusula FROM de la seleccin completa. Las expresiones de tabla comn recurrentes se utilizan para
escribir consultas recurrentes.
expresin de valor de fila. En el entorno OS/390, lista de expresiones de valor entre parntesis y
separadas por coma.
F
factor de filtro. En DB2 Universal Database para OS/390, nmero comprendido entre cero y un valor
correspondiente a la proporcin de filas de una tabla para las cuales un predicado es verdadero. Se dice
que dichas filas se califican mediante ese predicado. Los factores de filtro afectan a la eleccin de las vas
de acceso calculando el nmero de filas calificadas por un conjunto de predicados.
familia de funciones. Conjunto de funciones con el mismo nombre de funcin. El contexto determina si
el uso hace referencia a un conjunto de funciones dentro de un esquema determinado o a todas las
funciones aplicables que tienen el mismo nombre dentro de la va de acceso de la funcin actual.
familia de vas de acceso de funcin. Todas las funciones del nombre especificado de todos los
esquemas identificados (o utilizados por omisin) en la va de acceso de funcin del usuario.
fase confirmada. En DB2 Universal Database, segunda fase del proceso de actualizacin de mltiples
ubicaciones que solicita a todos los participantes que confirmen los efectos de la unidad lgica de
trabajo.
fecha. Valor compuesto de tres partes que indica un da, un mes y un ao. Por ejemplo,
AAAA-MM-DD.
fetch. La sentencia FETCH coloca un cursor en la fila siguiente de su tabla resultante y asigna los
valores de dicha fila a las variables del lenguaje principal.
fila. Componente horizontal de una tabla que consta de una secuencia de valores, uno para cada
columna de la tabla.
fila dependiente. Fila que contiene una clave fornea que coincide con el valor de una clave padre de
la fila padre. El valor de la clave fornea representa una referencia desde la fila dependiente a la fila
padre.
fila descendiente. Fila dependiente de otra fila o que es descendiente de una fila dependiente.
fila fantasma. Fila de tabla que pueden leer los procesos de aplicacin que se estn ejecutando con
cualquier nivel de aislamiento excepto el de lectura repetible. Cuando un proceso de aplicacin emite la
misma consulta varias veces dentro de una sola unidad de trabajo, pueden aparecer filas adicionales
entre las consultas debido a los datos que estn insertando y confirmando los procesos de aplicacin que
se ejecutan simultneamente.
fila padre. Fila que tiene como mnimo una fila dependiente.
fsicamente completado. En DB2 Universal Database para OS/390, estado en el que el proceso de copia
concurrente ha finalizado y se ha creado el archivo de salida.
formato ASCII (ASC) no delimitado. Formato de archivo que se utiliza para importar datos. ASCII no
delimitado es un archivo ASCII secuencial con delimitadores de fila que se utiliza para el intercambio de
datos con cualquier producto ASCII.
fragmentacin. Separacin del ndice en partes independientes como resultado de las inserciones y
supresiones realizadas en el ndice.
fuente. En Centro de depsito de datos, tabla, vista o archivo que se utiliza como datos de entrada de
un paso de proceso. Vase tambin destino en la pgina 1553.
fuente de depsito. Subconjunto de tablas y vistas de una base de datos individual, o conjunto de
archivos, que se han definido para el Centro de depsito de datos.
fuente de duplicacin. Tabla o vista de base de datos que puede aceptar peticiones de copia y es la
tabla fuente de un conjunto de suscripcin. Vase tambin conjunto de suscripcin en la pgina 1544.
funcin. Correlacin, en forma de programa (cuerpo de la funcin), que se puede invocar por medio de
cero o ms valores de entrada (argumentos) para obtener un valor individual (resultado). Las funciones
puede estar definidas por el usuario, incorporadas o generadas por DB2. Vase tambin funcin de
columna en la pgina 1564 y funcin escalar en la pgina 1564.
funcin con fuente. Funcin implementada por otra funcin incorporada o definida por el usuario que
ya se conoce en el gestor de bases de datos. Esta funcin puede ser una funcin escalar o una funcin de
columna (de agregracin); devuelve un nico valor de un conjunto de valores (por ejemplo, MAX o
AVG). Vase tambin funcin externa, funcin definida por el usuario, funcin incorporada y
funcin SQL en la pgina 1565.
funcin de acceso. Funcin, proporcionada por el usuario, que convierte el tipo de datos del texto
almacenado en una columna a un tipo que puede ser procesado por el Text Extender.
funcin de base de datos. Relacin entre un conjunto de datos de entrada y un conjunto de valores de
resultado. Vase tambin funcin incorporada y funcin definida por el usuario.
funcin de columna. (1) Operacin que obtiene su resultado utilizando valores de una o ms filas. (2)
Funcin que realiza un clculo en un conjunto de valores en lugar de hacerlo en un valor individual.
Sinnimo de funcin agregada. Vase tambin funcin escalar y funcin de tabla.
funcin de conversin del tipo de datos. Funcin que se utiliza para convertir instancias de un tipo de
datos fuente en instancias de un tipo de datos de destino diferente. En general, una funcin de
conversin tiene el nombre del tipo de datos de destino y tiene un solo argumento cuyo tipo es el tipo
de datos fuente. El tipo devuelto es el tipo de datos de destino.
funcin de fila. Funcin que devuelve una fila de valores y debe definirse como una funcin de SQL.
funcin definida por el usuario (UDF). Funcin que se define en DB2 utilizando la sentencia CREATE
FUNCTION y a la que, a partir de ese momento, se puede hacer referencia en las sentencias de SQL.
Una funcin definida por el usuario puede ser una funcin externa (funcin SQL en la pgina 1565) o
una funcin de SQL (funcin SQL en la pgina 1565). Vase tambin funcin incorporada.
funcin de tabla. Funcin que recibe un conjunto de argumentos y devuelve una tabla a la sentencia
de SQL que hace referencia a la funcin. Slo se puede hacer referencia a una funcin de tabla en la
clusula FROM de una subseleccin. Vase tambin funcin de columna y funcin escalar.
funcin determinista. Funcin definida por el usuario cuyo resultado depende nicamente de los
valores de los argumentos de entrada. Las invocaciones sucesivas con los mismos valores de argumentos
producen siempre los mismos resultados.
funcin escalar. Operacin de SQL que produce un solo valor a partir de otro valor y se expresa como
un nombre de funcin seguido de una lista de argumentos encerrados entre parntesis. Vase tambin
funcin de columna y funcin de tabla.
funcin externa. Funcin cuyo cuerpo est escrito en un lenguaje de programacin que toma valores de
argumento escalares y produce un resultado escalar para cada invocacin. Vase tambin funcin con
fuente y funcin incorporada.
funcin incorporada. Funcin de SQL proporcionada por DB2 y que aparece en el esquema SYSIBM.
Vase tambin funcin definida por el usuario.
funcin no determinista. En DB2 Universal Database para OS/390, funcin definida por el usuario
cuyo resultado no depende nicamente de los valores de los argumentos de entrada. Invocaciones
sucesivas con los mismos valores de argumento pueden producir una respuesta diferente. Este tipo de
funcin se denomina a veces funcin variable (funcin variable). Una funcin determinista (funcin
determinista en la pgina 1564) produce siempre el mismo resultado para la misma entrada.
funcin no variable. Sinnimo de funcin determinista en la pgina 1564. Vase tambin funcin
variable.
funcin SQL. Funcin definida por el usuario en la que la sentencia CREATE FUNCTION contiene el
cdigo fuente. El cdigo fuente es una expresin individual de SQL que se evala en un valor
individual. La funcin de SQL definida por el usuario slo puede devolver un parmetro.
funcin variable. Funcin definida por el usuario cuyo resultado depende de los valores de los
parmetros de entrada as como de otros factores. Invocaciones sucesivas con los mismos valores de
parmetro pueden producir resultados diferentes. Vase tambin funcin no determinista en la
pgina 1564.
G
GBP (group buffer pool). Vase agrupacin de almacenamientos intermedios de grupo en la
pgina 1526.
Gestor de antememoria. En Net.Data, programa que gestiona una antememoria de una estacin de
trabajo individual. El Gestor de Antememoria puede gestionar varias antememorias.
gestor de bases de datos. Programa de software que gestiona datos proporcionando los servicios de
control centralizado, independencia de datos y estructuras fsicas complejas para lograr acceso,
integridad, recuperacin, control de simultaneidad, privacidad y seguridad eficaces.
gestor de comunicaciones rpido (fast communication manager, FCM). Grupo de funciones que
proporcionan soporte de comunicaciones entre nodos.
Gestor de conexiones. En Net.Data, archivo ejecutable, dtwcm que se necesita para soportar Live
Connection.
GIMSMP. En un entorno OS/390, nombre del mdulo de carga correspondiente a System Modification
Program/Extended, herramienta bsica utilizada para instalar, modificar y controlar cambios en sistemas
de programacin.
grabacin diferida. En DB2 Universal Database para OS/390, hace referencia al proceso de grabar
asncronamente en disco pginas de datos cambiadas.
gran objeto binario (BLOB). Secuencia de bytes con un tamao en un rango de 0 bytes a 2 gigabytes
menos 1 byte. Esta secuencia no tiene ninguna pgina de cdigos ni juego de caracteres asociados. Los
BLOB pueden contener datos de imagen, audio y vdeo. Vase tambin gran objeto de caracteres y
gran objeto de caracteres de doble byte.
gran objeto de caracteres (CLOB). Secuencia de caracteres (de un solo byte y/o de mltiples bytes) con
un tamao en un rango de 0 bytes a 2 gigabytes menos 1 byte. En general, los valores de los grandes
objetos de caracteres se utilizan siempre que una serie de caracteres puede exceder los lmites del tipo
VARCHAR. Tambin se denomina serie de gran objeto de caracteres. Vase tambin gran objeto
binario y gran objeto de caracteres de doble byte.
gran objeto de caracteres de doble byte (DBCLOB). Secuencia de caracteres de doble byte, con un
tamao en un rango de 0 bytes a 2 gigabytes menos 1 byte. Tipo de datos que se puede utilizar para
almacenar objetos grandes de texto de doble byte. Este tipo de serie de caracteres tiene siempre una
pgina de cdigos asociada. Vase tambin gran objeto binario y gran objeto de caracteres.
grupo. (1) Organizacin lgica de usuarios cuyos ID se establecen de acuerdo con la actividad o la
autorizacin de acceso a recursos. (2) En un entorno de satlite, conjunto de satlites que comparten
caractersticas, por ejemplo la configuracin de la base de datos y la aplicacin que se ejecuta en el
satlite.
grupo de almacenamiento. Conjunto de discos con nombre en el que se pueden almacenar datos de
DB2 Universal Database para OS/390.
grupo de nodos. Grupo, con un nombre asignado, de una o ms particiones de base de datos.
grupo de programas de depsito. En Centro de depsito de datos, contenedor (carpeta) que contiene
objetos de programa.
grupo de repeticin. Situacin en la que una entidad incluye mltiples atributos que son
inherentemente iguales. La presencia de un grupo de repeticin viola el requisito de la primera forma
normal. En una entidad que satisface el requisito de la primera forma normal, cada atributo es
independiente y exclusivo en su significado y su nombre. Vase tambin normalizacin en la
pgina 1585.
guin grfico. Resumen visual de una pelcula de vdeo. El Video Extender incluye caractersticas que
permiten identificar y almacenar fotogramas de vdeo que son representativos de las secuencias de una
pelcula de vdeo. Estos fotogramas representativos se pueden utilizar para crear un guin grfico.
H
habilitador de duplicacin mvil. Programa de duplicacin que inicia la modalidad de duplicacin
mvil en el cliente mvil.
habilitar. (1) Preparar una base de datos, una tabla de texto o una columna de texto para que la utilice
Text Extender. (2) Encender o activar.
hebra. (1) Estructura del gestor de bases de datos que describe la conexin de una aplicacin, rastrea su
proceso, procesa las funciones de recursos y delimita su posibilidad de acceso a los recursos y servicios
de DB2 Universal Database para OS/390. (2) En algunos sistemas operativos, unidad ms pequea de
operacin que debe efectuarse en un proceso. (3) Estructura de base de datos que describe la conexin
de una aplicacin, rastrea su proceso, procesa las funciones de recursos y delimita su posibilidad de
acceso a los recursos y servicios del gestor de bases de datos. La mayora de las funciones de DB2
Universal Database para OS/390 se ejecutan bajo una estructura de hebras. Vase tambin hebra
aliada y hebra de acceso a base de datos.
hebra aliada. Hebra que se origina en el subsistema local DB2 Universal Database para OS/390 y que
puede acceder a los datos de un subsistema remoto DB2 Universal Database para OS/390. Vase
tambin hebra.
hebra de acceso a base de datos. En DB2 Universal Database para OS/390, hebra que accede a datos
del sistema local por cuenta de un subsistema remoto. Vase tambin hebra aliada.
herencia. Transferencia de recursos o atributos de clase desde una clase padre a una clase hija, situada
en un nivel inferior de la jerarqua de clases.
herramienta DJRA. Herramienta de administracin de bases de datos que se puede utilizar para
realizar diversas tareas de administracin de duplicacin. A diferencia del Centro de Control, la
herramienta DJRA se puede utilizar para gestionar la duplicacin para bases de datos que no sean de
IBM. Vase tambin Centro de control en la pgina 1538.
hiperespacio. En un entorno OS/390, espacio, cuyo tamao est en un rango de 0 bytes a 2 gigabytes
menos 1 byte, de direcciones de almacenamiento virtual contiguo que un programa puede utilizar como
almacenamiento intermedio. Al igual que un espacio de datos, un hiperespacio puede contener datos de
usuario; no contiene reas comunes ni datos del sistema. A diferencia de un espacio de direcciones o de
un espacio de datos, los datos de un hiperespacio no son directamente direccionables. Para manejar los
datos de un hiperespacio, el usuario debe llevar los datos al espacio de direcciones en forma de bloques
de 4 KB.
hora. Valor de tres partes que indica la hora en horas, minutos y segundos.
hueco. Especifica que el cursor tiene sensibilidad a los cambios efectuados en la base de datos despus
de que se materialice la tabla resultante. El cursor siempre es sensible a las actualizaciones y supresiones
efectuadas utilizando el cursor (es decir, actualizaciones y supresiones posicionadas utilizando el mismo
cursor). Cuando el valor actual de una fila ya no satisface la sentencia-select o el nombre-sentencia,
dicha fila deja de estar visible mediante el cursor. Cuando una fila de la tabla resultante se suprime de la
tabla base subyacente, la fila deja de estar visible mediante el cursor. La sensibilidad del cursor a los
cambios realizados fuera de este cursor depende del hecho de que se utilice la sentencia SENSITIVE
FETCH o la sentencia INSENSITIVE FETCH. Vase tambin hueco de supresin y hueco de
actualizacin.
hueco de actualizacin. Posibilidad para otro proceso de aplicacin, o incluso del mismo proceso de
aplicacin, de actualizar una fila de la tabla base de la sentencia SELECT para que una fila del cursor ya
no tenga ninguna fila correspondiente en la tabla base. Aqu, puede existir un hueco de actualizacin.
Vase hueco. Vase tambin hueco de supresin.
hueco de supresin. Es posible que otro proceso de aplicacin o incluso el mismo proceso de
aplicacin suprima una fila de tabla base de la sentencia SELECT de modo que una fila del cursor ya no
tenga ninguna fila correspondiente en la tabla base. Aqu, existe efectivamente un hueco de supresin
y ya no se puede acceder a dicha fila mediante el cursor. Vase hueco. Vase tambin hueco de
actualizacin.
Hypertext Markup Language (HTML). Mtodo estndar para presentar datos a los usuarios de Web.
Las pginas Web estn diseadas utilizando cdigos HTML en el texto. Estos cdigos definen el diseo
de la pgina, los grficos y los enlaces de hipertexto en el documento y en otros documentos de Internet.
I
ICAPI (Internet Connection API). API de conexin a Internet.
IDCAMS. En un entorno OS/390, programa de IBM que se utiliza para procesar mandatos de los
servicios del mtodo de acceso. Se puede invocar como trabajo o paso de trabajo, desde un terminal TSO
o desde un programa de aplicacin del usuario.
ID de aplicacin. Es una serie exclusiva que se genera cuando la aplicacin se conecta a la base de
datos o cuando DB2 Connect recibe una peticin de conexin a una base de datos de Arquitectura de
bases de datos relacionales distribuidas (Arquitectura de Bases de Datos Relacionales Distribuidas en
la pgina 1531). Se genera un identificador cuando la aplicacin se conecta a la base de datos. Este ID es
conocido en el cliente y en el servidor y se puede utilizar para correlacionar las dos partes de la
aplicacin.
ID de autorizacin. (1) En una sentencia, serie de caracteres que designa un conjunto de privilegios. El
gestor de bases de datos utiliza este ID para comprobar autorizaciones y como calificador implcito de
los nombres de objetos, tales como tablas, vistas e ndices. (2) Serie que se puede verificar para la
conexin a DB2 Universal Database y a la que se aplica un conjunto de privilegios. Un identificador de
autorizacin puede representar un individuo, un grupo de organizacin o una funcin, pero DB2
Universal Database no determina esta representacin.
ID de autorizacin de SQL (ID de SQL). En DB2 Universal Database para OS/390, identificador de
autorizacin que se utiliza para comprobar sentencias de SQL dinmicas en algunas situaciones.
ID de conexin. En DB2 Universal Database para OS/390, identificador suministrado por el recurso de
conexin y que est asociado a una conexin especfica de espacio de direcciones.
ID de correlacin. En DB2 Universal Database para OS/390, identificador que est asociado a una
hebra determinada. En TSO, es un identificador de autorizacin o el nombre de trabajo.
ID de RED. Identificador de la red SNA donde reside la LU remota. Este ID de red es una serie de uno
a ocho dgitos que sigue el convenio de denominacin de SNA.
ID de SQL actual. Identificacin que, en un momento determinado, tiene los privilegios que se ejercen
cuando se ejecutan determinadas sentencias de SQL dinmicas. El ID de SQL actual puede ser un ID de
autorizacin primaria o un ID de autorizacin secundaria.
identificacin. Peticin que un programa de servicio de conexin (de un espacio de direcciones que
est separado de DB2 Universal Database para OS/390) emite mediante la interfaz del subsistema MVS
para informar de su existencia a DB2 Universal Database para OS/390 e iniciar el proceso de conexin a
DB2.
identificador de fila (ROWID). Valor que identifica de forma exclusivo una fila. Este valor se almacena
con la fila y no cambia.
identificador delimitado. Secuencia de caracteres entre comillas dobles (). La secuencia debe estar
formada por una letra seguida de cero o ms caracteres, que pueden ser una letra, un dgito o el carcter
de subrayado. Vase tambin identificador ordinario.
identificador de red (NID). En un entorno OS/390, identificador de red asignado por IMS o CICS o, si
el tipo de conexin es RRSAF, identificador de unidad de recuperacin (URID) de OS/390 RRS.
identificador de tabla. Calificador de nombres de columna que designa una determinada tabla objeto.
identificador de unidad lgica de trabajo (LUWID). En un entorno OS/390, nombre que identifica de
forma exclusiva una hebra dentro de una red. Este nombre consta de un nombre de red completamente
calificado de la LU, un nmero de instancia de LUW y un nmero de secuencia de LUW.
identificador ordinario. (1) En SQL, letra individual o seguida de caracteres, que pueden ser una letra
(a-z y A-Z), un smbolo, un nmero o el carcter de subrayado, utilizados para formar un nombre. (2)
En DB2 Universal Database para OS/390, letra mayscula seguida de cero o ms caracteres, cada uno de
los cuales es una letra mayscula, un nmero o el carcter de subrayado. Un identificador comn no
debe ser una palabra reservada. Vase tambin identificador delimitado.
IFCID (instrumentation facility component identifier). En DB2 Universal Database para OS/390,
identificador de componentes del recurso de instrumentacin.
IFI (instrumentation facility interface). En DB2 Universal Database para OS/390, interfaz del recurso
de instrumentacin.
imagen anterior. En el proceso de duplicacin de datos de DB2, contenido de un elemento de una tabla
fuente antes de una renovacin, tal como est registrado en una tabla de datos de cambios, en un
archivo de anotaciones de base de datos o en un diario. Vase tambin imagen-posterior.
implantador de funcin. En DB2 Universal Database para OS/390, identificador de autorizacin del
propietario del programa de funcin y del paquete de funcin.
importar. Copiar datos de un archivo externo, utilizando formatos tales como PC/IXF, DEL, WSF o
ASC, a las tablas del gestor de bases de datos. Vase tambin exportar en la pgina 1562.
importar metadatos. Proceso de trasladar metadatos al Centro de depsito de datos, ya sea de forma
dinmica (desde la interfaz de usuario) o por lotes.
independiente. En DB2 Universal Database para OS/390, objeto (fila, tabla o espacio de tablas) que no
es un objeto padre ni un objeto dependiente de otro.
indicacin de fecha y hora. Valor de siete partes que consta de una fecha y una hora expresadas en
aos, meses, das, horas, minutos, segundos y microsegundos.
indicador nulo. Columna (por posicin de byte) de un archivo ASCII no delimitado que contiene el
distintivo de indicador nulo en la pgina 1555 para los datos que se estn cargando en una columna
de tabla. El valor nulo puede ser cualquier entero positivo vlido.
ndice. Conjunto de punteros que estn ordenados lgicamente segn los valores de una clave. Los
ndices proporcionan un acceso rpido a los datos y pueden asegurar la unicidad en las filas de la tabla.
Cuando se solicita un ndice, el gestor de bases de datos crea la estructura y la mantiene
automticamente. El gestor de bases de datos utiliza el ndice para mejorar el rendimiento y asegurar la
exclusividad.
ndice auxiliar. En DB2 Universal Database para OS/390, ndice de una tabla auxiliar en la que cada
entrada de ndice hace referencia a un LOB. Vase tambin tabla auxiliar en la pgina 1613.
ndice con cluster. ndice cuya secuencia de valores de clave corresponde en gran medida a la
secuencia de filas almacenadas en una tabla. El grado con que se da esta correspondencia se mide
mediante estadsticas que utiliza el optimizador. Sinnimo de ndice de particionamiento.
ndice de mapa de particionamiento. Nmero asignado a una particin de hash o particin de rango.
ndice de particionamiento. ndice que determina cuntas filas se ordenan fsicamente en un espacio de
tablas particionado. Sinnimo de ndice con cluster.
ndice de unicidad. ndice que asegura que no se almacenen valores de clave idnticos en una tabla.
ndice primario. En DB2 Universal Database para OS/390, ndice que asegura la unicidad de una clave
primaria.
ndices de tipo 1. ndices que se han creado mediante un release de DB2 anterior a DB2 para
MVS/ESA Versin 4 o que estn especificados como ndices de tipo 1 en la Versin 4. En la fecha de
DB2 Universal Database para OS/390 Versin 7, los ndices de tipo 1 ya no se soportan. Vase tambin
ndices de tipo 2.
ndices de tipo 2. ndices creados en un release de DB2 posterior a DB2 para OS/390 Versin 6 o que
estn especificados como ndices de tipo 2 en la Versin 4 o Versin 6. Vase tambin ndices de tipo
1.
ndice sin particionamiento. En DB2 Universal Database para OS/390, cualquier ndice que no sea un
ndice de particionamiento. Por ejemplo, si se define un ndice sin particionamiento y un ndice de
particionamiento en la misma tabla, se pierden algunas de las ventajas de la independencia de nivel de
particin para las operaciones de programa de utilidad, porque el acceso a un ndice sin
particionamiento debe ser secuencial.
inhabilitar. Restaurar una base de datos, una tabla de texto o una columna de texto a la condicin que
tena antes de habilitarse para Text Extender eliminando los elementos creados durante el proceso de
habilitacin.
inicializacin del archivo de anotaciones. Primera fase del proceso de reinicio durante la cual DB2
Universal Database para OS/390 intenta localizar el fin actual del archivo de anotaciones.
inicio de sesin. Peticin que realiza un recurso de conexin en nombre de un proceso de aplicacin
CICS o IMS individual para permitir que DB2 Universal Database para OS/390 verifique si est
autorizado a utilizar recursos de DB2.
inmovilizar. Finalizar un proceso permitiendo que las operaciones se completen normalmente, mientras
se rechazan las peticiones de trabajo nuevas.
instalacin distribuida. Proceso mediante el cual se pueden instalar productos DB2 utilizando software
de gestin de sistemas, por ejemplo Microsoft Systems Management Server (SMS) en Windows NT o
Windows 2000, o simplemente con una unidad de CD-ROM compartida o una unidad disco duro de red
compartida utilizando archivos de respuestas. Tambin se conoce como instalacin silenciosa o
instalacin desatendida.
instancia. (1) Vase instancia de gestor de bases de datos. (2) Entorno lgico del servidor de
expansores de DB2. Puede haber varias instancias del servidor de expansores de DB2 en la misma
estacin de trabajo, pero una sola instancia para cada instancia de DB2.
instancia de gestor de bases de datos. (1) Entorno lgico del gestor de bases de datos similar a una
imagen del entorno real del gestor de bases de datos. Es posible tener varias instancias del producto
gestor de bases de datos en la misma estacin de trabajo. Estas instancias se utilizan para separar el
entorno de desarrollo del entorno de produccin, ajustar el gestor de bases de datos a un entorno
determinado y proteger informacin sensible. (2) Cdigo de DB2 que gestiona datos. Una instancia tiene
sus propias bases de datos (a las que otras instancias no pueden acceder) y todas las particiones de base
de datos comparten los mismos directorios del sistema. Tambin tiene seguridad independiente de otras
instancias de la misma mquina (sistema).
instantnea. Una instantnea es un registro del estado actual del entorno de base de datos. Vase
tambin instantnea de rendimiento en la pgina 1573 y 1562.
instantnea de explicacin. (1) Conjunto de informacin que se comprime cuando se explica una
sentencia de SQL. (2) Captura de la representacin interna actual de una consulta de SQL y de la
informacin relacionada. Esta informacin es necesaria para la herramienta Visual Explain.
instantnea de rendimiento. Datos de rendimiento para un conjunto de objetos de la base de datos que
se recuperan desde el gestor de bases de datos en un momento determinado.
integridad de comprobacin. Condicin que existe cuando cada fila de una tabla se ajusta a las
restricciones de comprobacin de tabla que se han definido en dicha tabla. Para mantener la integridad
de comprobacin es necesario que DB2 imponga restricciones de comprobacin de tabla en las
operaciones que aaden o cambian datos.
integridad de referencia. Estado de una base de datos en el que son vlidos todos los valores de todas
las claves forneas. Para mantener la integridad de referencia es necesario imponer las restricciones de
referencia en la pgina 1604 en todas las operaciones que cambian los datos de una tabla en la que se
definen dichas restricciones.
Interactive System Productivity Facility (ISPF). En un entorno OS/390, programa bajo licencia de IBM
que proporciona servicios de dilogo interactivo. Estos paneles permiten al usuario realizar la mayora
de las tareas de DB2 de forma interactiva.
inters de lectura/escritura inter-DB2. En DB2 Universal Database para OS/390, propiedad de los
datos de un espacio de tablas, ndice o particin que ha sido abierto por ms de un miembro de un
grupo de compartimiento de datos y que se ha abierto para escribir por parte de uno de estos miembros
como mnimo.
interfaz administrativa del Centro de depsito de datos. Interfaz de usuario existente con las
funciones administrativas del Centro de depsito de datos. La interfaz slo puede residir en el servidor
del Centro de depsito de datos o en mquinas diferentes correspondientes a varios administradores.
interfaz de archivos planos. Conjunto de funciones incorporadas de Net.Data que permiten leer y
grabar datos de archivos de texto corrientes.
interfaz de nivel de llamada (CLI). API que se puede llamar para acceder a una base de datos que
constituye una alternativa a una API de SQL incorporado. A diferencia del SQL incorporado, la CLI no
necesita precompilarse o enlazarse a una base de datos, sino que, en lugar de ello, proporciona un
conjunto estndar de funciones para procesar sentencias de SQL y servicios relacionados en la ejecucin.
Vase tambin Interfaz de nivel de llamada de DB2.
Interfaz de nivel de llamada (CLI) de DB2. La aplicacin utiliza un conjunto estndar de funciones
para procesar sentencias de SQL y servicios relacionados en la ejecucin. No tiene que precompilarse o
enlazarse.
interfaz de programacin de aplicaciones (API). (1) Interfaz funcional proporcionada por el sistema
operativo o por un programa bajo licencia adquirible por separado. La API permite que un programa de
aplicacin escrito en un lenguaje de alto nivel utilice datos o funciones determinados del sistema
operativo o de los programas bajo licencia. (2) En DB2, las API permiten realizar la mayora de las
funciones administrativas desde dentro de un programa de aplicacin.
Interfaz remota de aplicaciones de bases de datos (DARI). Trmino obsoleto para procedimiento
almacenado en la pgina 1594.
internal resource lock manager (IRLM). Componente de DB2 Universal Database para OS/390. Cada
subsistema DB2 debe tener su propia instancia del IRLM (gestor de bloqueos de recursos interno). El
IRLM funciona con DB2 para controlar el acceso a los datos. DB2 solicita bloqueos al IRLM para
asegurar la integridad de los datos cuando las aplicaciones, los programas de utilidad y los mandatos
intentan acceder a los mismos datos.
Internet Protocol (Protocolo Internet - IP). En un entorno Internet, protocolo utilizado para encaminar
datos desde su fuente hasta su destino. Vase tambin Transmission Control Protocol/Internet
Protocol en la pgina 1620.
Internetwork Packet Exchange (IPX). Protocolo de datagramas sin conexin que se utiliza en un
entorno de LAN NetWare para transferir datos a un nodo remoto. IPX intenta siempre enviar los
paquetes de datos, pero no asegura la entrega fiable de los datos.
intervalo de control. En VSAM, espacio fijo de almacenamiento de acceso directo en el cual VSAM
almacena registros y crea espacio libre distribuido. En un archivo ordenado por clave, un intervalo de
control es el conjunto de registros a los que apunta una entrada del registro de ndice. El intervalo de
control es la unidad de informacin que se intercambia entre VSAM y el almacenamiento de acceso
directo. Un intervalo de control incluye siempre un nmero entero de registros fsicos.
intervalo libre de vuelta atrs. Conjunto de registros de anotacin cronolgica que no estn
compensados si la transaccin termina anormalmente. Vase vuelta atrs en la pgina 1626.
inversin de bytes. Tcnica en la cual los datos numricos se almacenan con el byte menos
significativo ocupando el primer lugar.
invocacin de funcin. Uso de una funcin junto con los valores argumento que se pasan al cuerpo de
la funcin. La funcin se invoca por su nombre.
IRLM (internal resource lock manager). Vase internal resource lock manager.
J
JCL. Vase lenguaje de control de trabajos en la pgina 1576.
Job Entry Subsystem (JES). Programa bajo licencia de IBM que recibe trabajos en el seno del sistema y
procesa los datos de salida producidos por los trabajos.
juego de caracteres codificados. Conjunto de normas no ambiguas que definen un juego de caracteres
y las relaciones biunvocas entre los caracteres del juego y sus representaciones codificadas.
juego de caracteres de doble byte (DBCS). Juego de caracteres en el que cada carcter est
representado por dos bytes. Estos juegos de caracteres los utilizan normalmente los idiomas nacionales
como, por ejemplo, el japons y el chino, que tienen ms smbolos de los que pueden representarse
mediante un solo byte. Vase tambin juego de caracteres de un solo byte y juego de caracteres de
mltiples bytes.
juego de caracteres de mltiples bytes (MBCS). Juego de caracteres en el que cada carcter est
representado por 2 o ms bytes. Los juegos de caracteres que slo utilizan dos bytes se conocen ms
comnmente como juegos de caracteres de doble byte. Vase tambin ASCII en la pgina 1531, juego
de caracteres de un solo byte, EBCDIC en la pgina 1556 y Unicode en la pgina 1621.
juego de caracteres de un solo byte (SBCS). Juego de caracteres en el que cada carcter se representa
mediante un cdigo de un solo byte. Vase tambin juego de caracteres de doble byte y juego de
caracteres de mltiples bytes.
juego de caracteres invariable. (1) Juego de caracteres, por ejemplo el juego de caracteres sintcticos,
cuyas asignaciones de elementos de cdigo no cambian de una pgina de cdigos a otra. (2) Conjunto
mnimo de caracteres que est disponible como parte de todos los juegos de caracteres. Vase tambin
juego de caracteres sintcticos.
K
Kerberos . Protocolo de autenticacin de red que est diseado para proporcionar autenticacin potente
para aplicaciones cliente/servidor utilizando criptografa de clave secreta. Vase tambin certificado de
Kerberos en la pgina 1538.
L
Language Environment. Mdulo que proporciona acceso desde una macro de Net.Data a una fuente de
datos externa, tal como DB2, o a un lenguaje de programacin, tal como Perl.
LCID (log control interval definition). En un entorno OS/390, definicin del intervalo de control del
registro cronolgico.
lectura diseminada. Mtodo del gestor de bases de datos para leer pginas de datos contiguas de disco
en partes discontiguas de memoria. Vase tambin E/S basada en bloque en la pgina 1558.
lectura no confirmada (UR). Nivel de aislamiento que permite a una aplicacin acceder a cambios no
confirmados de otras transacciones. La aplicacin no bloquea otras aplicaciones fuera de la fila que est
leyendo, a no ser que la otra aplicacin intente eliminar o modificar la tabla. Vase tambin lectura
repetible, estabilidad del cursor en la pgina 1560 y estabilidad de lectura en la pgina 1560.
lectura repetible (RR). Nivel de aislamiento que bloquea todas las filas de una aplicacin a las que se
hace referencia en una transaccin. Cuando un programa utiliza la proteccin de lectura repetible, las
filas a las que hace referencia el programa no pueden ser modificadas por otros programas hasta que el
programa finaliza la transaccin actual. Vase tambin estabilidad de lectura en la pgina 1560,
lectura no confirmada (UR) y estabilidad del cursor en la pgina 1560.
Lenguaje de Consulta Estructurada (Structured Query Language - SQL). Lenguaje estandarizado para
definir y manipular datos de una base de datos relacional.
lenguaje de control de trabajos (JCL). Lenguaje de control que se utiliza para identificar un trabajo
ante un sistema operativo y describir los requisitos del trabajo.
lenguaje de definicin de datos (data definition language - DDL). Lenguaje para describir datos y sus
relaciones en una base de datos.
lenguaje de marcacin extensible (extensible markup language - XML). Lenguaje de cdigos basado
en texto utilizado para el proceso de documentos y para publicar informacin en la Web.
lenguaje principal. Cualquier lenguaje de programacin donde el usuario puede intercalar sentencias
de SQL.
lmite de sesiones. En SNA, nmero mximo de sesiones activas simultneas de unidad lgica a
unidad lgica (LU-LU) a las que puede dar soporte una unidad lgica determinada.
lista. Tipo de objeto, que los programas de utilidad de DB2 pueden procesar, que identifica mltiples
espacios de tablas y/o mltiples espacios de ndice. Una lista se define con la sentencia de control de
programa de utilidad LISTDEF.
lista de mandatos. Lenguaje que DB2 Universal Database para OS/390 utiliza para realizar tareas de
TSO.
lista de pginas lgicas (LPL). En DB2 Universal Database para OS/390, lista de pginas errneas a las
que no pueden hacer referencia las aplicaciones hasta que se recuperen las pginas. La pgina tiene un
error lgico, aunque puede que el soporte de almacenamiento real (recurso de acoplamiento o DASD) no
contenga ningn error. Generalmente, se ha perdido una conexin con el soporte de almacenamiento.
lista de paquetes. En DB2 Universal Database para OS/390, lista ordenada de nombres de paquetes
que se pueden utilizar para ampliar un plan de aplicacin.
lista enumerada. En el entorno OS/390, conjunto de objetos DB2 que se definen con una sentencia de
control del programa de utilidad LISTDEF en la que se utilizan caracteres que coinciden con un patrn
(*, % o ?).
LISTCAT de IDCAMS. En un entorno OS/390, recurso para obtener informacin que est contenida en
el catlogo de los servicios del mtodo de acceso.
Live Connection. Componente de Net.Data que consta de un Gestor de conexiones y mltiples clientes.
Live Connection gestiona la reutilizacin de las conexiones de base de datos y de mquina virtual Java.
llamada de IFI. En DB2 Universal Database para OS/390, invocacin de la interfaz del recurso de
instrumentacin (IFI) por medio de una de sus funciones definidas.
local. Forma de hacer referencia a cualquier objeto mantenido por el subsistema local. Por ejemplo, en
DB2 Universal Database para OS/390, un tabla local es una tabla mantenida por el subsistema DB2
local. Vase tambin remoto en la pgina 1602.
localizador de conjunto resultante. Valor de 4 bytes que DB2 Universal Database para OS/390 utiliza
para identificar exclusivamente al conjunto resultante de una consulta devuelto por un procedimiento
almacenado.
localizador de LOB. Mecanismo que permite que un programa de aplicacin maneje un valor de objeto
grande en el sistema de base de datos. Un localizador LOB es un valor de smbolo simple que
representa un solo valor de LOB. Un programa de aplicacin recupera un localizador de LOB en una
variable del lenguaje principal y entonces puede aplicar las funciones de SQL al valor de LOB asociado
utilizando el localizador.
localizador de tabla. En DB2 Universal Database para OS/390, mecanismo que permite acceder a tablas
de transicin de activacin de la clusula FROM de sentencias SELECT, la subseleccin de sentencias
INSERT o desde funciones definidas por el usuario. Un localizador de tabla es un valor entero de
palabra completa que representa una tabla de transicin.
localizador uniforme de recursos (uniform resource locator - URL). Direccin Web, que ofrece un
modo de nombrar y localizar elementos especficos en la Web.
longitud de registro. Suma de la longitud de todas las columnas de una tabla, que es la longitud de los
datos tal como estn fsicamente almacenados en la base de datos. Los registros pueden tener una
longitud fija o variable, en funcin de cmo se definan las columnas. Si todas las columnas son de
longitud fija, el registro es de longitud fija. Si una o varias columnas tienen una longitud variable, el
registro tiene una longitud de columna variable.
LRH (log record header). Vase cabecera de fila lgica en la pgina 1535.
LRSN (log record sequence number). Vase nmero de secuencia de registro de anotaciones en la
pgina 1586.
M
mandato. (1) Modo de ejecutar funciones de administracin de base de datos para acceder al gestor de
bases de datos y mantenerlo. (2) En DB2 Universal Database para OS/390, mandato de operador o
submandato de DSN. Un mandato es diferente de una sentencia de SQL. Vase mandato de DB2.
mandato de DB2. Instruccin al sistema operativo para acceder y mantener el gestor de bases de datos.
Por ejemplo, los mandatos de DB2 permiten a un usuario iniciar o detener una base de datos y
visualizar informacin sobre los usuarios actuales y el estado de las bases de datos.
mquina de sistema principal. (1) En una red de sistemas, sistema que proporciona servicios tales
como proceso, acceso a bases de datos y funciones de control de la red. (2) Sistema primario o de control
en una instalacin que consta de varios sistemas.
marcador. Indicador del valor actual de un elemento. Vase tambin contador en la pgina 1544.
marcador de parmetro. Signo de interrogacin (?) que aparece en una serie de una sentencia de SQL
dinmica. El signo de interrogacin puede aparecer donde podra haber una variable de lenguaje
principal si la sentencia fuera una sentencia de SQL esttico.
marcador de parmetro con tipo. Marcador de parmetro que se especifica junto con su tipo de datos
de destino. Tiene el formato general: CAST (? AS tipo-datos).
marcador de parmetros sin tipo. Marcador de parmetros que se especifica sin su tipo de datos de
destino. Adopta la forma de un signo de interrogacin individual.
materializar. (1) En DB2 Universal Database para OS/390, proceso de colocacin de filas de una vista o
expresin de tabla anidada en un archivo de trabajo para su proceso adicional por una consulta. (2)
Colocacin de un valor de LOB en almacenamiento contiguo. Debido a que los valores LOB pueden ser
muy grandes, DB2 Universal Database para OS/390 evita materializar datos LOB hasta que no sea
absolutamente necesario.
mensajes de notificacin de administracin. Errores, avisos y mensajes informativos escritos por DB2,
los programas Capture y Apply y las aplicaciones de usuario en un archivo de notificacin o una
anotacin cronolgica de sucesos.
men. En DB2 Universal Database para OS/390, lista visualizada de funciones que puede seleccionar el
el operador. A veces se denomina panel de men.
metadatos. Datos que describen las caractersticas de datos almacenados; datos descriptivos. Por
ejemplo, los metadatos de una tabla de base de datos pueden contener el nombre de la tabla, el nombre
de la base de datos donde reside la tabla, los nombres de las columnas de la tabla y las descripciones de
columnas, ya sea en trminos tcnicos o comerciales. Los catlogos de base de datos y los catlogos de
informacin contienen metadatos.
metadatos comerciales. Datos que describen recursos de informacin en trminos comerciales. Los
metadatos comerciales se almacenan en el catlogo de informacin y los usuarios acceden a ellos para
buscar e interpretar la informacin que necesitan. Por ejemplo, los metadatos comerciales para un
programa contendrn una descripcin de lo que hace el programa y de las tablas que utiliza. Vase
tambin metadatos tcnicos.
metadatos de definicin. En Centro de depsito de datos, informacin sobre el formato del depsito de
datos (el esquema), las fuentes de los datos y las transformaciones aplicadas al cargar los datos.
metadatos tcnicos. En Centro de depsito de datos, datos que describen los aspectos tcnicos de los
datos, tales como el tipo y la longitud de su base de datos. Los metadatos tcnicos incluyen informacin
sobre el origen de los datos y las reglas utilizadas para extraer, depurar y transformar los datos. Gran
parte de los metadatos del Centro de depsito de datos son tcnicos. Vase tambin metadatos
comerciales.
mtodo de acceso secuencial bsico (basic sequential access method - BSAM). Mtodo de acceso que
DB2 Universal Database para OS/390 utiliza para almacenar o recuperar bloques de datos en una
secuencia continua, utilizando un dispositivo de acceso secuencial o de acceso directo. Vase tambin
mtodo de acceso secuencial en cola.
mtodo de acceso secuencial en cola (QSAM). Versin ampliada del mtodo de acceso secuencial
bsico en la pgina 1579 (BSAM). Cuando se utiliza este mtodo, se forma una cola de bloques de datos
de entrada que estn a la espera de ser procesados, o una cola de bloques de datos de salida que estn a
la espera de ser transferidos a almacenamiento auxiliar o a un dispositivo de salida.
mtrica de rendimiento. Conjunto de todas las variables de rendimiento que pertenecen al mismo
objeto de base de datos.
miembro. (1) En DB2 Universal Database, miembro de conjunto de suscripcin. (2) En el Kit de
iniciacin de OLAP, mtodo para hacer referencia a datos mediante tres o ms dimensiones. Un valor de
datos individual de una tabla factual es la interseccin de un miembro de cada dimensin.
miembro de compartimiento de datos. Subsistema de DB2 Universal Database para OS/390 que est
asignado a un grupo de compartimiento de datos por los servicios de XCF.
migracin. (1) Proceso de trasladar datos desde un sistema a otro sin convertir los datos. (2) Instalacin
de una versin o un release nuevo de un programa para sustituir una versin o release anterior.
modalidad. En Centro de depsito de datos, fase de desarrollo de un paso de proceso, tal como
desarrollo, prueba o produccin.
modalidad de bloqueo. Representacin del tipo de acceso que pueden tener programas en ejecucin
simultnea para un recurso bloqueado por DB2 Universal Database para OS/390.
modalidad de duplicacin mvil. Modalidad de duplicacin en la que los programas Capture y Apply
operan cuando es necesario en lugar de hacerlo de forma autnoma y continua. Esta modalidad se
invoca desde el cliente mvil y permite reproducir datos cuando el cliente mvil est disponible para
conectarse al servidor fuente o destino.
mdulo de carga. Unidad de programa que se puede cargar en almacenamiento principal para su
ejecucin. Es la salida de un editor de enlaces.
mdulo de peticin de base de datos (database request module - DBRM). Miembro de archivo creado
por el precompilador de DB2 Universal Database para OS/390 y que contiene informacin sobre
sentencias de SQL. Los DBRM se utilizan en el proceso de enlace lgico.
motor de base de datos. Parte del gestor de bases de datos que proporciona las funciones base y los
archivos de configuracin necesarios para utilizar la base de datos.
MPP (massively parallel processsing). Vase programa de proceso de mensajes en la pgina 1595 o
proceso masivamente paralelo en la pgina 1595.
multidimensional. En el Kit de iniciacin de OLAP, mtodo para hacer referencia a datos mediante tres
o ms dimensiones. Un valor de datos individual de una tabla factual es la interseccin de un miembro
de cada dimensin. Vase tambin dimensin comercial en la pgina 1554 y dimensin en la
pgina 1554.
MVS. Multiple Virtual Storage es el sistema operativo principal utilizado en los sistemas principales de
IBM. Este sistema operativo gestiona grandes cantidades de memoria y espacio en disco.
N
NAU. Vase unidad direccionable de red en la pgina 1621.
navegador. (1) Funcin de Text Extender que permite visualizar texto en un monitor de sistema. (2)
Programa que permite a los usuarios examinar datos pero no cambiarlos.
Network Information Service (NIS/NIS+). En AIX, registro central de contraseas, nodos, etc que se
puede utilizar con DB2 Administration Server (DAS) en la administracin de nombres de usuarios y
grupos.
nivel de aislamiento. (1) Caracterstica de seguridad que determina cmo se bloquean los datos para
otros procesos mientras se est accediendo a ellos. Vase tambin REPEATABLE READ, READ
STABILITY, CURSOR STABILITY y UNCOMMITTED READ. (2) Atributo que define el grado de
aislamiento de un proceso de aplicacin respecto a otros procesos de aplicacin que se ejecutan
simultneamente.
nodo. (1) En el proceso de particionamiento de una base de datos, sinnimo de particin de base de
datos en la pgina 1590. (2) En hardware, sistema uniprocesador o multiprocesador simtrico (SMP) que
forma parte de un sistema de clusters o de un sistema de proceso masivo en paralelo (MPP). Por
ejemplo, RS/6000 SP es un sistema MPP que consta de un nmero de nodos conectados mediante una
red de alta velocidad. (3) En comunicaciones, punto final de un enlace de comunicaciones o punto de
unin comn a dos o ms enlaces de una red. Los nodos pueden ser procesadores, controladores de
comunicaciones, controladores de clusters, terminales o estaciones de trabajo. Los nodos pueden variar
en su capacidad de direccionamiento y en otras caractersticas funcionales.
nodo de donde proceden los datos. En DB2 Universal Database para OS/390, nodo del rbol de
puntos de sincronismo que es responsable, adems de otros gestores de recuperacin o recursos, de
coordinar la ejecucin de una confirmacin en dos fases.
nodo de red de entrada limitada (nodo LEN). Nodo de tipo 2.1 que da soporte a protocolos LU
independientes, pero no da soporte a sesiones de CP-CP. Puede ser un nodo perifrico conectado a un
nodo de lmite en una red de subrea, un nodo final conectado a un nodo de red APPN en una red
APPN o un nodo conectado a igual directamente conectado a otro nodo LEN o nodo final APPN.
nodo de red intermedio. En APPN, nodo que forma parte de una ruta entre una unidad lgica fuente y
una unidad lgica de destino, pero que no contiene a ninguna de las dos ni acta como servidor de red
para ellas.
nodo de red (NN). En APPN, nodo de la red que proporciona servicios de directorios distribuidos,
intercambios de bases de datos de topologa con otros nodos de red APPN y servicios de
direccionamiento y sesin. Vase tambin Red avanzada de igual a igual en la pgina 1601.
nodo de sistema principal. En SNA, nodo de subrea que contiene un punto de control de servicios
del sistema (SSCP), por ejemplo un sistema IBM System/390 con MVS y VTAM.
nodo final. En APPN, nodo que soporta sesiones entre su punto de control local y el punto de control
de un nodo de red adyacente.
nodo lgico. Particin en un procesador que tiene ms de una particin asignada. Vase nodo.
nodos adyacentes. Dos nodos conectados entre s como mnimo por una ruta que no conecta a ningn
otro nodo.
nombre calificado por la red. Nombre por el que se conoce una LU en toda una red SNA
interconectada. Un nombre calificado por la red consta de un nombre de red que identifica la subred
individual y un nombre de LU de red. Los nombres calificados por la red son exclusivos en toda una
red interconectada. Tambin se denomina nombre de LU calificado por la red o nombre de LU totalmente
calificado.
nombre comercial. En el Centro de depsito de datos, nombre descriptivo que puede asociarse con un
objeto que tambin tiene un nombre fsico. Los tipos de objetos que pueden tener nombres comerciales
son las tablas, los archivos, las columnas o los campos. El nombre comercial puede utilizarse al realizar
una bsqueda. Tambin se pasa las herramientas del usuario final mediante los recursos de intercambio
de metadatos de depsito.
nombre de base de datos. Nombre(s) de identificacin que los usuarios proporcionan como parte del
mandato CREATE DATABASE o de la interfaz de programacin de aplicaciones. Estos nombres deben
ser exclusivos en la ubicacin en la que se han catalogado.
nombre de base de datos relacional (relational database name - RDBNAM). Identificador exclusivo
para un nombre de base de datos relacional en una red. En DB2 Universal Database para OS/390, debe
ser el valor de la columna LOCATION de la tabla SYSIBM.LOCATIONS de la base de datos de
comunicaciones. En las publicaciones de DB2 Universal Database para OS/390, se hace referencia al
nombre de otro RDBMS como valor de LOCATION o nombre de ubicacin.
nombre de correlacin. Identificador que designa una tabla o vista dentro de una sentencia de SQL
individual. Se puede definir en cualquier clusula FROM o en la primera clusula de una sentencia
UPDATE o DELETE.
nombre de definicin de datos (ddname). En DB2 Universal Database para OS/390, nombre de una
sentencia de definicin de datos (DD) que corresponde a un bloque de control de datos que contiene el
mismo nombre.
nombre de dispositivo. Nombre reservado por el sistema o un controlador de dispositivo que hace
referencia a un dispositivo especfico. Por ejemplo, el nombre de dispositivo de DOS para el puerto
paralelo es LPT1.
nombre de dominio. Nombre que las aplicaciones TCP/IP utilizan para hacer referencia a un sistema
principal TCP/IP dentro de una red TCP/IP. Un nombre de dominio consta de una secuencia de
nombres separados por puntos. Por ejemplo, www.ibm.com.
nombre de funcin especfico. (1) Nombre que identifica de forma exclusiva una funcin en el sistema.
Muchos nombres especficos pueden tener el mismo nombre de funcin. (2) En DB2 Universal Database
para OS/390, determinada funcin definida por el usuario que el gestor de bases de datos ya conoce por
su nombre especfico. Muchas funciones definidas por el usuario pueden tener el mismo nombre de
funcin. Cuando en la base de datos se define una funcin definida por el usuario, a cada funcin se le
asigna un nombre especfico que es exclusivo dentro del esquema de la funcin. El usuario puede
proporcionar este nombre o utilizar el valor por omisin.
nombre de funcin sobrecargado. Nombre de funcin para que el que existen varias funciones dentro
de un esquema o va de funcin. Las funciones que estn dentro del mismo esquema deben tener firmas
diferentes.
nombre del programa de transacciones. En conversaciones de LU 6.2 de SNA, nombre del programa
situado en la unidad lgica remota que ser el otro participante en la conversacin.
nombre de LU. En un entorno OS/390, nombre mediante el cual VTAM hace referencia a un nodo en
una red. Vase tambin nombre de ubicacin en la pgina 1585.
nombre de LU completamente calificado. Vase nombre calificado por la red en la pgina 1582.
nombre de modalidad. (1) En APPC, nombre que utiliza el iniciador de una sesin para designar las
caractersticas deseadas para la sesin, por ejemplo los lmites de longitud de los mensajes, el punto de
sincronismo, la clase de servicio dentro de la red de transporte y las caractersticas de retardo y
direccionamiento de la sesin. (2) En un entorno OS/390 nombre de VTAM para el conjunto de
caractersticas fsicas y lgicas y atributos de una sesin.
nombre de objeto de base de seguridad. Serie de caracteres de 48 bytes que contiene el nombre de un
objeto de base de seguridad del servidor de archivos NetWare. El campo de configuracin del gestor de
bases de datos, nombre de objeto, representa de forma exclusiva una instancia de servidor DB2 y se
almacena como un objeto en la base de seguridad de un servidor de archivos NetWare.
nombre de paquete. Nombre de un objeto que se crea mediante el mandato BIND, PRECOMPILE o
REBIND. El objeto es una versin enlazada de un mdulo de peticin de base de datos (DBRM). El
nombre consta de un nombre de ubicacin, un ID de coleccin, un ID de paquete y un ID de versin.
nombre de plan. En DB2 Universal Database para OS/390, nombre de un plan de aplicacin.
nombre de principal. Nombre por el que se conoce un principal en los servicios de seguridad de DCE
(Distributed Computing Environment).
nombre de punto de control. Nombre calificado de red de un punto de control que consta de un
calificador de identificador de red que identifica la red a la que pertenece el nodo de punto de control.
Vase punto de control en la pgina 1597.
nombre de recurso genrico. En un entorno OS/390, nombre que VTAM utiliza para representar varios
programas de aplicacin que proporcionan la misma funcin a fin de gestionar la distribucin y el
equilibrado de sesiones en un entorno Parallel Sysplex.
nombre de red. En SNA, nombre simblico mediante el cual los usuarios finales hacen referencia a una
unidad direccionable de red (NAU), una estacin de enlace o un enlace.
nombre de servicio. Nombre que proporciona un mtodo simblico para especificar el nmero de
puerto que se debe utilizar en un nodo remoto. Para identificar una aplicacin, la conexin TCP/IP
necesita la direccin del nodo remoto y el nmero de puerto que se debe utilizar en el nodo remoto.
nombre de subsistema por omisin (DSN). (1) Nombre del procesador de mandatos TSO de DB2
Universal Database para OS/390, obtenido de los mdulos y las macros. (2) Especifica el nombre del
subsistema DB2 que puede conectarse al servidor de control. El valor por omisin para el nombre de
subsistema es DSN. Este parmetro deber ser el primero.
nombre de tres partes. Nombre completo de una tabla, vista o seudnimo. Consta de un nombre de
ubicacin, un identificador de autorizacin y un nombre de objeto, separados por puntos.
nombre de ubicacin. Nombre mediante el cual DB2 Universal Database para OS/390 hace referencia a
un subsistema DB2 determinado dentro de una red de subsistemas. Vase tambin nombre de LU en
la pgina 1584.
nombre expuesto. Nombre de correlacin, tabla o nombre de vista especificado en una clusula FROM
para la que no se ha especificado ningn nombre de correlacin.
nombre-parmetro. Identificador largo que designa un parmetro al que se puede hacer referencia en
un procedimiento o una funcin definida por el usuario.
NULLIF. En DB2 Universal Database para OS/390, funcin escalar que evala dos expresiones pasadas
y devuelve NULL si los argumentos son iguales o el valor del primer argumento si no lo son.
nmero de coma flotante de precisin doble. En SQL, representacin aproximada de un nmero real
en forma de 64 bits.
nmero de planificacin de aplicacin de origen (OASN). En un entorno OS/390 con IMS, nmero de
4 bytes que se asigna secuencialmente a cada planificacin de IMS a partir del ltimo arranque en fro
de IMS. El OASN se utiliza como identificador para una unidad de trabajo. En un formato de 8 bytes,
los 4 primeros bytes contienen el nmero de planificacin y los 4 ltimos bytes contienen el nmero de
puntos de sincronismo de IMS (puntos de confirmacin) durante la planificacin actual. El OASN forma
parte del NID para una conexin a IMS.
nmero de secuencia del registro de anotaciones (LRSN). Nmero que DB2 Universal Database para
OS/390 genera y asocia a cada registro de anotaciones. El LRSN tambin se utiliza para crear versiones
de pginas. Los LRSN generados por un grupo de compartimiento de datos de DB2 Universal Database
para OS/390 forman una secuencia estrictamente creciente para cada archivo de anotaciones DB2 y una
secuencia estrictamente creciente para cada pgina del grupo de compartimiento de datos.
O
OASN . Vase nmero de planificacin de aplicacin de origen en la pgina 1585.
OBID (data object identifier). En DB2 Universal Database para OS/390, identificador de objeto de
datos.
objeto. (1) Cualquier elemento que se pueda crear o manipular con SQLpor ejemplo, tablas, vistas,
ndices o paquetes. (2) En la programacin o el diseo orientado a objetos, abstraccin que consta de
datos y operaciones asociadas con dichos datos. (3) En NetWare, entidad que est definida en la red y
por tanto se le otorga acceso al servidor de archivos.
objeto de base de datos. (1) Asociacin en una base de datos a cualquier elemento que se pueda
supervisar. (2) Cualquier elemento que se pueda crear o manipular con SQL. Por ejemplo, tablas, vistas,
ndices, paquetes, desencadenantes o espacios de tablas.
objeto de bloqueo. Recurso controlado por un bloqueo de DB2 Universal Database para OS/390.
objeto grande (LOB). Secuencia de bytes con un tamao en un rango de 0 bytes a 2 gigabytes menos 1
byte. Puede ser de uno de estos tres tipos: gran objeto binario en la pgina 1566 (binario), gran objeto
de caracteres en la pgina 1566 (carcter de un solo byte o mixto) o gran objeto de caracteres de doble
byte en la pgina 1566 (carcter de doble byte).
obtener pgina (getpage). Operacin en la que DB2 Universal Database para OS/390 accede a una
pgina de datos.
OLAP (online analytical processing). Vase proceso analtico en lnea en la pgina 1594.
Opcin de compartimiento de tiempo (Time-Sharing Option - TSO). Este proceso es necesario para
enlazar paquetes y planes de aplicaciones y para ejecutar varias funciones en lnea que se proporcionan
con DB2 Universal Database para OS/390. Mediante el uso del recurso de conexin TSO, puede acceder
a DB2 ejecutando en primer plano o en proceso por lotes.
opcin de control de vista. En DB2 Universal Database para OS/390, opcin que especifica si cada fila
que se inserta o actualiza mediante una vista debe cumplir con la definicin de esa vista. Se puede
especificar una opcin de control de vista en las clusulas WITH CASCADED CHECK OPTION, WITH
CHECK OPTION o WITH LOCAL CHECK OPTION de la sentencia CREATE VIEW.
Open Database Connectivity (ODBC). API que permite acceder a sistemas de gestin de bases de
datos utilizando SQL invocable, el cual no necesita la utilizacin de un preprocesador de SQL. La
arquitectura ODBC permite a los usuarios aadir mdulos, denominados controladores de bases de datos,
que durante la ejecucin enlazan la aplicacin con sistemas seleccionados de gestin de bases de datos.
No es necesario enlazar directamente las aplicaciones con los mdulos de todos los sistemas de gestin
de bases de datos soportados.
operacin de SQL desencadenante. Operacin de SQL que hace que se active un desencadenante
cuando se realiza en la tabla sujeto.
operador. Accin que debe realizarse en los datos o en la salida de una tabla o un ndice, cuando se
ejecuta el plan de acceso para una sentencia de SQL.
operador de comparacin. Los operadores de comparacin son < (no menor que), <= (menor que o
igual a), = (no igual a), = (igual a), >= (mayor que o igual a), > (mayor que) y > (no mayor que).
Vase tambin operador de infijo.
operador de conjunto. Los operadores UNION, EXCEPT e INTERSECT de SQL correspondientes a los
operadores relacionales de unin, diferencia e interseccin. Un operador de conjunto obtiene una tabla
resultante combinando otras dos tablas resultantes.
operador lgico. Palabra clave que especifica cmo deben evaluarse varias condiciones de bsqueda
(AND, OR) o si se debe invertir el sentido lgico de una condicin de bsqueda (NOT).
optimizador. Componente del compilador de SQL que elige un plan de acceso para una sentencia de
lenguaje de manejo de datos modelando el coste de ejecucin de muchos planes de acceso alternativos y
eligiendo el que tiene el coste mnimo estimado.
orden de clasificacin. Secuencia en la que se ordenan los caracteres con el fin de clasificar, fusionar,
comparar y procesar datos indexados de forma secuencial.
orientacin de fetch. Especificacin de la colocacin deseada del cursor como parte de una sentencia
FETCH (por ejemplo BEFORE, AFTER, NEXT, PRIOR, CURRENT, FIRST, LAST, ABSOLUTE y
RELATIVE). Vase tambin desplazamiento en la pgina 1553.
P
pgina. (1) Bloque de almacenamiento dentro de una tabla o ndice cuyo tamao es de 4096 bytes (4
KB). (2) Unidad de almacenamiento en un espacio de tabla (4 KB, 8 KB, 16 KB o 32 KB) o un espacio de
ndice (4 KB). En un espacio de tablas, una pgina contiene una o ms filas de una tabla. En un espacio
de tabla LOB, un valor de LOB puede incluir ms de una pgina, pero no se almacena ms de un valor
de LOB en una pgina.
pgina no terminal. Pgina que contiene claves y nmeros de pgina de otras pginas del ndice
(pginas terminales o no terminales). Las pginas no terminales nunca apuntan a datos reales. Vase
tambin pgina terminal en la pgina 1588.
pgina raz. En DB2 Universal Database para OS/390, pgina de un conjunto de pginas de ndice que
sigue a la primera pgina de correlacin del espacio de ndice. Una pgina raz es el nivel ms alto (o
punto inicial) del ndice.
pgina terminal. Pgina que contiene pares de claves y RID y que apunta a datos reales. Vase tambin
pgina no terminal en la pgina 1587.
palabra clave. (1) Una de las palabras predefinidas de un sistema, lenguaje de mandatos o aplicacin.
(2) Nombre que identifica una opcin utilizada en una sentencia de SQL.
palabra reservada. (1) Palabra que se utiliza en un programa fuente para describir una accin que debe
efectuar el programa o compilador. No debe aparecer en el programa como nombre definido por el
usuario o nombre del sistema. (2) Palabra que se ha dejado aparte para uso especial en el estndar de
SQL.
panel. En DB2 Universal Database para OS/390, imagen de pantalla predefinida que define las
ubicaciones y caractersticas de los campos de pantalla en una superficie de visualizacin (por ejemplo,
un panel de men).
paquete. Estructura de control generada durante la preparacin de un programa que se utiliza para
ejecutar sentencias de SQL.
paquete. En la comunicacin de datos, secuencia de dgitos binarios, incluidos los datos y las seales
de control, que se transmite y conmuta como un todo compuesto.
paquete de desencadenante. Paquete que se crea cuando se ejecuta una sentencia CREATE TRIGGER.
El paquete se ejecuta cuando se activa el desencadenante.
paquete de funcin. En DB2 Universal Database para OS/390, paquete que resulta de enlazar el DBRM
para un programa de funcin.
paquete no operativo. Paquete que no se puede utilizar porque se han eliminado una funcin de la que
depende. Un paquete de este tipo debe volverse a enlazar lgicamente de forma explcita. Vase tambin
paquete no vlido.
paquete no vlido. Paquete que deviene no vlido cuando se elimina un objeto del que depende dicho
paquete. (El tipo del objeto es distinto de funcin; por ejemplo, un ndice). Un paquete de este tipo se
vuelve a enlazar de forma implcita cuando se invoca. Vase tambin paquete no operativo.
paralelismo CP de consulta. En DB2 Universal Database para OS/390, ejecucin en paralelo de una
consulta individual, que se lleva a cabo utilizando varias tareas. Vase paralelismo de consulta de
Sysplex.
paralelismo de consulta de Sysplex. Ejecucin en paralelo de una consulta individual que se realiza
utilizando varias tareas en ms de un subsistema de DB2 Universal Database para OS/390. Vase
tambin paralelismo CP de consulta.
paralelismo de E/S de consulta. En DB2 Universal Database para OS/390, acceso en paralelo a datos,
que se lleva a cabo activando varias peticiones de E/S dentro de una consulta individual
paralelismo entre consultas. Posibilidad de mltiples aplicaciones de consultar una base de datos al
mismo tiempo. Cada consulta se ejecuta de forma independiente de las dems, pero DB2 las ejecuta
todas al mismo tiempo. Vase tambin paralelismo intraconsulta.
paralelismo entre particiones. Operacin individual de la base de datos (por ejemplo la creacin de
ndice) que se ejecuta en paralelo entre las particiones de una base de datos particionada. Vase tambin
paralelismo intraparticin.
paralelismo intraconsulta. Capacidad de procesar al mismo tiempo partes de una consulta individual
utilizando el paralelismo intraparticin, el paralelismo entre particiones o ambos.
paralelismo intraparticin. Subdivisin de una sola operacin de la base de datos (por ejemplo la
creacin de ndice) en varias partes, que se ejecutan entonces en paralelo en una sola particin de la base
de datos. Vase tambin paralelismo entre particiones.
Parallel Sysplex. Conjunto de sistemas OS/390 que se comunican entre s y trabajan conjuntamente
mediante determinados componentes de hardware y servicios de software multisistema.
parmetro de configuracin. Conjunto de limitaciones que se ponen en los valores de los recursos
disponibles para una instancia de base de datos o una base de datos.
parmetro de configuracin de base de datos. (1) Archivo que se crea al crear la instancia del gestor de
bases de datos. La mayora de los parmetros afectan a la cantidad de recursos del sistema que se
asignarn a una sola instancia del gestor de bases de datos o configuran la puesta a punto del gestor de
bases de datos y los diferentes subsistemas de comunicaciones basndose en consideraciones acerca del
entorno. (2) Serie de parmetros que no se pueden cambiar y que son slo informativos. Todos estos
parmetros tienen una aplicabilidad global independiente de cualquier base de datos individual
almacenada bajo dicha instancia del gestor de bases de datos.
par substituto. En el entorno OS/390, representacin codificada de un carcter individual que consta
de una secuencia de dos valores Unicode, donde el primer valor del par es un substituto alto en el
rango de U+D800 a U+DBFF y el segundo valor es un substituto bajo en el rango de U+DC00 a
U+DFFF. Los pares substitutos proporcionan un amplio mecanismo para codificar 917.476 caracteres sin
necesidad de utilizar caracteres de 32 bits.
particionamiento hash. Mtodo de particionamiento en el que se aplica una funcin hash (de clculo
aleatorio) al valor de clave de particionamiento para determinar la particin de base de datos a la que se
asigna la fila.
particin de base de datos. En un entorno de base de datos particionada, parte de la base de datos que
consta de sus propios datos de usuario, ndices, archivos de configuracin y anotaciones cronolgicas de
transacciones.
particin de catlogo. (1) Particin de base de datos en la que residen las tablas de catlogo. La
particin de catlogo puede ser una particin diferente para cada base de datos. (2) En un entorno de
base de datos particionada, particin de base de datos donde residen las tablas de catlogo para la base
de datos. La particin de catlogo de cada base de datos puede residir en una particin diferente de la
instancia.
particin de datos. En un entorno OS/390, archivo VSAM que est contenido en un espacio de tablas
particionado.
particin de ndice. Parte de un ndice que est asociada con una particin de tabla en una particin de
base de datos determinada. Un ndice definido en una tabla se implementa mediante mltiples
particiones de ndice, una por cada particin de tabla.
particin lgica. En DB2 Universal Database para OS/390, conjunto de pares clave-RID en un ndice
sin particionamiento que estn asociados a una particin determinada.
particin lgica de ndice. En DB2 Universal Database para OS/390, conjunto de todas las claves que
hacen referencia a la misma particin de datos.
participante. En un entorno OS/390, entidad distinta del coordinador de confirmacin que interviene
en el proceso de confirmacin. Sinnimo de agente en SNA.
paso. En Centro de depsito de datos, operacin individual sobre datos perteneciente a un proceso de
depsito. En la mayora de los casos, un paso de proceso comprende una fuente de depsito, una
descripcin de la transformacin o movimiento de datos y un destino. Un paso puede ejecutarse de
acuerdo con una planificacin o puede realizarse en cascada (cascada en la pgina 1537) desde otro
paso.
paso a travs. En un sistema de bases de datos federado, recurso mediante el cual los usuarios se
pueden comunicar con fuentes de datos utilizando el lenguaje SQL de la fuente de datos.
pendiente. Estado de una unidad de recuperacin que indica que los cambios efectuados por la misma
en recursos recuperables de DB2 Universal Database para OS/390 son dudosos y deben aplicarse al
soporte de almacenamiento DASD o cancelarse, segn determine el coordinador de confirmacin.
pendiente de recuperacin de conjunto de pginas (PSRCP). En DB2 Universal Database para OS/390,
estado restrictivo de un espacio de ndice en el cual se debe recuperar el conjunto de pginas completo.
La recuperacin de una parte lgica est prohibida.
pendiente de recuperacin lgica (LRECP). En DB2 Universal Database para OS/390, estado en el cual
los datos y las claves de ndice que hacen referencia a los datos son incoherentes.
pendiente de reinicio (RESTP). En DB2 Universal Database para OS/390, estado restrictivo de un
conjunto de pginas o particin que indica que debe efectuarse un trabajo de reinicio (retrotraccin) en
el objeto. Se rechaza todo el acceso al conjunto de pginas o particin, salvo el acceso mediante el
mandato RECOVER POSTPONED o mediante la retrotraccin en lnea automtica, que DB2 Universal
Database para OS/390 invoca despus del reinicio si el parmetro del sistema LBACKOUT es igual a
AUTO.
pendiente de REORG (REORP). En DB2 Universal Database para OS/390, condicin que limita el
acceso de SQL y la mayor parte del acceso de los programas de utilidad a un objeto que debe
reorganizarse.
perfil de cliente. Perfil usado para configurar clientes utilizando la funcin de importacin (Import) en
el Client Configuration Assistant. Puede contener informacin de conexin de base de datos, valores de
cliente, parmetros comunes de CLI u ODBC y datos de configuracin para subsistemas de
comunicaciones APPC o NetBIOS locales. Vase tambin perfil de servidor.
perfil de entorno. Script que se proporciona con Text Extender que contiene valores para variables de
entorno.
perfil de informacin complementaria de CPI-C. En SNA, perfil que especifica las caractersticas de
conversacin que se deben utilizar al asignar una conversacin con un programa de transacciones
remoto. Este perfil es utilizado por los programas de transacciones locales que se comunican mediante
CPI-C (interfaz comn de programacin para comunicaciones). El perfil especifica el nombre de LU
remota (el nombre del perfil de conexin donde est el nombre de LU remota), el nombre de modalidad
y el nombre del programa de transacciones remoto.
perfil de servidor. Perfil que contiene informacin acerca de las instancias de servidor de un sistema y
de las bases de datos de cada instancia de servidor. Vase tambin perfil de cliente.
persistencia. En Net.Data, estado de mantener un valor asignado para una transaccin completa,
cuando una transaccin abarca varias invocaciones de Net.Data. Slo pueden ser persistentes las
variables. Adems, las operaciones sobre recursos afectados por el control de confirmacin se mantienen
activas hasta que se realiza una confirmacin o retrotraccin, o hasta que finaliza la transaccin.
peticionario. (1) Origen de una peticin para acceder a datos en un servidor remoto. Asimismo, el
sistema que solicita los datos. Para DB2 Universal Database para OS/390, la funcin de peticionario la
proporciona el recurso de datos distribuidos para acceder a un RDBMS remoto. En funcin del nivel de
protocolo DRDA utilizado, un peticionario puede describirse como un peticionario de aplicaciones
peticionario de aplicaciones. Componente de un sistema remoto que genera peticiones DRDA de datos
en nombre de la aplicacin. Un peticionario de aplicaciones accede a un servidor de bases de datos DB2
utilizando el protocolo dirigido por aplicacin DRDA. Vase tambin servidor de aplicaciones en la
pgina 1607.
peticin de conexin remota. En DB2 Universal Database para OS/390, peticin efectuada por una
ubicacin remota para conectarse al subsistema DB2 local. Especficamente, la peticin enviada es una
cabecera 5 de gestin de funcin de SNA.
peticin distribuida. En un sistema de bases de datos federado, consulta de SQL dirigida hacia dos o
ms fuentes de datos.
pila. rea de la memoria que almacena informacin temporal de registros, parmetros y direcciones de
retorno de subrutinas.
plan de acceso. Conjunto de vas de acceso que el optimizador selecciona para evaluar una sentencia
de SQL determinada. El plan de acceso especifica el orden de las operaciones para determinar el plan de
ejecucin, los mtodos de implementacin (por ejemplo, JOIN) y la va de acceso de cada tabla
mencionada en la sentencia.
plan de aplicacin. Estructura de control que se crea durante el proceso de enlace lgico. DB2
Universal Database para OS/390 utiliza el plan de aplicacin para procesar las sentencias de SQL que
encuentra durante la ejecucin de sentencias.
planificador de trabajos. Programa utilizado para automatizar determinadas tareas con el fin de
ejecutar y gestionar trabajos de base de datos.
plantilla de funcin. En una base de datos federada, funcin parcial que no tiene cdigo ejecutable. El
usuario correlaciona la plantilla de funcin con una funcin de fuente de datos, de forma que sta se
pueda invocar desde el servidor federado.
poltica CFRM. En DB2 Universal Database para OS/390, declaracin efectuada por un administrador
de MVS con respecto a las normas de asignacin de una estructura de recurso de acoplamiento.
PPT. (1) En CICS, programa de proceso. (2) En OS/390, tabla de propiedades de programa.
precaptacin secuencial. Mecanismo que desencadena operaciones de E/S asncronas consecutivas. Las
pginas se cargan antes de que sean necesarias y se leen varias pginas en una sola operacin de E/S.
precisin. En los tipos de datos numricos, nmero total de dgitos binarios o decimales, excluido el
signo. El signo se considera positivo si el valor de un nmero es cero.
precompilar. Procesar programas que contienen sentencias de SQL antes de compilarlos. Las sentencias
de SQL se sustituyen por sentencias que sern reconocidas por el compilador del lenguaje principal. La
salida de un proceso de precompilacin incluye cdigo fuente que se puede someter al compilador y
utilizar en el proceso de enlace de programas.
predicado. Elemento de una condicin de bsqueda que expresa o implica una operacin de
comparacin.
predicados de bsqueda por ndice. Predicados de SQL que se aplican a entradas de ndice, en pginas
terminales de ndice, para reducir el nmero de entradas de ndice que califican la peticin de SQL.
Estos predicados ayudan a disminuir el nmero de filas de datos accedidas.
prefijo de mandato. En DB2 Universal Database para OS/390, identificador de mandato que tiene de 1
a 8 caracteres. El prefijo de mandato permite diferenciar si el mandato pertenece a una aplicacin o
subsistema, en lugar de a OS/390.
preparar. (1) Convertir una sentencia de SQL del formato de texto a un formato ejecutable,
sometindola al compilador de SQL. (2) Primera fase de un proceso de confirmacin de dos fases en la
cual se solicita a todos los participantes que se preparen para la confirmacin.
principal. Entidad que puede comunicarse de forma segura con otra entidad. En Kerberos, los
principales se representan como entradas de la base de datos de registro de Kerberos e incluyen
usuarios, servidores, sistemas y otros elementos.
privilegio. (1) Derecho a tener acceso a un objeto especfico de la base de datos de un modo especfico.
Estos derechos los controlan los usuarios con autorizacin SYSADM (administrador del sistema),
autorizacin DBADM (administrador de bases de datos) o los creadores de los objetos. Por ejemplo,
derechos tales como crear, suprimir y seleccionar datos de las tablas. (2) En DB2 Universal Database para
OS/390, posibilidad de llevar a cabo una funcin especfica, a veces en un objeto especfico. Vase
tambin privilegio explcito y privilegio implcito en la pgina 1594.
privilegio de propiedad. Privilegio de CONTROL que permite todos los privilegios para el objeto de
datos de propiedad. Vase privilegio.
privilegio explcito. Privilegio que tiene un nombre y se ostenta como resultado de sentencias GRANT
y REVOKE de SQL, por ejemplo, el privilegio SELECT. Vase privilegio. Vase tambin privilegio
implcito en la pgina 1594.
privilegio implcito. (1) Privilegio asociado a la posesin de un objeto, tal como el privilegio para
eliminar un sinnimo que es propiedad del usuario o la posesin de una autorizacin, tal como el
privilegio de la autorizacin SYSADM para interrumpir cualquier trabajo de programa de utilidad. (2) Se
otorga a un usuario que tiene el privilegio de ejecutar un paquete en objetos de datos utilizados en el
paquete que no necesitan que se les otorgue privilegios explcitos. Vase privilegio en la pgina 1593.
Vase tambin privilegio explcito en la pgina 1593.
procedimiento almacenado. (1) Programa de aplicacin, que posiblemente contiene sentencias de SQL,
que se puede invocar con la sentencia CALL de SQL. (2) Programa de aplicacin escrito por el usuario
que se puede iniciar mediante el uso de la sentencia CALL de SQL.
procedimiento de campo. En DB2 Universal Database para OS/390, rutina de salida escrita por el
usuario que est diseada para aceptar un valor individual y transformarlo (codificarlo o descodificarlo)
del modo que especifique el usuario.
procedimiento SQL. Programa de aplicacin escrito en SQL que se puede invocar con la sentencia
CALL de SQL. Vase tambin procedimiento externo.
Procesador de lnea de mandatos (CLP). Interfaz basada en caracteres que sirve para entrar sentencias
de SQL y mandatos del gestor de bases de datos.
proceso. (1) En Centro de depsito de datos, serie de pasos, que normalmente acta sobre datos fuente,
y que convierte datos de su forma original a una forma propicia para el soporte de decisiones. Un
proceso del Centro de depsito de datos consta habitualmente de una o ms fuentes, uno o ms pasos y
uno ms destinos. (2) Unidad a la que el gestor de bases de datos asigna recursos y bloqueos. Un
proceso que incluye la ejecucin de uno o ms programas. La ejecucin de una sentencia de SQL est
siempre asociada con un proceso. La forma de iniciar y la forma de finalizar un proceso dependen del
entorno. Sinnimo de proceso de aplicacin.
proceso analtico en lnea (online analytical processing - OLAP). En el Kit de iniciacin de OLAP,
entorno de proceso cliente/servidor, multidimensional y multiusuario, diseado para los usuarios que
necesitan analizar datos comerciales globales en tiempo real.
proceso de notificacin. Proceso creado por el Centro de depsito de datos que contiene todos los
pasos de proceso creados para notificacin cuando finaliza un paso de proceso.
proceso de publicacin de metadatos. Proceso creado por el Centro de depsito de datos que contiene
todos los pasos para mantener los metadatos publicados sincronizados con los metadatos originales.
proceso de registro. En el proceso de duplicacin de datos de DB2, proceso de definir una fuente de
duplicacin. Vase tambin proceso de suscripcin en la pgina 1595.
proceso paralelo de E/S. Modalidad de proceso de E/S en la que DB2 Universal Database para OS/390
inicia varias peticiones simultneas para una consulta individual del usuario y ejecuta el proceso de E/S
simultneamente (en paralelo) en varias particiones de datos.
programa Apply. En el proceso de duplicacin de datos de DB2, programa que se utiliza para renovar
o actualizar una tabla destino, de acuerdo con las reglas que rigen la relacin fuente-destino. Vase
tambin programa Capture, desencadenante de Capture en la pgina 1552, tabla de destino en la
pgina 1615 y tabla fuente en la pgina 1616.
programa Capture. En el proceso de duplicacin de datos de DB2, programa que lee registros de
anotaciones de base de datos o de diario para captar datos acerca de cambios efectuados en tablas fuente
de DB2. Vase tambin programa Apply y desencadenante de Capture en la pgina 1552.
programacin del extremo del servidor. Mtodo para aadir datos de DB2 en pginas Web dinmicas.
Common Gateway Interface (CGI), los programas de API de servidor Web y las servlets Java son tres
tipos comunes de programas del extremo del servidor.
programa definido por el usuario. Programa que un usuario proporciona y define para el Centro de
depsito de datos, a diferencia de los programas proporcionados con el Centro de depsito de datos,
que se definen automticamente.
programa de instalacin. Programa que prepara un paquete de software para ejecutarlo en el sistema.
Generalmente, durante la instalacin, se copia y se deja un componente del programa de configuracin
en la unidad de disco duro para permitir al usuario personalizar los valores por omisin del programa.
programa del Centro de depsito de datos. Programa, proporcionado con el Centro de depsito de
datos, que se puede iniciar desde el Centro de depsito de datos y que se define automticamente, por
ejemplo, los programas de carga y transformadores de DB2.
programa de lenguaje principal. Programa escrito en un lenguaje principal que contiene sentencias de
SQL intercaladas.
programa de proceso de mensajes (MPP). En un entorno OS/390 con IMS, programa de proceso de
mensajes. Por ejemplo, los programas de aplicacin que contienen sentencias de SQL se ejecutan en el
programa de proceso de mensajes (MPP), el programa de mensajes de proceso por lotes (BMP), las
regiones de Va de acceso rpida o las regiones de proceso por lotes IMS.
programa de transacciones (TP). Programa de aplicacin que utiliza APPC para comunicarse con un
programa de aplicacin asociado.
Programa de utilidad DBA. Herramienta que permite a los usuarios de DB2 configurar bases de datos
e instancias del gestor de bases de datos, gestionar los directorios necesarios para acceder a bases de
datos locales y remotas, copiar y recuperar bases de datos o espacios de tablas y gestionar soportes de
almacenamiento en un sistema utilizando una interfaz grfica. Se puede acceder a las tareas
proporcionadas por esta herramienta desde el Centro de control.
programa de utilidad db2setup. Programa de utilidad utilizado para guiar a los usuarios durante el
proceso de instalacin utilizando una interfaz y ayuda en lnea. Este programa de utilidad de
configuracin puede crear o asignar grupos e ID de usuarios, crear una instancia de DB2 e instalar
mensajes del producto. Se proporcionan valores por omisin para todos los parmetros de instalacin
necesarios.
programa de utilidad de carga. Programa de utilidad no transaccional que efecta actualizaciones por
bloques de datos de tabla. Vase tambin programa de utilidad de importacin y programa de
utilidad de exportacin.
programa de utilidad de exportacin. Programa de utilidad con transacciones que extrae datos de una
tabla. Vase tambin programa de utilidad de importacin y programa de utilidad de carga.
programa de utilidad de importacin. Programa de utilidad de transacciones que inserta en una tabla
datos de registro proporcionados por el usuario. Vase tambin programa de utilidad de carga y
programa de utilidad de exportacin.
programa fuente. Conjunto de sentencias de lenguaje principal y de sentencias de SQL que son
procesadas por un precompilador de SQL.
programas de utilidad regulados. Programas de utilidad que tienen puesto un lmite en los recursos
que, de lo contrario, consumiran. El grado al que estn limitados los recursos se basa en la carga de
trabajo actual del sistema. Las programas de utilidad soportados incluyen la copia de seguridad, la
restauracin y la reorganizacin de espacios de tablas.
propiedad. En el Centro de depsito de datos, caracterstica o atributo que describe una unidad de
informacin. Cada tipo de objeto tiene un conjunto de propiedades asociadas. Para cada objeto, se asigna
un conjunto de valores a las propiedades.
propiedad del Centro de depsito de datos. Atributo que se aplica entre sesiones del Centro de
depsito de datos, por ejemplo la base de datos de control de depsito que contiene los metadatos
tcnicos. Vase tambin propiedad.
propiedad de objeto. Propiedad que identifica una categora de informacin que est asociada a un
objeto. Se pueden asignar una o ms propiedades a un objeto de base de seguridad de NetWare. El
objeto de instancia del servidor de DB2 tiene una propiedad de objeto, NET_ADDR, que indica la
ubicacin del registro dentro del objeto.
propietario del paquete de funcin. En DB2 Universal Database para OS/390, identificador de
autorizacin del usuario que enlaza el DBRM del programa de funcin en un paquete de funcin.
protocol.ini. Archivo que contiene informacin de enlace lgico y configuracin de la LAN para todos
los mdulos de protocolo y del sistema de control de acceso al medio (MAC).
protocolos de sesin. En DB2 Universal Database para OS/390, conjunto disponible de peticiones y
respuestas de comunicaciones SNA.
PSRCP (page set recovery pending). Vase pendiente de recuperacin de conjunto de pginas en la
pgina 1591.
puerto TCP/IP. Valor de 2 bytes que identifica a un usuario final o a una aplicacin de red TCP/IP
dentro de un sistema principal TCP/IP.
punto de coherencia. Momento determinado en el que todos los datos recuperables a los que tiene
acceso un programa son coherentes. El punto de coherencia se produce cuando las actualizaciones,
inserciones y supresiones se confirman en la base de datos fsica o se retrotraen. Sinnimo de punto de
confirmacin. Vase tambin retrotraccin en la pgina 1604.
punto de confirmacin. Momento en el que se considera que los datos son coherentes.
punto de control. Punto en el que el gestor de bases de datos registra informacin de estado interna en
la anotacin cronolgica; el proceso de recuperacin utiliza esta informacin si el subsistema termina
anormalmente.
punto de control. (1) En APPN, componente de un nodo que gestiona los recursos de dicho nodo y
proporciona opcionalmente servicios a otros nodos de la red. Por ejemplo, un punto de control de
servicios del sistema (SSCP) en un nodo de tipo 5, un punto de control de unidad fsica (PUCP) en un
nodo de tipo 4, un punto de control de nodo de red (NNCP) en un nodo de red de tipo 2.1 (T2.1) y un
punto de control de nodo final (ENCP) en un nodo final T2.1. Un SSCP y un NNCP pueden
proporcionar servicios a otros nodos. (2) Componente de un nodo T2.1 que gestiona los recursos de
dicho nodo. Si el nodo T2.1 es un nodo APPN, el punto de control puede participar en sesiones de
punto de control a punto de control con otros nodos APPN. Si el nodo T2.1 es un nodo de red, el punto
de control tambin proporciona servicios a nodos finales adyacentes de la red T2.1. Vase tambin
unidad fsica en la pgina 1621 y nombre de punto de control en la pgina 1584.
punto de control de servicios del sistema (SSCP). Punto de control en una red SNA que proporciona
servicios de red para nodos dependientes.
punto de control por software. Proceso de escribir informacin en la cabecera del archivo de
anotaciones cronolgicas; esta informacin se utiliza para determinar el punto inicial del archivo de
anotaciones por si fuera necesario efectuar un reinicio de la base de datos.
punto de inmovilizacin. Punto en el que los datos son coherentes como resultado de la ejecucin del
programa de utilidad QUIESCE de DB2.
punto muerto. Condicin bajo la cual una transaccin no puede continuar porque es dependiente de
recursos exclusivos que estn bloqueados por otra transaccin, que a su vez es dependiente de recursos
exclusivos que estn siendo utilizados por la transaccin original.
Q
QBIC. Vase Query by Image Content.
QSAM (queued sequential access method). Vase mtodo de acceso secuencial en cola en la
pgina 1580.
Query by Image Content (Consulta por contenido de imagen - QBIC). Capacidad del Image Extender
que permite al usuario buscar imgenes de acuerdo con sus caractersticas visuales, tales como el
promedio de color y textura.
R
RACF. Vase Resource Access Control Facility en la pgina 1603.
rango de pginas errneas. Rango de pginas que se consideran fsicamente daadas. DB2 Universal
Database para OS/390 no permite que los usuarios accedan a ninguna pgina que est dentro de este
rango.
rastreo. Recurso de DB2 Universal Database para OS/390 que permite supervisar y reunir datos
(globales) de supervisin, auditora, rendimiento, contabilidad, estadsticas y disponibilidad referentes a
DB2 Universal Database para OS/390.
RCT (resource control table). En DB2 Universal Database para OS/390 junto con el recurso de
conexin CICS, es la tabla de control de recursos.
RDF (record definition field). En DB2 Universal Database para OS/390, campo de definicin de
registro.
reajuste de bloqueos. En el gestor de bases de datos, respuesta que se produce cuando el nmero de
bloqueos emitidos para un agente excede el lmite especificado en la configuracin de la base de datos;
el lmite se define mediante el parmetro de configuracin maxlocks. Durante un reajuste de bloqueos, se
liberan bloqueos convirtiendo los bloqueos sobre las filas de una tabla en un bloqueo individual sobre la
tabla. Esto se repite hasta que ya no se exceda el lmite.
rearranque condicional. Rearranque de DB2 Universal Database para OS/390 que est dirigido por un
registro de control de rearranque condicional (CRCR) definido por el usuario.
rechazo en cascada. En el proceso de duplicacin de datos de DB2, proceso de rechazar una transaccin
de duplicacin porque est asociada a una transaccin en la que se detect un conflicto y fue ella misma
rechazada.
reclamacin. En DB2 Universal Database para OS/390, notificacin al gestor de base de datos para
indicar que se est accediendo a un objeto. La reclamacin evita que se produzcan drenajes hasta que se
libere la reclamacin, lo cual ocurre habitualmente en un punto de confirmacin. Vase tambin
drenar en la pgina 1555.
reclamacin fsica. En DB2 Universal Database para OS/390, reclamacin sobre un ndice completo sin
particionamiento.
reclamacin lgica. En DB2 Universal Database para OS/390, reclamacin sobre una particin lgica de
un ndice sin particionamiento.
reconstruccin del estado actual. En DB2 Universal Database para OS/390, segunda fase del proceso
de rearranque durante la cual se reconstruye el estado del subsistema a partir de informacin del
archivo de anotaciones.
Recoverable Resource Manager Services (Servicios del gestor de recursos recuperables - RRSAF).
Recurso de conexin de Recoverable Resource Manager Services, que es un subcomponente de DB2
Universal Database para OS/390 que utiliza los OS/390 Transaction Management and Recoverable
Resource Manager Services para coordinar la confirmacin de recursos entre DB2 Universal Database
para OS/390 y todos los dems gestores de recursos que tambin utilizan OS/390 RRS en un sistema
OS/390.
RECP (recovery pending). En DB2 Universal Database para OS/390, recuperacin pendiente.
recuperacin. Proceso de reconstruccin de una base de datos que ha quedado inutilizable debido a
una anomala de hardware y/o software. El proceso incluye la restauracin de una imagen de copia de
seguridad y puede incluir la recuperacin en avance de tiempo de las anotaciones cronolgicas de base
de datos.
recuperacin ascendente mediante archivo de anotaciones. Cuarta y ltima fase del proceso de
reinicio durante la cual DB2 Universal Database para OS/390 explora el archivo de anotaciones en
sentido regresivo para aplicar registros UNDO para todos los cambios cancelados.
recuperacin ascendente mediante archivo de anotaciones. Tercera fase del proceso de reinicio durante
la cual DB2 Universal Database para OS/390 procesa el archivo de anotaciones en sentido ascendente
para aplicar todos los registros REDO del archivo.
recuperacin de desastre. Actividades que es necesario realizar para restaurar la base de datos en el
caso de incendio, terremoto, vandalismo u otros sucesos catastrficos. Normalmente, para realizar la
recuperacin de desastre es necesario restaurar la base de datos entera, de forma que cuando se produce
un desastre importante, se necesita una copia de seguridad de la base de datos entera en un sitio de
espera.
recuperacin de versin. Restauracin de una versin anterior de la base de datos, utilizando una
imagen que se ha creado durante una operacin de copia de seguridad. Vase recuperacin de
anomala. Vase tambin recuperacin en avance en la pgina 1600.
recuperacin en avance. Proceso utilizado para volver a crear una base de datos o un espacio de tablas
restaurado con el estado que tenan en un momento determinado aplicando los cambios registrados en
la anotacin cronolgica de base de datos en la pgina 1528.
recuperacin pendiente. Estado de la base de datos o del espacio de tablas. Una base de datos o un
espacio de tablas queda en estado de pendiente de recuperacin cuando se restaura desde una copia de
seguridad. Mientras la base de datos o el espacio de tablas est en este estado, no se puede tener acceso
a sus datos.
recurso. En DB2 Universal Database para OS/390, el objeto de un bloqueo o reclamacin, que puede
ser un espacio de tablas, un espacio de ndice, una particin de datos, una particin de ndice o una
particin lgica.
recurso de acoplamiento. En un entorno OS/390, particin lgica LPAR de PR/SM designada que
ejecuta el programa de control del recurso de acoplamiento y proporciona almacenamiento en
antememoria de alta velocidad, proceso de listas y funciones de bloqueo en un Parallel Sysplex.
recurso de auditora. Programa de utilidad que genera un seguimiento de registros de auditora para
una serie de sucesos predefinidos y supervisados de la base de datos.
recurso de conexin. Interfaz entre DB2 Universal Database para OS/390 y TSO, IMS, CICS o espacios
de direcciones de proceso por lotes. El recurso de conexin permite que los programas de aplicacin
accedan a DB2 Universal Database para OS/390.
recurso de conexin de CICS. Subcomponente de DB2 Universal Database para OS/390 que utiliza la
interfaz de subsistema (SSI) de MVS y el enlace entre almacenamientos para procesar peticiones de CICS
a DB2 Universal Database para OS/390 y coordinar la confirmacin de recursos.
recurso de conexin de IMS. Subcomponente de DB2 Universal Database para OS/390 que utiliza los
protocolos de interfaz de subsistema (SSI) OS/390 y el enlace entre memorias para procesar peticiones
de IMS a DB2 Universal Database para OS/390 y para coordinar la confirmacin de recursos.
recurso de conexin de llamada (call attachment facility - CAF). Recurso de conexin de DB2
Universal Database para OS/390 para programas de aplicacin que se ejecutan en proceso por lotes
MVS o TSO. CAF es una alternativa al procesador de mandatos DSN y proporciona un mayor control
sobre el entorno de ejecucin.
recurso de conexin de TSO. Recurso de DB2 Universal Database para OS/390 que consta del
procesador de mandatos DSN y DB2I. Las aplicaciones que no estn escritas para los entornos CICS ni
IMS se pueden ejecutar bajo el recurso de conexin de TSO.
recurso de datos distribuidos (distributed data facility - DDF). Conjunto de componentes de DB2
Universal Database para OS/390 mediante los cuales DB2 Universal Database para OS/390 se comunica
con otro RDBMS.
recurso del gestin del sistema (system management facility - SMF). DB2 Universal Database para
OS/390 utiliza SMF para las estadsticas, la informacin de contabilidad y los datos de rendimiento.
recurso de lmite de recursos (resource limit facility - RLF). Porcin del cdigo de DB2 Universal
Database para OS/390 que impide que las sentencias de manipulacin de SQL dinmico excedan los
lmites de tiempo especificados. Tambin se conoce como rutina de gobierno.
recurso de programa autorizado (authorized program facility - APF). En DB2 Universal Database para
OS/390, recurso que permite la identificacin de los programas que tienen autorizacin para utilizar
funciones restringidas.
recurso de rastreo generalizado (generalized trace facility - GTF). En un entorno OS/390, programa
de servicio que registra sucesos importantes del sistema, tales como interrupciones de E/S,
interrupciones de SVC, interrupciones de programa o interrupciones externas.
recurso de recuperacin ampliado (extended recovery facility - XRF). En un entorno OS/390, recurso
que minimiza el efecto de errores en MVS, VTAM, el procesador principal o en aplicaciones de alta
disponibilidad durante sesiones entre aplicaciones de alta disponibilidad y terminales seleccionados. Este
recurso proporciona un subsistema alternativo para hacerse cargo de las sesiones del subsistema
anmalo.
Red APPN. Conjunto de nodos de red interconectados y sus nodos clientes finales.
Red avanzada de igual a igual (APPN). Extensin de SNA que incluye control distribuido de la red,
definicin dinmica de recursos de red, y registro de recursos y bsqueda de directorios automticos.
Vase tambin Arquitectura de red de sistemas en la pgina 1531.
red SNA. Parte de la red de aplicaciones de usuario que se ajusta a los formatos y protocolos de la
Arquitectura de red de sistemas (SNA). Permite transferir datos entre usuarios de forma fiable y
proporciona protocolos para controlar los recursos de diversas configuraciones de red. La red SNA
consta de unidades direccionables de red (NAU), la funcin de pasarela, componentes de funcin de
direccionamiento de sesin intermedios y la red de transporte.
reenlace automtico. Proceso mediante el cual las sentencias de SQL se enlazan automticamente (sin
que un usuario emita un mandato BIND) cuando un proceso de aplicacin empieza la ejecucin y el
plan o paquete de aplicacin enlazado que es necesita no es vlido. Vase tambin enlace en la
pgina 1557 y reenlazar.
reenlazar. Creacin de un paquete para un programa de aplicacin que se enlaz previamente. Por
ejemplo, si se aade un ndice para una tabla a la que accede un programa, se debe volver a enlazar el
paquete para que pueda beneficiarse del nuevo ndice. Vase tambin reenlace automtico y enlace
en la pgina 1557.
referencia correlacionada. Referencia a una columna de una tabla que est fuera de una subconsulta.
registro. Representacin en el almacenamiento de una fila individual de una tabla u otros datos.
registro de anotaciones. Registro de una actualizacin efectuada en una base de datos durante una
unidad de trabajo. Este registro se escribe continuacin de la cola del archivo de anotaciones activo.
corriente de datos del supervisor de sucesos para indicar que se han eliminado registros porque el rea
de interconexin con nombre estaba llena y los registros no se han procesado a tiempo. Un registro de
desbordamiento indica cuntos registros se han eliminado.
registro especial. rea de almacenamiento que el gestor de bases de datos define para un proceso de
aplicacin y que se utiliza para almacenar informacin a la que se puede hacer referencia en sentencias
de SQL. USER y CURRENT DATE son ejemplos de registros especiales.
regla de actualizacin. Condicin impuesta por el gestor de bases de datos que debe cumplirse para
poder actualizar una columna.
regla de insercin. Condicin aplicada por el gestor de bases de datos que debe cumplirse para poder
insertar una fila en una tabla.
regla de supresin. Regla asociada a una restriccin de referencia que restringe la supresin de una fila
padre o especifica el efecto de dicha supresin en las filas dependientes.
regresin. (1) Proceso mediante el cual un servidor de bases de datos vuelve automticamente a
ejecutarse en la mquina original cuando sta queda disponible, despus de que una anomala le haya
hecho ejecutarse en otra mquina. (2) Proceso de volver a un release anterior de DB2 Universal Database
para OS/390 despus de intentar o finalizar la migracin a un release actual.
rehacer. En DB2 Universal Database para OS/390, estado de una unidad de recuperacin que indica
que los cambios deben aplicarse de nuevo al soporte de almacenamiento DASD para asegurar la
integridad de los datos.
relacin. En DB2 Universal Database para OS/390, conexin definida existente entre las filas de una
tabla o las filas de dos tablas. Una relacin es la representacin interna de una restriccin referencial.
Relational Connect. Relational Connect es un producto necesario para los usuarios que desean acceder
a otros DBMS, por ejemplo Oracle, Sybase y Microsoft SQL Server.
remigracin. Proceso de volver a un release actual de DB2 Universal Database despus de revertir a un
release anterior. Este procedimiento constituye otro proceso de migracin.
remoto. En DB2 Universal Database para OS/390, cualquier objeto que es mantenido por un subsistema
DB2 remoto. Una vista remota, por ejemplo, es una vista mantenida por un subsistema DB2 remoto.
Vase tambin local en la pgina 1577.
renovacin. Proceso en el que todos los datos de inters de una tabla de usuario se copian en la tabla
destino, sustituyendo los datos existentes. Vase tambin renovacin completa y renovacin
diferencial en la pgina 1603.
renovacin completa. En el proceso de duplicacin de datos de DB2, proceso en el que se copian todos
los datos de inters de una tabla de usuario en la tabla destino, sustituyendo a los datos existentes.
Vase renovacin. Vase tambin renovacin diferencial en la pgina 1603.
renovacin diferencial. En el proceso de duplicacin de datos de DB2, proceso en el que slo se copian
datos modificados en la tabla destino, sustituyendo a los datos existentes. Vase renovacin en la
pgina 1602. Vase tambin renovacin completa en la pgina 1602.
resolucin de funcin. Proceso interno del gestor de bases de datos por el que se selecciona una
instancia de funcin determinada para su invocacin. El nombre de funcin, los tipos de datos de los
argumentos y la va de acceso de la funcin se utilizan para efectuar la seleccin. Sinnimo de seleccin
de funcin en la pgina 1605.
resolucin del estado dudoso. Proceso de resolucin del estado de una unidad de trabajo lgica
dudosa al estado de confirmada o retrotrada.
Resource Access Control Facility (RACF). Resource Access Control Facility protege el sistema
proporcionando acceso a aquellas personas que tienen autorizacin para utilizar el recurso. RACF es un
componente de SecureWay Security Server para OS/390.
restauracin en lnea. Restauracin de una copia de una base de datos o un espacio de tablas que se
efecta mientras otras aplicaciones estn accediendo a la base de datos o al espacio de tablas. Vase
tambin restauracin fuera de lnea.
restauracin fuera de lnea. Restauracin de una copia de una base de datos o un espacio de tablas
desde una copia de seguridad. El programa de utilidad de restauracin de base de datos tiene el uso
exclusivo de la base de datos hasta que se ha completado la restauracin. Vase tambin restauracin
en lnea.
restaurar. Volver a crear una base de datos daada o corrupta a partir de una imagen de copia de
seguridad.
restriccin. Regla que limita los valores que se pueden insertar, suprimir o actualizar en una tabla.
Vase tambin restriccin de comprobacin, restricciones de referencia en la pgina 1604, restriccin
de comprobacin de tabla y restriccin de unicidad en la pgina 1604.
restriccin de autorreferencia. Restriccin de referencia que define una relacin en la que una tabla es
dependiente de s misma.
restriccin de comprobacin. Restriccin que especifica una condicin de control que no es falsa para
cada fila de la tabla donde se ha definido la restriccin. Vase restriccin de comprobacin de tabla.
restriccin de comprobacin de tabla. Restriccin definida por el usuario que especifica los valores que
pueden contener las columnas especficas de una tabla base.
restriccin de unicidad. Regla que determina que dos valores de una clave primaria o de una clave de
un ndice de unicidad no pueden ser iguales. Tambin se denomina limitacin de unicidad.
restricciones de referencia. Regla de integridad referencial que determina que los valores no nulos de
la clave fornea slo son vlidos si tambin aparecen como valores de una clave padre.
resumen (outline). En el Kit de iniciacin de OLAP, estructura que define todos los elementos de una
base de datos dentro del Kit de iniciacin de OLAP. Por ejemplo, un resumen contiene definiciones de
dimensiones, miembros y frmulas.
retrotraccin. Proceso de restaurar datos modificados por sentencias de SQL al estado que tenan en el
ltimo punto de confirmacin. Vase tambin punto de coherencia en la pgina 1597.
RRE (residual recovery entry). Vase entradas de recuperacin residuales en la pgina 1558.
RRSAF (Recoverable Resource Manager Services Attachment Facility). Vase Recoverable Resource
Manager Services en la pgina 1599.
rutina. Mtodo definido por el usuario, funcin definida por el usuario o procedimiento almacenado.
rutina de salida. Programa que recibe el control de otro programa para realizar funciones especficas.
rutina de SQL. En DB2 Universal Database para OS/390, funcin definida por el usuario o
procedimiento almacenado que est basado en cdigo escrito en SQL.
rutina externa. Funcin, mtodo o procedimiento escrito en un lenguaje principal y que posiblemente
contiene sentencias de SQL.
S
salida de usuario. Programa utilizado para interactuar con dispositivos de almacenamiento que no
estn directamente soportados por el sistema operativo. Cuando se invoca el programa de salida de
usuario, el gestor de bases de datos pasa el control al archivo ejecutable. Slo se puede invocar un
programa de salida de usuario en una instancia del gestor de bases de datos.
salto. En APPN, parte de una ruta que no tiene nodos intermedios. Un salto consta de un grupo de
transmisin individual que conecta nodos adyacentes.
satlite. Servidor DB2 que sincroniza con su grupo en el servidor de control de DB2 (servidor de
control de DB2 en la pgina 1608).
SCA (shared communications area). En DB2 Universal Database para OS/390, rea de comunicaciones
compartida.
SDWA (system diagnostic work area). En un entorno OS/390, el rea de trabajo de diagnsticos del
sistema.
seccin. En DB2 Universal Database, segmento de un plan o paquete que contiene las estructuras
ejecutables para una sentencia de SQL individual. Para la mayora de sentencias de SQL, existe una
seccin en el plan para cada sentencia de SQL del programa fuente. Sin embargo, para las sentencias
relacionadas con el cursor, las sentencias DECLARE, OPEN, FETCH y CLOSE hacen referencia a la
misma seccin porque cada una hace referencia a la sentencia SELECT que se menciona en la sentencia
DECLARE CURSOR. Las sentencias de SQL como por ejemplo COMMIT, ROLLBACK y algunas
sentencias SET no utilizan ninguna seccin.
segmentacin del plan. En DB2 Universal Database para OS/390, divisin de cada plan en secciones.
Cuando es necesaria una seccin, se lleva por separado a la agrupacin de EDM.
segmento. Grupo de pginas que contienen una fila de una sola tabla. Vase tambin espacio de
tablas segmentado en la pgina 1560.
seguimiento de auditora. Datos, en forma de va de acceso lgica que enlaza una secuencia de
sucesos, que se utilizan para rastrear las transacciones que han afectado al contenido de un registro.
seleccin completa. Subseleccin, clusula de valores o varios de estos dos elementos que estn
combinados mediante operadores de conjunto. La seleccin completa especifica una tabla resultante. Si
no se utiliza UNION, el resultado de la seleccin completa es el resultado de la subseleccin
especificada.
seleccin completa de inicializacin. Primera seleccin completa de una expresin de tabla comn
recurrente que obtiene los hijos directos del valor inicial a partir de la tabla fuente.
seleccin completa escalar. Seleccin completa que devuelve un valor individual: una fila de datos que
consta exactamente de una sola columna.
sensibilidad de fetch. (1) Especificacin para las filas que ya se han captado. Este FETCH slo tiene
visibilidad en los cambios efectuados por el mismo cursor (es decir, los cambios efectuados utilizando
UPDATE WHERE CURRENT OF o DELETE WHERE CURRENT OF que especifican el nombre del
cursor). (2) Especificacin de que este FETCH tiene visibilidad en todos los cambios efectuados por este
cursor, as como en los cambios efectuados por otros cursores u otros procesos de aplicacin. Esto hace
que se capten siempre las filas de la tabla base de la sentencia SELECT del cursor.
sensibilidad del cursor. Especifica que el cursor tiene sensibilidad a los cambios efectuados en la base
de datos despus de que se materialice la tabla resultante. El cursor siempre es sensible a las
actualizaciones y supresiones efectuadas utilizando el cursor (es decir, actualizaciones y supresiones
posicionadas utilizando el mismo cursor). Cuando el valor actual de una fila ya no satisface la
sentencia-select o el nombre-sentencia, dicha fila deja de estar visible mediante el cursor. Cuando una
fila de la tabla resultante se suprime de la tabla base subyacente, la fila deja de estar visible mediante el
cursor. La sensibilidad del cursor a los cambios realizados fuera de este cursor depende del hecho de
que se utilice la sentencia SENSITIVE FETCH o la sentencia INSENSITIVE FETCH.
sentencia de SQL compuesto. Bloque de sentencias de SQL que se ejecutan en una sola llamada al
servidor de aplicaciones.
sentencia de SQL preparada. En SQL, objeto con nombre que es la forma ejecutable de una sentencia
de SQL que ha sido procesada por la sentencia PREPARE.
sentencia explicable. Sentencia de SQL para la que se puede efectuar la operacin de explicacin. Las
sentencias explicables son SELECT, UPDATE, INSERT, DELETE y VALUES.
sentencia explicada. Sentencia de SQL para la que se ha efectuado una operacin de explicacin.
sentencias de SQL desencadenadas. Conjunto de sentencias de SQL que se ejecuta cuando se activa un
desencadenante y la condicin de accin desencadenada se evala como verdadera. Las sentencias de
SQL desencadenadas tambin se denominan cuerpo del desencadenante.
serie. (1) En lenguajes de programacin, formato de datos que se utiliza para almacenar y manipular
texto. (2) Secuencia de bytes que puede representar caracteres.
serie binaria. En DB2 Universal Database, secuencia de bytes que no est asociada a un CCSID. Por
ejemplo, el tipo de datos BLOB es una serie binaria. Vase tambin identificador de juego de caracteres
codificado en la pgina 1570.
serie corta. (1) Serie de longitud fija o variable cuya longitud mxima es menor o igual que 254 bytes.
(2) En DB2 Universal Database para OS/390, serie cuya longitud real, o serie de longitud variable cuya
longitud mxima, es 255 bytes (o 127 caracteres de doble byte) o menos. Independientemente de la
longitud, una serie LOB no es una serie corta. Vase tambin serie larga en la pgina 1607.
serie de caracteres. Secuencia de bytes que representa datos de bits, caracteres de un solo byte o una
combinacin de caracteres de un solo byte y de doble byte.
serie de caracteres de contabilidad. Informacin de contabilidad definida por el usuario que DB2
Connect enva a los servidores DRDA. Esta informacin se puede especificar desde la estacin de trabajo
cliente utilizando la API SQLESACT o la variable de entorno DB2ACCOUNT o desde la estacin de
trabajo DB2 Connect utilizando el parmetro de configuracin DFT_ACCOUNT_STR del gestor de bases
de datos.
serie de caracteres mixtos. Serie que contiene una mezcla de caracteres de un solo byte y de mltiples
bytes. Sinnimo de serie de datos mixtos.
serie de longitud fija. Serie grfica o de caracteres cuya longitud est especificada y no se puede
modificar. Vase tambin serie de longitud variable.
serie de longitud variable. Serie de caracteres, grfica o binaria cuya longitud no es fija pero puede
oscilar entre unos lmites establecidos. Tambin se conoce como serie de longitud que vara.
serie de sentencia. En una sentencia de SQL dinmico, dentro de un entorno DB2 Universal Database
para OS/390, el formato de serie de caracteres de la sentencia.
serie larga. (1) Serie de longitud variable cuya longitud mxima supera los 254 bytes. (2) En DB2
Universal Database para OS/390, serie cuya longitud real, o serie de longitud variable cuya longitud
mxima, es mayor que 255 bytes 127 caracteres de doble byte. Se considera que es una serie larga
cualquier columna LOB, variable LOB de lenguaje principal o expresin cuya evaluacin da un LOB
como resultado. Vase tambin serie corta en la pgina 1606.
servicios ampliados entre sistemas (cross-system extended services - XES). Conjunto de servicios de
OS/390 que permiten que varias instancias de una aplicacin o subsistema, que se ejecutan en sistemas
diferentes de un entorno Parallel Sysplex, lleven a cabo un compartimiento de datos de alto rendimiento
y disponibilidad utilizando un recurso de acoplamiento.
servicios de directorio. Parte de los protocolos APPN que mantiene informacin acerca de la ubicacin
de los recursos de una red APPN.
Servicios de directorio de red (Network Directory Services - NDS). Base de datos global, duplicada y
distribuida, de NetWare que mantiene informacin acerca de los recursos de la red y proporciona acceso
a ellos. La base de datos del Directorio de NetWare dispone los objetos, cualesquiera que sea su
ubicacin fsica, en una estructura jerrquica en rbol llamada rbol de directorios.
servicios del mtodo de acceso. Recurso que se utiliza para definir y reproducir archivos VSAM
ordenados por clave.
servicios de red. Servicios existentes dentro de las unidades direccionables de red que controlan el
funcionamiento de la red mediante sesiones SSCP-SSCP, SSCP-PU, SSCP-LU y CP-CP.
servidor. (1) En una red, nodo que proporciona recursos a otras estaciones; por ejemplo, un servidor de
archivos, un servidor de impresoras, un servidor de correo. (2) (2) En un sistema de bases de datos
federado, unidad de informacin que identifica una fuente de datos para un servidor federado. Esta
informacin puede incluir el nombre del servidor, su tipo, su versin y el nombre del reiniciador que el
servidor federado utiliza para comunicarse con la fuente de datos y recuperar datos de ella. (3) Destino
de una peticin de un peticionario remoto. En el entorno DB2, la funcin de servidor la proporciona el
recurso de datos distribuidos, que se utiliza para acceder a los datos de DB2 desde aplicaciones remotas.
Vase tambin servidor de aplicaciones.
servidor de aplicaciones. En DB2 Universal Database para OS/390, destino de una peticin de una
aplicacin remota. En el entorno DB2, la funcin de servidor de aplicaciones la proporciona el recurso de
datos distribuidos y se utiliza para acceder a los datos de DB2 desde aplicaciones remotas. Vase
tambin peticionario de aplicaciones en la pgina 1592.
servidor de archivos. Estacin de trabajo donde se ejecuta el software del sistema operativo NetWare y
acta como un servidor de red. DB2 utiliza el servidor de archivos para almacenar direcciones de
servidores DB2, que los clientes DB2 recuperan para establecer una conexin cliente-servidor de
IPX/SPX.
servidor de bases de datos. Destino de una peticin de una aplicacin local o un servidor de bases de
datos intermedio. En el entorno DB2, la funcin de servidor de bases de datos la proporciona el recurso
de datos distribuidos para acceder a los datos de DB2 desde aplicaciones locales o un servidor de bases
de datos remotas que acta como servidor de bases de datos intermediario.
servidor de control. En el proceso de duplicacin de datos de DB2, ubicacin en la base de datos de las
correspondientes definiciones de suscripcin y de las tablas de control del programa Apply.
servidor de control de DB2. Sistema DB2 Universal Database que contiene la base de datos de control
de satlites, SATCTLDB.
servidor de nodos de la red. Nodo de red APPN que proporciona servicios de red para sus unidades
lgicas locales y nodos finales adyacentes.
servidor de nombres de dominio (domain name server, DNS). Servidor de red TCP/IP que gestiona
un directorio distribuido el cual sirve para correlacionar nombres de sistema principal TCP/IP con
direcciones IP.
servidor Domino Go Web. Servidor Web ofrecido por Lotus Corp. e IBM, que ofrece conexiones
estables y seguras. ICAPI y GWAPI son las interfaces proporcionadas con este servidor.
servidor federado. Servidor de un sistema federado en el que estn instalado DB2 EE o EEE, Relational
Connect y el software cliente para las fuentes de datos a las que se acceder.
sesin. Conexin lgica entre dos estaciones o unidades direccionables de red (NAU) SNA que permite
que las dos estaciones o unidades NAU se comuniquen.
sesin de desconexin (UNBIND). Peticin para desactivar una sesin entre dos unidades lgicas (LU).
sesin paralela. En SNA, dos o ms sesiones activas simultneamente entre las dos mismas unidades
lgicas. Cada sesin puede tener parmetros de sesin diferentes. Vase sesin.
seudnimo. Nombre alternativo que se utiliza para identificar una tabla, una vista, una base de datos o
un apodo. Se puede utilizar un seudnimo en sentencias de SQL para hacer referencia a una tabla o
vista que reside en el mismo subsistema DB2 o en un subsistema DB2 remoto.
signatura de funcin. Concatenacin lgica de un nombre de funcin completamente calificado con los
tipos de datos de todos sus parmetros. Cada funcin de un esquema debe tener una firma exclusiva.
smbolo de acceso. En DB2 Data Links Manager, clave cifrada asignada por el gestor de bases de datos
que debe generarse para acceder a un archivo bajo el control de Data Links Manager.
smbolo de coherencia. En DB2 Universal Database, indicacin de fecha y hora que se utiliza para
generar el identificador exclusivo (identificador de versin en OS/390) para una aplicacin.
smbolo de recuperacin. En DB2 Universal Database para OS/390, identificador de un elemento que
se utiliza en la recuperacin (por ejemplo NID o URID).
smbolo (lxico). Unidad sintctica bsica de un lenguaje de programacin. Un smbolo (lxico) consta
de uno o ms caracteres, excluidos el carcter de espacio en blanco y los caracteres de una constante de
tipo serie o identificador delimitado.
simultaneidad. Uso compartido y simultneo de recursos por varios procesos de aplicacin o usuarios
interactivos.
sin barrera. Tipo de funcin definida por el usuario o de procedimiento almacenado que se define para
ejecutarse en el proceso del gestor de bases de datos. No existe ninguna proteccin para el gestor de
bases de datos frente a las modificaciones realizadas por esta funcin. Vase tambin con barrera en la
pgina 1541.
sncrono. Perteneciente a dos o ms procesos que dependen de las apariciones de sucesos especficos,
por ejemplo una seal de temporizacin comn. Vase tambin asncrono en la pgina 1531.
sinnimo. En DB2 Universal Database para OS/390, nombre alternativo utilizado en SQL para una
tabla o vista.
sistema de bases de datos federado. Un sistema DB2 federado es un tipo especial de sistema de
gestin de bases de datos distribuidas (DBMS). Un sistema federado permite consultar y recuperar datos
ubicados en otros gestores de bases de datos, por ejemplo Oracle, Sybase y Microsoft SQL Server. Las
sentencias de SQL pueden hacer referencia a mltiples gestores de bases de datos o a bases de datos
individuales en una sola sentencia. Por ejemplo, puede unir datos ubicados en una tabla de DB2
Universal Database, una tabla de Oracle y una vista de Sybase.
Sistema de Control de la Informacin del Cliente (Customer Information Control System - CICS).
Programa bajo licencia de IBM que proporciona servicios de proceso de transacciones en lnea y gestin
para aplicaciones de gestin crticas. En la informacin de DB2 Universal Database para OS/390, este
trmino representa el Servidor de transacciones CICS para OS/390, CICS/ESA y CICS/MVS.
sistema de gestin de bases de datos (database management system - DBMS). Vase gestor de bases
de datos en la pgina 1565.
sistema de informacin geogrfica (geographic information system - GIS). Complejo de objetos, datos
y aplicaciones que permite generar y analizar informacin espacial acerca de las caractersticas
geogrficas, incluidos los objetos que componen la superficie de la tierra (por ejemplo: ros, bosques,
colinas, desiertos) y objetos que la ocupan (por ejemplo: ciudades, residencias, edificios de oficinas,
seales).
sistema de nombres de dominio. Sistema de bases de datos distribuidas utilizado por TCP/IP para
correlacionar nombres de mquina legibles por el hombre con direcciones IP.
sistema principal. En TCP/IP, cualquier sistema que tenga como mnimo una direccin Internet
asociada a l.
sitio de agente. En el Centro de depsito de datos, ubicacin, definida por un solo nombre de sistema
principal de red, donde se instala una aplicacin agente de depsito.
SMF (system management facility). Vase recurso de gestin del sistema en la pgina 1600.
socket. Interfaz de programacin TCP/IP llamable utilizada por aplicaciones de red TCP/IP para
comunicarse con asociados TCP/IP remotos.
Software Developers Kit (SDK). Producto de desarrollo de aplicaciones que permite desarrollar
aplicaciones en una estacin de trabajo cliente para tener acceso a servidores de bases de datos remotos
incluidas bases de datos relacionales de sistema principal por medio de los productos DB2 Connect.
slo lectura. Un archivo que tiene acceso de slo lectura se puede leer pero no se puede actualizar o
suprimir.
soporte de base de datos federada. Posibilidad de DB2 Universal Database que permite a los usuarios
tener acceso de lectura a todos los gestores de bases de datos DB2 Universal Database y bases de datos
Oracle con una sola sentencia de SQL.
SPUFI (SQL Processor Using File Input). Vase Procesador de SQL que utiliza entrada de archivos
en la pgina 1611.
SQL dinmico. Sentencias de SQL que se preparan y ejecutan en tiempo de ejecucin. En SQL
dinmico, la sentencia de SQL est contenida como una serie de caracteres en una variable del lenguaje
principal y no es precompila. Vase tambin SQL incorporado y SQL esttico.
SQL esttico. Sentencias de SQL que estn incorporadas dentro de un programa y se preparan durante
el proceso de preparacin del programa antes de que ste se ejecute. Una vez preparadas, las sentencias
de SQL esttico no cambian, aunque los valores de las variables de lenguaje principal especificadas por
la sentencia pueden cambiar. Vase tambin SQL incorporado y SQL dinmico.
SQL incorporado. Sentencias de SQL codificadas dentro de un programa de aplicacin. Vase SQL
esttico.
SQL incorporado diferido. En DB2 Universal Database, sentencias de SQL que no son completamente
estticas ni completamente dinmicas. Al igual que las sentencias estticas, estn incorporadas a una
aplicacin, pero como las sentencias dinmicas, se preparan durante la ejecucin de la aplicacin.
SQL interactivo. Serie de sentencias entradas por el usuario mediante una interfaz como el centro de
mandatos o el procesador de la lnea de mandatos. Estas sentencias se procesan como sentencias de SQL
dinmicas. Por ejemplo, una sentencia SELECT interactiva puede procesarse dinmicamente utilizando
las sentencias DECLARE CURSOR, PREPARE, DESCRIBE, OPEN, FETCH y CLOSE.
SQL Processor Using File Input (Procesador de SQL que utiliza entrada de archivos - SPUFI). (1) En
DB2 Universal Database para OS/390, SPUFI formatea y visualiza los conjuntos de datos de salida
utilizando el programa Interactive System Facility Browse. (2) En DB2 Universal Database para OS/390,
recurso del subcomponente de conexin TSO que permite al usuario de DB2I ejecutar sentencias de SQL
sin incorporarlas en un programa de aplicacin.
SSM (subsystem member). En DB2 Universal Database para OS/390, miembro de subsistema.
subagente. Tipo de agente que acta sobre subpeticiones. Una aplicacin individual puede efectuar
muchas peticiones y cada peticin puede descomponerse en muchas subpeticiones. Por tanto, pueden
existir varios subagentes trabajando para una misma aplicacin. Todos los subagentes que trabajan para
la aplicacin estn coordinados por el agente de coordinacin de dicha aplicacin. Vase tambin
agente de coordinacin en la pgina 1526.
subconsulta. Sentencia SELECT dentro de la clusula WHERE o HAVING de otra sentencia de SQL;
sentencia de SQL anidada.
subconsulta correlacionada. Subconsulta que contiene una referencia correlacionada a una columna de
una tabla que est fuera de la subconsulta.
subpgina. En DB2 Universal Database para OS/390, unidad en la que se puede dividir una pgina
fsica de ndice.
subseccin de coordinador. Subseccin de una aplicacin que inicia otras subsecciones (si existen) y
devuelve resultados a la aplicacin.
subseleccin. Forma de consulta que no incluye una clusula ORDER BY, una clusula UPDATE ni
operadores UNION.
subsistema. En DB2 Universal Database para OS/390, instancia diferenciada de un sistema de bases de
datos relacionales (RDBMS).
subsistema local. RDBMS exclusivo al que est conectado directamente el usuario o un programa de
aplicacin (en el caso de DB2 Universal Database para OS/390, mediante uno de los recursos de
conexin de DB2 Universal Database para OS/390).
subsistema remoto. En DB2 Universal Database para OS/390, cualquier RDBMS, excepto los subsistemas
locales, con el que el usuario o la aplicacin puede comunicarse. No es necesario que el subsistema sea
remoto en un sentido fsico e incluso puede funcionar en el mismo procesador bajo el mismo sistema
OS/390.
suceso desencadenante. Suceso que hace que se active un desencadenante. En general, un suceso
desencadenante es la insercin, supresin o actualizacin de filas en una tabla especfica.
supervisor del sistema. Coleccin de informacin relacionada con el estado del sistema de bases de
datos a niveles de instancia, base de datos y aplicacin. Esta informacin se almacena en elementos de
datos, que se pueden examinar tomando instantneas puntuales en el tiempo o utilizando el supervisor
de sucesos para registrar cronolgicamente la actividad del sistema durante un periodo de tiempo.
supervisor del sistema de base de datos. Conjunto de varias API de programacin que supervisan
informacin de rendimiento y de estado sobre el gestor de bases de datos, las bases de datos y las
aplicaciones que utilizan el gestor de bases de datos y el DB2 Connect.
Supervisor de rendimiento. Herramienta que permite a los administradores de bases de datos utilizar
una interfaz grfica para supervisar el rendimiento de un sistema DB2 con la finalidad de realizar
ajustes. Se puede acceder a esta herramienta desde el Centro de control.
supervisor de sucesos. Objeto de base de datos para supervisar y recoger datos sobre las actividades de
la base de datos durante un periodo de tiempo. Por ejemplo, iniciar la base de datos puede ser un
suceso que haga que el supervisor de sucesos realice un seguimiento del nmero de usuarios del
sistema, tomando cada hora una instantnea de los ID de autorizacin que utilizan la base de datos.
supresin en cascada. Forma en que DB2 Universal Database aplica restricciones de referencia al
suprimir todas las filas descendentes de una fila padre (fila padre en la pgina 1563) suprimida.
suscripcin de duplicacin. Especificacin para copiar datos modificados desde fuentes de duplicacin
a tablas destino a una hora y frecuencia especificadas, con la opcin de ampliacin de datos. Define toda
la informacin que el programa Apply necesita para copiar datos.
SYS1.LOGREC. En un entorno OS/390, ayuda de servicio que contiene informacin importante sobre
errores de programa y de hardware.
T
tabla. Objeto de datos con nombre que consta de un nmero especfico de columnas y algunas filas sin
ordenar. Vase tambin tabla base, tabla temporal declarada en la pgina 1617 y tabla temporal en
la pgina 1617.
tabla auxiliar. Tabla que almacena columnas fuera de la tabla que en la que estn definidas. Vase
tambin tabla base.
tabla base. (1) Tabla creada con la sentencia CREATE TABLE. Esta tabla tiene almacenados fsicamente
su descripcin y sus datos en la base de datos. (2) En DB2 Universal Database para OS/390, tabla creada
con la sentencia CREATE TABLE que contiene una definicin de columna LOB. Los datos reales de
columna LOB no se almacenan con esta tabla base. La tabla base contiene un identificador de fila para
cada fila y una columna indicadora para cada una de sus columnas LOB. Vase tambin tabla temporal
declarada en la pgina 1617, tabla auxiliar, vista en la pgina 1625, tabla resultante en la
pgina 1616 y tabla temporal en la pgina 1617.
tabla base de agregacin. En el proceso de duplicacin de datos de DB2, tipo de tabla destino que
contiene datos recogidos a intervalos de una tabla fuente o tabla puntual en el tiempo.
tabla CCD completa. Tabla de datos de cambios coherentes que contiene todas las filas que satisfacen
la vista fuente y predicados de la tabla o vista fuente. Vase tambin tabla CCD no completa en la
pgina 1614.
tabla CCD condensada. En la duplicacin de DB2, tabla de datos de cambios coherentes que slo
contiene el valor ms actual para una fila. Este tipo de tabla es til para transferir cambios a ubicaciones
remotas y resumir actualizaciones in situ. Vase tambin tabla CCD no condensada en la pgina 1614.
tabla CCD externa. En duplicacin de DB2, tabla de datos de cambios coherentes a la que es posible
suscribirse directamente porque es una fuente de duplicacin registrada. Posee su propia fila en la tabla
de registro, donde aparece como SOURCE_OWNER y SOURCE_TABLE. Vase tabla de datos de
cambios coherentes en la pgina 1614. Vase tambin tabla CCD interna en la pgina 1614.
tabla CCD interna. Tabla de datos de cambios coherentes a la que no es posible suscribirse
directamente. Carece de una fila propia en la tabla de registro; aparece referenciada como CCD_OWNER
y CCD_TABLE en la fila correspondiente a la fuente de duplicacin asociada. Vase tambin tabla CCD
externa en la pgina 1613.
tabla CCD no completa. En duplicacin de DB2, tabla de datos de cambios coherentes que est vaca
cuando se crea y a la que se aaden filas a medida que se realizan cambios en la fuente. Vase tambin
tabla CCD completa en la pgina 1613.
tabla CCD no condensada. En duplicacin de DB2, tabla de datos de cambios coherentes que contiene
el histrico de los cambios efectuados en los valores de una fila. Este tipo de tabla es til para fines de
auditora. Vase tabla de datos de cambios coherentes. Vase tambin tabla CCD condensada en la
pgina 1613.
tabla con tipo. Una tabla puede tener el tipo de datos de cada columna definido por separado o tener
los tipos de las columnas basados en los atributos de un tipo estructurado definido por el usuario.
tabla de agregacin de cambios. En el proceso de duplicacin de datos de DB2, tipo de tabla destino
que contiene agregaciones de datos basadas en cambios registrados para una tabla fuente.
tabla de autorreferencia. Tabla que es al mismo tiempo tabla padre y tabla dependiente en la misma
restriccin referencial.
tabla de catlogo. Cualquier tabla del catlogo de DB2 Universal Database creada por DB2 para cada
base de datos. Por ejemplo, estas tablas contienen informacin acerca de las definiciones de objetos de
base de datos, por ejemplo ndices, vistas y tablas de usuario, as como informacin de seguridad acerca
de la autorizacin que tienen los usuarios en dichos objetos. No se pueden crear o eliminar de forma
explcita, pero se puede consultar y ver su contenido utilizando las vistas de catlogo.
tabla de control. En el proceso de duplicacin de datos de DB2, tabla en la que se guardan definiciones
de fuentes de duplicacin y de suscripcin u otra informacin de control de duplicacin.
tabla de control de recursos (resource control table, RCT). En DB2 Universal Database para OS/390
con CICS, estructura del recurso de conexin de CICS, creada por parmetros de macro proporcionados
por la ubicacin, que define atributos de autorizacin y acceso para transacciones o grupos de
transacciones.
tabla de copia de usuario. En el proceso de duplicacin de datos de DB2, tabla de destino cuyo
contenido coincide con la totalidad o parte de una tabla fuente y contiene slo columnas de datos de
usuario.
tabla de datos de cambio. Tabla de control de duplicacin ubicada en el servidor fuente que contiene
los datos cambiados de una tabla fuente de duplicacin.
tabla de datos de cambios coherentes (CCD). En el proceso de duplicacin de datos de DB2, tipo de
tabla destino que se utiliza para auditar o transferir datos o ambas cosas. Vase tambin tabla CCD
completa en la pgina 1613, tabla CCD no completa, tabla CCD externa en la pgina 1613, tabla
CCD interna y tabla CCD no condensada.
tabla de destino. En el proceso de duplicacin de datos de DB2, tabla situada en el servidor destino en
la que se copian datos. Puede ser una tabla de copia de usuario, una tabla puntual en el tiempo, una
tabla agregada base, una tabla agregada de cambios, una tabla de datos de cambios coherentes o una
tabla de duplicado.
tabla de dimensin. Representacin de una dimensin en un esquema en estrella. Cada fila de una
tabla de dimensin representa todos los atributos de un miembro determinado de la dimensin. Vase
tambin dimensin en la pgina 1554 y esquema en estrella en la pgina 1560.
tabla de especificacin de lmite de recursos. En DB2 Universal Database para OS/390, tabla definida
localmente que especifica los lmites que debe aplicar el servicio de lmite de recursos.
tabla de excepciones. (1) Tabla creada por el usuario que refleja la definicin de la tabla que se est
cargando. (2) Tabla que contiene filas que vulneran las restricciones de referencia o las restricciones de
comprobacin de tabla que el programa de utilidad CHECK DATA encuentra.
tabla de ndice comn. Tabla de DB2 cuyas columnas de texto comparten un ndice de texto comn.
tabla de la unidad de trabajo. Tabla de control de la duplicacin ubicada en el servidor fuente que
contiene registros de confirmacin ledos del diario o archivo de anotaciones de la base de datos. Los
registros incluyen un identificador de unidad de recuperacin que se puede utilizar para unir la tabla de
unidad de trabajo y la tabla de datos de cambios para producir datos de cambios coherentes con la
transaccin. Para DB2, la tabla de unidad de trabajo incluye opcionalmente el identificador de
correlacin, que puede ser til para realizar operaciones de auditora.
tabla de mdulo de subsistema externa (ESMT). En el entorno OS/390, nombre de la tabla de mdulo
de subsistema externa, que especifica qu mdulos de conexin debe cargar el Sistema de gestin de
informacin.
tabla de parmetros de ajuste. Tabla del servidor fuente que contiene informacin de sincronizacin
utilizada por el programa Capture. La informacin incluye el tiempo que deben conservarse las filas en
la tabla de datos de cambios, el tiempo que debe transcurrir para que los cambios se almacenen en una
anotacin cronolgica o un registro por diario de la base de datos y la frecuencia con la que deben
confirmarse los datos cambiados en las tablas de unidad de trabajo.
tabla dependiente. Tabla que depende de una restriccin de referencia como mnimo.
tabla de registro de anotaciones. Tabla creada por Text Extender que contiene informacin acerca de
los documentos de texto que se deben indexar.
tabla de resumen. Tabla cuya definicin se basa en el resultado de una consulta y cuyos datos estn en
forma de resultados precalculados tomados de la tabla o tablas en las que se basa su definicin.
tabla de resumen automtica (AST). Tabla de resumen definida de tal forma que los cambios
efectuados en las tablas subyacentes se colocan en cascada en la tabla de resumen inmediatamente y sin
necesidad de una sentencia REFRESH TABLE. Vase tabla de resumen.
tabla descendiente. Tabla dependiente de otra tabla o que es descendiente de una tabla dependiente.
tabla desencadenante. Tabla para la cual se crea un desencadenante. Cuando el suceso desencadenante
definido se produce en esta tabla, se activa el desencadenante.
tabla de soporte administrativo. Tabla utilizada por un expansor de DB2 para procesar peticiones de
usuario sobre objetos de imagen, audio y vdeo. Algunas tablas de soporte administrativo identifican
tablas y columnas de usuario que estn habilitadas para un expansor. Otras tablas de soporte
administrativo contienen informacin de atributos sobre objetos existentes en columnas habilitadas.
Tambin se denomina tabla de metadatos.
tabla destino de duplicado. Tabla de duplicacin situada en el servidor destino que es un tipo de tabla
destino con actualizacin en cualquier lugar.
tabla de transicin. Tabla temporal que contiene todas las filas afectadas de la tabla sujeto en el estado
que tenan antes o despus de que se produjese el suceso desencadenante. Las sentencias de SQL
desencadenadas en la definicin de desencadenante pueden hacer referencia a la tabla de filas cambiadas
en el estado anterior o el estado nuevo.
tabla de usuario. En el proceso de duplicacin de datos de DB2, tabla creada para una aplicacin y
utilizada por ella antes de definirse como fuente de duplicacin. Se utiliza como fuente para
actualizaciones en tablas destino de slo lectura, tablas de datos de cambios coherentes, duplicados y
tablas de duplicado de filas.
tabla factual. (1) En el Kit de iniciacin de OLAP, tabla o, en muchos casos, conjunto de tablas de DB2
que contiene todos los valores de datos para un cubo relacional. (2) Se compone de una o ms tablas
relacionales que contienen hechos, por ejemplo unidades vendidas o coste de las mercancas, y claves
forneas que enlazan la tabla factual con cada tabla de dimensin.
tabla fuente. En el proceso de duplicacin de datos de DB2, tabla que contiene los datos que se deben
copiar en una tabla destino. La tabla fuente puede ser una tabla fuente de duplicacin, una tabla de
datos de cambios o una tabla de datos de cambios coherentes. Vase tambin tabla de destino en la
pgina 1615.
tabla intermedia. En duplicacin de DB2, tabla de datos de cambios coherentes que se puede utilizar
como fuente para actualizar datos en mltiples tablas de destino. Vase tabla de datos de cambios
coherentes en la pgina 1614.
tabla padre. Tabla que es padre en una restriccin referencial como mnimo.
tabla puntual en el tiempo. En el proceso de duplicacin de datos de DB2, tipo de tabla destino cuyo
contenido coincide total o parcialmente con una tabla fuente, con una columna del sistema aadida que
identifica la hora aproximada en que se ha insertado o actualizado la fila determinada en el sistema
fuente.
tabla resultante. Conjunto de filas producidas por la evaluacin de una sentencia SELECT. Vase
tambin tabla temporal en la pgina 1617.
tablas disponibles continuamente (CAT). Mecanismo para mantener en sincronismo dos copias de una
tabla, donde cada copia est en una base de datos independiente. Esto har de forma efectiva que la
tabla est continuamente disponible para las consultas y las actualizaciones. Durante una interrupcin
del suministro elctrico donde una base de datos no est disponible, los cambios se capturarn en la
base de datos superviviente y, a continuacin, se aplicarn a la base de datos que estaba inactiva cuando
sta est disponible otra vez.
tabla sujeto. Tabla para la cual se crea un desencadenante. Cuando el suceso desencadenante definido
se produce en esta tabla, se activa el desencadenante.
tabla temporal. (1) Tabla creada durante el proceso de una sentencia de SQL para que contenga
resultados intermedios. Existen dos tipos de tablas temporales: tablas temporales de sistema de
almacenamiento de espacios de tablas del sistema y tablas temporales declaradas de almacenamientos de
tablas temporales de usuario. (2) Tabla que contiene datos temporales. Por ejemplo, las tablas temporales
son tiles para mantener o clasificar resultados intermedios de consultas que contienen un gran nmero
de filas. Las dos clases de tablas temporales, que se crean mediante sentencias de SQL diferentes, son la
tabla temporal creada y la tabla temporal declarada. Vase tambin tabla resultante en la pgina 1616,
tabla temporal creada y tabla temporal declarada.
tabla temporal creada. En DB2 Universal Database para OS/390, tabla que contiene datos temporales y
se define con la sentencia de SQL CREATE GLOBAL TEMPORARY TABLE. La informacin acerca de las
tablas temporales creadas se almacena en el catlogo de DB2, de modo que esta clase de tabla es
permanente y se puede compartir entre procesos de particin. Vase tabla temporal. Vase tambin
tabla temporal declarada.
tabla temporal declarada. Tabla que contiene datos temporales y se define con la sentencia de SQL
DECLARE GLOBAL TEMPORARY TABLE. La informacin acerca de las tablas temporales declaradas no
se almacena en el catlogo DB2, de modo que esta clase de tabla no es permanente y slo la puede
utilizar el proceso de aplicacin que ha emitido la sentencia DECLARE. Vase tambin tabla base en la
pgina 1613, tabla temporal creada y tabla temporal.
tabla unida. Tabla resultante intermedia que es el resultado de una unin interna en la pgina 1622 o
una unin externa en la pgina 1622.
tamao del bloqueo. Cantidad de datos controlados por un bloqueo de DB2 Universal Database para
OS/390 en los datos de tabla; el valor puede ser una fila, una pgina, un LOB, una particin, una tabla o
un espacio de tablas.
tarea. En el Centro de tareas, unidad de trabajo y sus acciones de planificacin y tarea asociadas. Las
tareas pueden establecerse para que se ejecuten segn una planificacin y pueden realizar diversas
acciones basndose en el xito o el fracaso de la tarea. Los scripts de DB2, los scripts de operacin y los
pasos de depsito son ejemplos de tareas. Vase tambin accin de tarea en la pgina 1525 y paso en
la pgina 1590.
tarea de origen. En DB2 Universal Database para OS/390, agente primario de un grupo paralelo que
recibe datos de otras unidades de ejecucin (conocidas como tareas paralelas) que estn ejecutando en
paralelo partes de la consulta.
tarea paralela. En un entorno OS/390, unidad de ejecucin que se crea dinmicamente para procesar
una consulta en paralelo. Se implementa mediante un bloque de peticin de servicio de MVS.
debe comenzar un ciclo de suscripcin, y establecer un intervalo de tiempo que describe la frecuencia
con que se desea ejecutar el ciclo de suscripcin. Vase tambin temporizacin de sucesos y
temporizacin a peticin en la pgina 1617.
terminacin anmala. (1) Error del sistema o accin del operador que hace que un trabajo termine de
forma no satisfactoria. (2) En DB2, salida que no est bajo el control del programa, por ejemplo una
trampa o segv.
terminacin anmala de tarea (abend). Terminacin de una tarea, un trabajo o un subsistema debido a
una condicin de error que los recursos de recuperacin no pueden resolver durante la ejecucin.
terminador NUL. En el lenguaje C, el valor que indica el final de una serie. Para series de caracteres, el
terminador NUL es X'00'.
territorio. Porcin del entorno local POSIX que se correlaciona con el cdigo de pas para su proceso
interno por el gestor de bases de datos.
texto de SQL optimizado. Texto de SQL, producido por el recurso Explain, que est basado en la
consulta utilizada realmente por el optimizador para elegir el plan de acceso. Esta consulta ha sido
complementada y reescrita por los diversos componentes del compilador de SQL durante la compilacin
de sentencias. El texto se reconstruye a partir de su representacin interna y difiere del texto de SQL
original. La sentencia optimizada produce el mismo resultado que la sentencia original.
tiempo de espera excedido. Terminacin anormal del subsistema DB2 Universal Database para OS/390
o de una aplicacin debido a la no disponibilidad de los recursos. Se establecen especificaciones de
instalacin para determinar la cantidad de tiempo que DB2 Universal Database para OS/390 esperar
recibir servicios de IRLM despus de iniciarse y la cantidad de tiempo que IRLM esperar si un recurso
solicitado por una aplicacin no est disponible. Si se excede cualquiera de estas dos especificaciones de
tiempo, se declara un tiempo de espera excedido.
timeron. Unidad de medida que se utiliza para hacer un clculo relativo aproximado de los recursos, o
coste, que el servidor de bases de datos necesita para ejecutar dos planes para la misma consulta. Los
recursos calculados en la estimacin incluyen costes ponderados de procesador y de E/S.
tipificacin estricta. Proceso que garantiza que slo las funciones definidas por el usuario y las
operaciones que estn definidas en un tipo diferenciado puedan aplicarse a dicho tipo. Por ejemplo, no
se pueden comparar directamente dos tipos de moneda, tales como dlares canadienses y dlares
americanos. Pero se puede utilizar una funcin definida por el usuario para convertir una moneda en la
otra y luego realizar la comparacin.
tipo de datos. En SQL, atributo de columnas, literales, variables del lenguaje principal, registros
especiales y de los resultados de funciones y expresiones.
tipo de datos definido por el usuario. Vase tipo diferenciado en la pgina 1619.
tipo de datos parametrizados. Tipo de datos que se puede definir con una longitud, escala o precisin
especfica. Los datos de tipo serie y de tipo decimal estn parametrizados.
tipo definido por el usuario (UDT). Tipo de datos que no es nativo respecto al gestor de bases de
datos y ha sido creado por un usuario. En DB2 Universal Database, se utiliza el trmino tipo
diferenciado en lugar de tipo definido por el usuario.
tipo de LU. Clasificacin de una unidad lgica en trminos del subconjunto especfico de protocolos y
opciones SNA que soporta para una sesin determinada. Especficamente, los valores permitidos en la
peticin de activacin de sesin, la utilizacin de controles de corriente de datos, las cabeceras de
gestin de funcin, los parmetros de unidad de peticin, los valores de datos de deteccin y los
protocolos de servicios de presentacin tales como los asociados con las cabeceras de gestin de funcin.
tipo de objeto. (1) Nmero de 2 bytes que clasifica un objeto en el archivo de base de seguridad de un
servidor de archivos NetWare. Por ejemplo, 062B representa el tipo de objeto de servidor de bases de
datos DB2. (2) Categora o agrupacin de instancias de objetos que comparten comportamientos y
caractersticas similares.
tipo de PU. En SNA, clasificacin de una unidad fsica (PU) de acuerdo con el tipo de nodo en el que
reside.
tipo diferenciado. Tipo de datos definido por el usuario que est representado internamente como un
tipo existente (su tipo fuente), pero se considera que es un tipo diferente e incompatible para fines
semnticos.
tipo fuente. Tipo existente que se utiliza para representar internamente un tipo diferenciado.
Tivoli Space Manager. Caracterstica del producto Tivoli Storage Manager que maneja la entrada y
salida de archivos en un soporte de almacenamiento secundario basndose en los accesos a archivo
reales del sistema de archivos nativo primario. Esta caracterstica funciona con Data Links Manager para
permitir que los archivos DATALINK se almacenen en un sistema de archivos de tamao virtualmente
infinito.
Tivoli Storage Manager (TSM). Producto cliente/servidor que proporciona servicios de gestin de
almacenamiento y de acceso a datos en un entorno heterogneo. TSM da soporte a varios mtodos de
comunicacin, proporciona recursos administrativos para gestionar la copia y almacenamiento de
archivos, y recursos para planificar operaciones de copia.
TMP (terminal monitor program). En un entorno OS/390, programa supervisor de terminales. Este
programa se conecta al procesador de mandatos DSN proporcionado por DB2, el cual, a su vez, se
conecta al programa de aplicacin.
transaccin. (1) Intercambio de informacin entre una estacin de trabajo y un programa, dos
estaciones de trabajo o entre dos programas que realizan una accin o logran un resultado determinado.
Un ejemplo de transaccin es la entrada del ingreso de un cliente y la actualizacin del saldo del cliente.
Sinnimo de unidad de trabajo en la pgina 1621. (2) Invocacin individual de Net.Data. Si se utiliza
Net.Data permanente, una transaccin puede abarcar varias invocaciones de Net.Data.
transaccin conversacional. En APPC, dos o ms programas que se comunican utilizando los servicios
de unidades lgicas (las LU).
transaccin distribuida. Transaccin que actualiza datos en ms de una base de datos. Vase tambin
confirmacin en dos fases en la pgina 1543.
transaccin dudosa. Transaccin en la que finaliza satisfactoriamente una fase en una confirmacin de
dos fases, pero el sistema falla antes de que se pueda completar una fase subsiguiente.
transaccin rechazada. En el proceso de duplicacin de datos de DB2, transaccin que contiene una o
ms actualizaciones de tablas de duplicado que estn anticuadas respecto a la tabla fuente.
transformacin. En Centro de depsito de datos, operacin realizada sobre datos. Pivot y cleanse
son tipos de transformaciones.
transformador. Programa que acta sobre datos de depsito. Centro de depsito de datos proporciona
dos tipos de transformadores: transformadores estadsticos, que proporcionan estadsticas sobre los datos
de una o ms tablas, y transformadores de depsito, que preparan los datos para el anlisis. Los
transformadores tienen tipos de pasos correspondientes para los tipos de manipulacin de datos que
realizan los pasos; por ejemplo un paso de limpieza utiliza el transformador para limpiar datos (Clean
Data).
truncamiento. Proceso de eliminar parte del resultado de una operacin cuando excede la capacidad de
almacenamiento o memoria.
truncamiento del archivo de anotaciones. En DB2 Universal Database para OS/390, proceso mediante
el cual se establece una direccin de byte relativa de inicio explcita. Esta RBA es el punto en el cual se
escribir el prximo byte de datos de registro cronolgico.
U
ubicacin. Nombre exclusivo de un servidor de bases de datos. Una aplicacin utiliza el nombre de
ubicacin para acceder a un servidor de bases de datos DB2. Vase tambin nombre de ubicacin en la
pgina 1585.
UCS-2. Juego de caracteres universal, codificado en 2 octetos, lo que significa que los caracteres se
representan en 16 bits por carcter.
Unicode. Esquema internacional de codificacin de caracteres que es un subconjunto del estndar ISO
10646. Cada carcter soportado se define utilizando un cdigo exclusivo de 2 bytes. Vase tambin
ASCII en la pgina 1531 y EBCDIC en la pgina 1556.
unidad de trabajo distribuida (DUOW). Unidad de trabajo que permite someter sentencias de SQL a
varios sistemas de gestin de bases de datos relacionales, pero a razn de un slo sistema por cada
sentencia de SQL.
unidad de trabajo remota (RUOW). Una unidad de trabajo remota permite a un usuario o a un
programa de aplicacin leer o actualizar datos en una ubicacin por unidad de trabajo. Soporta el acceso
a una base de datos dentro de una unidad de trabajo. Mientras que un programa de aplicacin puede
actualizar varias bases de datos remotas, slo puede acceder a una base de datos de una unidad de
trabajo. Vase unidad de trabajo.
unidad direccionable de red (NAU). Fuente o destino de la informacin transmitida por la red de
control de vas de acceso. Una NAU puede ser una unidad lgica (LU), una unidad fsica (PU), un
punto de control (CP) o un punto de control de servicios del sistema (SSCP). Vase tambin nombre de
red en la pgina 1584.
unidad fsica (PU). Componente que gestiona y supervisa los recursos (tales como, enlaces conectados
y estaciones de enlace adyacentes) asociados a un nodo, de acuerdo con lo solicitado por un SSCP a
travs de una sesin SSCP-PU. Un SSCP activa una sesin con la PU a fin de gestionar indirectamente,
por medio de la PU, los recursos del nodo, tales como enlaces conectados. Este trmino es aplicable slo
a los nodos de tipo 2.0, 4 y 5. Vase tambin punto de control en la pgina 1597.
unidad lgica dependiente (DLU). Unidad lgica que necesita la ayuda de un punto de control de
servicios del sistema (SSCP) para crear una instancia de una sesin de LU-LU. Vase unidad lgica
independiente.
unidad lgica de trabajo (LUW). Proceso que un programa ejecuta entre puntos de sincronizacin.
unidad lgica independiente (ILU). Unidad lgica que es capaz de activar una sesin de LU-LU sin la
ayuda de un punto de control de servicios del sistema (SSCP). Una ILU no tiene una sesin de SSCP-LU.
Vase tambin unidad lgica dependiente.
unidad lgica 6.2 (LU 6.2). Tipo de LU que soporta sesiones entre dos aplicaciones que utilizan APPC.
unidad lgica (LU). (1) En SNA, puerto a travs del cual un usuario final accede a la red SNA para
comunicarse con otro usuario final. Una unidad lgica puede dar soporte a muchas sesiones con otras
unidades lgicas. (2) En un entorno OS/390, punto de acceso mediante el cual un programa de
aplicacin accede a la red SNA para comunicarse con otro programa de aplicacin. Vase tambin
nombre de LU en la pgina 1584.
unidad lgica (LU) asociada. (1) En SNA, participante remoto de una sesin. (2) Punto de acceso de la
red SNA que est conectado al subsistema local DB2 Universal Database para OS/390 mediante una
conversacin VTAM.
unin. Operacin relacional de SQL que permite recuperar datos de dos o ms tablas basndose en
valores de columna coincidentes. Vase tambin unin externa derecha, unin externa izquierda,
unin externa y unin interna.
unin compatible con la particin. Unin en la que todas las filas unidas residen en la misma
particin de base de datos.Vase unin.
unin de difusin. Unin en la que todas las particiones de una tabla se envan a todas las particiones
de la base de datos.
unin de equivalencia. Operacin de unin en la que la condicin de unin tiene el formato expresin
= expresin.
unin dirigida. Operacin relacional en la que todas las filas de una o ambas tablas unidas se
recalculan aleatoriamente y se dirigen hacia nuevas particiones de base de datos basndose en el
predicado de unin. Si todas las columnas clave de particionamiento de una tabla participan en los
predicados de unin de equivalencia, se recalcula aleatoriamente la otra tabla; de lo contrario, (si existe
al menos un predicado de unin de equivalencia), se recalculan aleatoriamente ambas tablas. Vase
unin.
unin externa. (1) Mtodo de unin en el que una columna que no es comn a todas las tablas que se
estn uniendo se convierte en parte de la tabla resultante. (2) Resultado de una operacin de unin que
incluye las filas coincidentes de las dos tablas que se estn uniendo y conserva algunas o todas las filas
no coincidentes de las tablas que se estn uniendo. Vase unin. Vase tambin unin interna,
unin externa completa, unin externa izquierda y unin externa derecha.
unin externa completa. Resultado de una operacin de unin de SQL que incluye las filas
seleccionadas de las dos tablas que se unen y conserva las filas no seleccionadas de ambas tablas. Vase
unin. Vase tambin unin externa, unin externa izquierda y unin externa derecha.
unin externa derecha. En DB2 Universal Database, resultado de una operacin de unin que incluye
las filas coincidentes de las dos tablas que se unen y conserva las filas no coincidentes del segundo
operando de la unin. Vase unin. Vase tambin unin externa izquierda y unin externa
completa.
unin externa izquierda. En DB2 Universal Database, resultado de una operacin de unin que incluye
las filas coincidentes de las dos tablas que se unen y conserva las filas no coincidentes de la primera
tabla. Vase unin. Vase tambin unin externa derecha.
unin interna. Mtodo de unin en el que se eliminan de la tabla resultante las columnas que no sean
comunes a todas las tablas que se estn uniendo. Vase unin. Vase tambin unin externa.
unin ordenada. Resultado de la unin de dos tablas cuando dichas tablas residen en un grupo de
particiones de base de datos de una sola particin en la misma particin de la base de datos o cuando
estn en el mismo grupo de particiones de base de datos, tienen el mismo nmero de columnas de
particionamiento, las columnas con compatibles con la particin, ambas tablas utilizan la misma funcin
de particionamiento y las parejas de las columnas clave de particionamiento correspondientes participan
en los predicados de unin de equivalencia (equijoin).
Extended UNIX Code (EUC). Protocolo que puede dar soporte a juegos de caracteres de 1 a 4 bytes de
longitud. EUC es un medio de especificar un conjunto de pginas de cdigos en lugar de ser un
esquema de codificacin de pginas de cdigos propiamente dicho. Es la alternativa de UNIX a los
esquemas de codificacin de pginas de cdigos de doble byte (DBCS) de PC.
URE (unit of recovery element). En DB2 Universal Database para OS/390, unidad de elemento de
recuperacin.
URID (ID de unidad de recuperacin). En DB2 Universal Database para OS/390, LOGRBA del primer
registro de anotaciones de una unidad de recuperacin. El URID tambin aparece en todos los registros
de anotaciones subsiguientes de esa unidad de recuperacin.
UTF-16. Unicode Transformation Format, formato de codificacin de 16 bits, que est diseado para
proporcionar valores de cdigo para ms de un milln de caracteres y un superconjunto de UCS-2. El
valor de CCSID para los datos en formato UTF-16 es 1200. DB2 para OS/390 y z/OS soporta UTF-16 en
campos de datos grficos.
UTF-8. Unicode Transformation Format, formato de codificacin de 8 bits, que est diseado para
facilitar el uso con los sistemas basados en ASCII existentes. El valor de CCSID para los datos en
formato UTF-8 es 1208. DB2 para OS/390 y z/OS soporta UTF-8 en campos de datos mixtos.
V
valor. (1) Contenido alfabtico o numrico de un campo o una variable. (2) Unidad ms pequea de
datos manipulada en SQL. (3) Elemento de datos especfico en la interseccin de una columna y una fila.
valor de distribucin de columnas. Estadsticas que describen los valores ms frecuentes de alguna
columna o los valores cuantiles. Estos valores se utilizan en el optimizador para ayudar a determinar el
mejor plan de acceso.
valor de indicacin de fecha y hora. Valor cuyo tipo de datos es DATE, TIME o TIMESTAMP.
variable. Elemento de datos que especifica un valor que se puede cambiar. Vase tambin constante
en la pgina 1544.
variable del lenguaje principal con terminacin NUL. En DB2 Universal Database para OS/390,
variable del lenguaje principal de longitud variable en la que el final de los datos se indica mediante la
presencia de un terminador NUL.
variable de referencia a archivo. Variable del lenguaje principal utilizada para indicar que los datos
residen en un archivo del cliente en lugar de residir en un almacenamiento intermedio del cliente.
variable de rendimiento. Estadstica derivada de los datos de rendimiento obtenidos del gestor de
bases de datos. La expresin para esta variable puede definirla el usuario.
variable de rendimiento definida por el usuario. Variable de rendimiento creada por un usuario y que
se aade al perfil de variables de rendimiento.
variable de transicin. Variable que slo es vlida en los desencadenantes FOR EACH ROW. Permite
tener acceso a los valores de transicin para la fila actual. Una variable de transicin antigua es el valor
de la fila antes de aplicar la modificacin y la variable de transicin nueva es el valor de la fila despus
de aplicar la modificacin.
variable indicadora. Variable utilizada para representar el valor nulo en un programa de aplicacin. Si
el valor para la columna seleccionada es nulo, se coloca un valor negativo en la variable indicadora.
variable localizadora. Variable del lenguaje principal que contiene el localizador que representa un
valor de LOB en el servidor de aplicaciones.
versin. En DB2 Universal Database para OS/390, miembro de un conjunto de programas, mdulos
DBRM, paquetes u objetos LOB similares. He aqu unos ejemplos:
v Una versin de un programa es el cdigo fuente que resulta de precompilar el programa. La versin
de un programa se identifica mediante el nombre del programa y una indicacin de fecha y hora
(smbolo de coherencia).
v Una versin de un DBRM es el DBRM que resulta de precompilar un programa. La versin de DBRM
se identifica mediante el mismo nombre de programa e indicacin de fecha y hora que en una versin
de programa correspondiente.
v Una versin de un paquete es el resultado de enlazar un DBRM dentro de un sistema de bases de
datos determinado. La versin de paquete se identifica mediante el mismo nombre de programa y
smbolo de coherencia que para el DBRM.
v Una versin de un LOB es una copia de un valor LOB en un momento determinado. El nmero de
versin de un LOB se guarda en la entrada de ndice auxiliar correspondiente al LOB.
va de acceso. Mtodo que el gestor de bases de datos selecciona para recuperar datos de una tabla
especfica. Por ejemplo, una va de acceso puede incluir la utilizacin de un ndice, una exploracin
secuencial o una combinacin de ambas.
va de acceso. (1) En un sistema operativo, una va de acceso es la ruta a un archivo especfico a travs
de un sistema de archivos. (2) En un entorno de red, una va de acceso es la ruta entre dos nodos
cualesquiera. (3) Vase va de acceso de SQL.
va de acceso de funcin. Lista ordenada de nombres de esquema que restringe el mbito de bsqueda
para invocaciones de funciones no calificadas y proporciona un rbitro final para el proceso de seleccin
de funcin.
va de acceso de SQL. En DB2 Universal Database para OS/390, lista ordenada de nombres de
esquema que se utiliza en la resolucin de referencias no calificadas en funciones definidas por el
usuario, tipos diferenciados y procedimientos almacenados. En el SQL dinmico, la va de acceso actual
se encuentra en el registro especial CURRENT PATH. En el SQL esttico, la va de acceso actual est
definida en la opcin de enlace PATH.
vigencia de los datos. En DB2 Universal Database para OS/390, estado en el cual los datos
recuperados de una variable de lenguaje principal del programa son una copia de los datos de la tabla
base.
Virtual Storage Access Method (VSAM). Mtodo de acceso para el proceso directo o secuencial de
registros de longitud fija o variable en dispositivos de acceso directo. Los registros de un archivo VSAM
pueden estar dispuestos en una secuencia lgica segn un campo de clave (secuencia de clave), en la
secuencia fsica con la que se escriben en el archivo (secuencia de entrada) o segn el nmero relativo de
registro.
Virtual Telecommunications Access Method (VTAM). En un entorno OS/390, programa bajo licencia
de IBM que controla la transmisin y el flujo de datos en una red SNA.
vista. (1) Tabla lgica que consta de datos generados por una consulta. (2) Modo de examinar la
informacin acerca de objetos o contenida en objetos. Cada vista puede revelar informacin diferente
acerca de sus objetos. Vase tambin tabla base en la pgina 1613.
vista con tipo. Una vista puede tener el tipo de datos de cada columna obtenido de la tabla de
resultados o tener los tipos de las columnas basados en los atributos de un tipo estructurado definido
por el usuario.
vista de catlogo. (1) En DB2 Universal Database, vistas SYSCAT y SYSSTAT de la tabla de catlogo. (2)
Vista que contiene informacin acerca de las tablas y columnas que Text Extender habilita para ser
utilizadas. Asimismo vista de la tabla del sistema creada por Text Extender para la administracin.
vista de usuario. En el modelo de datos lgico, modelo o representacin de informacin crtica que
necesita la empresa.
vista no operativa. (1) Vista que ya no se puede utilizar porque el privilegio SELECT en una tabla o
vista de la es dependiente la vista se ha revocado desde el definidor de la vista. (2) Un objeto del que
depende la definicin de la vista se ha eliminado (o posiblemente ha quedado no operativo en el caso de
otra vista).
vista relacionada. Vista que utiliza, o depende de, otro objeto, por ejemplo la vista padre o una tabla.
vista subyacente. En DB2 Universal Database para OS/390, vista sobre la cual est definida, directa o
indirectamente, otra vista.
Visual Explain. Herramienta que permite a los administradores de bases de datos y a los
programadores de aplicaciones utilizar una interfaz grfica para visualizar y analizar informacin
detallada acerca del plan de acceso de una sentencia de SQL determinada. Se puede acceder a las tareas
proporcionadas por esta herramienta desde el Centro de control.
vuelta atrs. Proceso que consiste en deshacer los cambios no confirmados que ha efectuado un proceso
de aplicacin. Una vuelta atrs puede ser necesaria en el caso de que se produzca una anomala en la
parte de un proceso de aplicacin o como resultado de una situacin de punto muerto.
W
WTO. Vase escribir a operador en la pgina 1558.
X
XCF. Vase recurso de acoplamiento entre sistemas en la pgina 1600.
Y
ya verificado. Opcin de seguridad de SNA LU 6.2 que permite a DB2 Universal Database para
OS/390 proporcionar el identificador de autorizacin verificado del usuario al asignar una conversacin.
El usuario no es validado por el subsistema asociado.
Z
z/OS. Sistema operativo para la lnea de productos eServer que soporta almacenamiento real de 64 bits.
Los manuales de instalacin, las notas del release y las guas de aprendizaje se
pueden visualizar directamente en formato HTML desde el CD-ROM del
producto. La mayora de los manuales pueden visualizarse en formato HTML
desde el CD-ROM del producto y pueden visualizarse e imprimirse en
formato PDF (Adobe Acrobat) desde el CD-ROM de publicaciones de DB2.
Notas:
1. El carcter x que ocupa la sexta posicin en el nombre de archivo indica el
idioma en que est escrito el manual. Por ejemplo, el nombre de archivo
db2d0e70 identifica la versin inglesa del manual Administration Guide y el
nombre de archivo db2d0f70 identifica la versin francesa del mismo
Idioma Identificador
Alemn g
Blgaro u
Checo x
Chino simplificado c
Chino tradicional t
Coreano k
Dans d
Esloveno l
Espaol z
Fins y
Francs f
Griego a
Holands q
Hngaro h
Ingls e
Italiano i
Japons j
Noruego n
Polaco p
Portugus brasileo b
Portugus v
Ruso r
Sueco s
Turco m
Puede tambin copiar los archivos PDF del CD-ROM a una unidad local o de
red y leerlos desde all.
Solicitud de los manuales impresos
Ayuda para el
Analizador de sucesos
Para abrir el Centro de informacin, haga una doble pulsacin sobre su icono.
Segn cul sea el sistema que est utilizando, el icono se encuentra en la
carpeta principal del producto o en el men Inicio de Windows.
Para realizar una bsqueda de texto completa, siga el enlace de hipertexto del
Centro de informacin que conduce al formulario de bsqueda Buscar
informacin en lnea sobre DB2.
Consulte las notas del release si tiene cualquier otro problema al buscar la
informacin HTML.
Nota: Los asistentes para Crear base de datos, Crear ndice, Configurar
actualizacin mltiple y Configuracin del rendimiento pueden
utilizarse en el entorno de base de datos particionada.
Las referencias hechas en esta publicacin a sitios Web que no son de IBM se
proporcionan slo para la comodidad del usuario y no constituyen un aval de
esos sitios Web. La informacin contenida en esos sitios Web no forma parte
de la informacin del presente producto IBM y el usuario es responsable de la
utilizacin de esos sitios Web.
LICENCIA DE COPYRIGHT:
ACF/VTAM IBM
AISPO IMS
AIX IMS/ESA
AIX/6000 LAN DistanceMVS
AIXwindows MVS/ESA
AnyNet MVS/XA
APPN Net.Data
AS/400 OS/2
BookManager OS/390
CICS OS/400
C Set++ PowerPC
C/370 QBIC
DATABASE 2 QMF
DataHub RACF
DataJoiner RISC System/6000
DataPropagator RS/6000
DataRefresher S/370
DB2 SP
DB2 Connect SQL/DS
DB2 Extenders SQL/400
DB2 OLAP Server System/370
DB2 Universal Database System/390
Distributed Relational SystemView
Database Architecture VisualAge
DRDA VM/ESA
eNetwork VSE/ESA
Extended Services VTAM
FFST WebExplorer
First Failure Support Technology WIN-OS/2
Tivoli y NetView son marcas registradas de Tivoli Systems Inc. en los Estados
Unidos y/o en otros pases.
ndice 1657
caracteres de doble byte clusula-on-nodes CLIENT ACCTNG, registro
truncados durante la CREATE TABLESPACE, especial 132
asignacin 110 sentencia 896, 898 CLIENT APPLNAME, registro
caracteres de escape, SQL 72 clusula OVER especial 132
caracteres especiales utilizar en funciones OLAP 197 CLIENT USERID, registro
blanco 70 clusula PARTITION BY especial 133
espacio 70 utilizar en funciones OLAP 197 CLIENT WRKSTNNAME, registro
rango 70 clusula RANGE especial 133
cargar una base de datos, otorgar utilizar en funciones OLAP 197 cliente/servidor
autorizacin para 1057 clusula ROW nombre de servidor,
CASCADE, regla de supresin 875 utilizar en funciones OLAP 197 descripcin 77
descripcin 22 clusula VALUES de mltiples filas CLOB, funcin
CASE, sentencia 1218 tipo de datos de resultado 120 descripcin bsica 238
CAST clusulas ESCAPE descripcin detallada 296
especificaciones 193 LIKE, predicado 225 valores y argumentos 296
expresin como operando 193 clave de inicio 786 CLOB, tipo de datos 852
marcador de parmetros como clave de parada 786 CLOSE, sentencia 626, 627
operando 194 clave de particionamiento CLUSTER, clusula
null como operando 194 ALTER TABLE, sentencia 581 CREATE INDEX, sentencia 778
catlogos consideraciones 882 COALESCE, funcin
adicin de comentarios sobre definicin al crear tabla 871 descripcin bsica 238
tablas, vistas, columnas 628 clave de unicidad descripcin detallada 297
COMMENT, sintaxis ALTER TABLE, sentencia 575 cdigos de error
detallada 628 clave fornea definiciones de SQLCA 1261
CEIL, funcin nombre de restriccin, convenios cdigos de retorno
descripcin detallada 288 para 875 sentencias de SQL
valores y argumentos 288 vista, restricciones de ejecutables 539
CEIL o CEILING, funcin referencia 15 sentencias incorporadas 542
descripcin bsica 237 claves cdigos de retorno de aviso 542
CEILING, funcin compuestas 17 cdigos de retorno de SQL
descripcin detallada 288 de unicidad 17, 18 visin general 542
valores y argumentos 288 exclusivas 17 COLUMN, clusula
Centro de informacin 1645 fornea 19 COMMENT, sentencia 630
cifrar informacin forneas 17 columna
funcin ENCRYPT 331 padre 20 nombre de restriccin, FOREIGN
funcin GETHINT 338 particin 17 KEY, reglas 875
CL_SCHED, tabla de muestra 1429 primarias 17 columna de OID 868
clasificacin claves de particionamiento columnas
clasificacin de los adicin con ALTER TABLE 565 actualizacin de los valores de
resultados 117 eliminacin con ALTER columna, sentencia
comparaciones de series 115 TABLE 565 UPDATE 1193
clusula BETWEEN claves forneas adicin con sentencia ALTER
utilizar en funciones OLAP 197 adicin con ALTER TABLE 565 TABLE 565
clusula-contenedor eliminacin con ALTER adicin de comentarios al
CREATE TABLESPACE, TABLE 565 catlogo 628
sentencia 897 claves primarias adicin de valores (SUM) 277
clusula CONTINUE adicin con ALTER TABLE 565 aadir a una tabla, ALTER
WHENEVER, sentencia 1207 eliminacin con ALTER TABLE 571
clusula CHECK en la sentencia TABLE 565 bsico, uso en series coincidentes
CREATE VIEW 964 otorgar privilegios de del predicado 213
clusula-except-on-nodes adicin 1071 buscar valor mximo 268
CREATE BUFFERPOOL, otorgar privilegios de buscar valor mnimo 270
sentencia 675 eliminacin 1071 bsqueda utilizando la clusula
clusula FROM, uso y ejemplo de CLI WHERE 486
nombre-correlacin 144 definicin 31
ndice 1659
configuracin del rendimiento, contenedores-basedatos conversiones (continuacin)
asistente de 1647 CREATE TABLESPACE, serie de caracteres de doble
configurar actualizacin mltiple, sentencia 897 byte 452
asistente para 1646 contenedores-sistema valores de coma flotante de
conjuntos-agrupacin 488 CREATE TABLESPACE, expresiones numricas 329,
conjuntos de agrupacin sentencia 896 404
ejemplos 503 CONTROL, clusula valores decimales de expresiones
conjuntos resultantes sentencia GRANT (tabla, vista o numricas 311
devolucin desde un apodo) 1072 copiar base de datos, asistente
procedimiento SQL 1236 CONTROL, clusula en sentencia para 1646
CONNECT, parmetro en sentencia GRANT, revocacin 1132 correlacin de funciones 58
GRANT...ON DATABASE 1056 CONTROL, parmetro correlacin de tipos de datos 57
CONNECT, sentencia (Tipo 1) revocar privilegios para correlacin de usuarios 57
descripcin detallada 653 paquetes 1125 correlaciones de funciones
EXCLUSIVE MODE 653 convenios de denominacin descripcin del nombre 74
SHARE MODE 653 columnas 74 correlaciones de particiones
CONNECT, sentencia (Tipo 2) etiquetas 75 creacin para grupos de
descripcin detallada 662 reglas para columna nodos 802
CONNECT TO, sentencia calificada 144 correlaciones de tipos
conexin no satisfactoria 659 SQL 72 convenios de nombre 77
conexin no satisfactoria, conversin descripcin del nombre 77
descripcin detallada 663 entre tipos de datos 101 CORRELATION, funcin
conexin satisfactoria 655 tipos de referencia 102 descripcin detallada 260
conexin satisfactoria, descripcin tipos definidos por el CORRELATION o CORR 238
detallada 662 usuario 102 COS, funcin
constantes conversin de caracteres descripcin bsica 238
con tipos definidos por el elemento de cdigo 34 descripcin detallada 299
usuario 131 esquemas de codificacin 34 valores y argumentos 299
decimal 130 juegos de caracteres 34 COT, funcin
definicin de entero 129 pginas de cdigos 34 descripcin bsica 238
hexadecimal 130 reglas al comparar series 124 descripcin detallada 300
reglas para coma flotante 129 reglas para asignaciones 108 valores y argumentos 300
serie de caracteres, rango y reglas para la comparacin 117 COUNT, funcin
precisin 130 reglas para operaciones que descripcin bsica 238
visin general 129 combinan series 124 descripcin de formato
constantes de coma flotante 129 conversin de coma flotante a detallado 261
CONSTRAINT, clusula decimal 107 valores y argumentos 261
COMMENT, sentencia 630 conversin decimal de entero, COUNT_BIG, funcin
consulta resumen 107 descripcin bsica 239
ejemplo 533 conversiones descripcin de formato
consulta de SQL CHAR, devolucin de valores de detallado 263
subconsulta, clusula indicacin de fecha y hora valores y argumentos 263
WHERE 486 convertidos 289 COVARIANCE, funcin
consultas 471 DBCS de SBCS y DBCS descripcin detallada 265
definicin 26, 471 mezclados 452 creacin
ejemplo de recurrencia 1499 de serie de caracteres a base de datos de muestra 1428
ID de autorizacin indicacin de fecha y hora 436 creacin de un valor DATALINK
necesarios 471 entero a decimal, reglas para DLVALUE, funcin 327
recursiva 520 expresin mixta 182 creacin de una base de datos,
contenedores fecha y hora a variable de serie otorgar autorizacin para 1057
CREATE TABLESPACE, de caracteres 110 crear base de datos, asistente
sentencia 896 numrico, escala y precisin, para 1646
descripcin 39 resumen 107 crear espacio de tablas, asistente
serie de caracteres a SQL para 1647
ejecutable 1042 crear tabla, asistente para 1646
ndice 1661
cursores (continuacin) DAY, funcin DECIMAL, funcin (continuacin)
terminacin para unidad de descripcin bsica 239 valores y argumentos 311
trabajo, ROLLBACK 1139 devolucin de la parte DECIMAL o DEC, funcin
ubicacin en la tabla, resultados correspondiente al da de los descripcin bsica 240
de FETCH 1050 valores 303 declaraciones
unidad de trabajo, estados DAYNAME, funcin insercin en un programa 1080
condicionales 976 descripcin bsica 239 DECLARE
utilizacin del programa 979 descripcin detallada 305 BEGIN DECLARE SECTION,
WITH HOLD, clusula de valores y argumentos 305 sentencia 615
bloqueo de la sentencia DAYOFWEEK, funcin END DECLARE SECTION,
COMMIT, efecto 641 descripcin bsica 239 sentencia 1034
cursores ambiguos 980 descripcin detallada 306 DECLARE, sentencia 1233
cursores de slo lectura valores y argumentos 306 DECLARE CURSOR, sentencia 976
ambiguo 980 DAYOFWEEK_ISO, funcin condiciones para la
descripcin bsica 239 autorizacin 976
CH descripcin de formato descripcin detallada 976
CHAR detallado 307 notas de utilizacin del
funcin descripcin 289 valores y argumentos, reglas programa 979
CHAR, funcin para 307 DECLARE GLOBAL TEMPORARY
descripcin bsica 238 DAYOFYEAR, funcin TABLE, sentencia
CHAR VARYING, tipo de descripcin bsica 239 descripcin detallada 982
datos 851 descripcin detallada 308 DECRYPT, funcin
CHARACTER VARYING, tipo de valores y argumentos 308 descripcin detallada 314
datos 851 DAYS, funcin valores y argumentos 314
CHR, funcin descripcin bsica 240 DECRYPT_BIN, funcin
descripcin bsica 238 devolucin de las duraciones de descripcin bsica 240
descripcin detallada 295 entero 309 DECRYPT_CHAR, funcin
valores y argumentos 295 db2nodes.cfg descripcin bsica 240
ALTER NODEGROUP 553 definicin de servidor 57
D CONNECT (Tipo 1) 660 definicin de tabla
DATE CREATE NODEGROUP 801 ADVISE_WORKLOAD
funcin escalar WEEK 454 CURRENT NODE 138 creacin 1493
funcin escalar WEEK_ISO 455 NODENUMBER, funcin 390 definida por el usuario, funcin
DATE, funcin DBADM, parmetro, sentencia CREATE FUNCTION (Escalar
conversin de formato de valor a GRANT...ON DATABASE 1057 externa), sentencia 696
fecha 301 DBCLOB, funcin CREATE FUNCTION (Tabla
descripcin bsica 239 descripcin bsica 240 externa), sentencia 723
descripcin detallada 301 descripcin detallada 310 sentencia CREATE FUNCTION
operaciones aritmticas 186 valores y argumentos 310 (fuente o plantilla) 750
DATE, tipo de datos 852 DBCLOB,tipos de datos 852 DEGREES, funcin
datos de bit DDL descripcin bsica 240
definicin 88 definicin 9, 58 descripcin detallada 316
serie BLOB 85 decimal valores y argumentos 316
datos MBCS (juego de caracteres de coma decimal implcita 90 DELETE, clusula
doble byte) constantes, rango y sentencia GRANT (tabla, vista o
dentro de datos mixtos 88 precisin 130 apodo) 1072
datos mixtos conversin de coma flotante 107 sentencia REVOKE, revocar
descripcin 88 decimal empaquetado 90 privilegios 1132
LIKE, predicado 225 frmulas aritmticas, escala y DELETE, sentencia
datos numricos precisin 182 autorizacin, formato buscado o
conversiones remotas 55 nmeros 90 posicionado 991
datos SBCS (juego de caracteres de tipo de datos, visin general 90 descripcin detallada 991
un solo byte) tipos de datos 83 delimitado, identificador de SQL 71
dentro de datos mixtos 88 DECIMAL, funcin delimitadores, definicin de
descripcin 88 descripcin detallada 311 smbolos 70
ndice 1663
DOUBLE (continuacin) EMP_PHOTO, tabla de errores de referencia no
precisin 90 muestra 1435 definida 148
rango 90 EMP_RESUME, tabla de escala de datos
tipo de datos 90 muestra 1435 comparaciones en SQL, visin
DOUBLE, funcin EMPLOYEE, tabla de muestra 1429 general 114
descripcin bsica 241 ENCRYPT, funcin conversin de nmero en
descripcin detallada 329 descripcin bsica 241 SQL 107
valores y argumentos 329 descripcin detallada 331 determinada por la variable
DOUBLE, tipo de datos 850 valores y argumentos 331 SQLLEN 1271
DOUBLE o DOUBLE_PRECISION, END DECLARE SECTION, en operaciones aritmticas 182
funcin sentencia 1034 escala de nmeros
descripcin bsica 241 descripcin detallada 1034 determinada por la variable
DOUBLE-PRECISION, tipo de enlace 1061 SQLLEN 1276
datos 850 recuperacin de datos, papel en espacio de tabla
DROP, sentencia la optimizacin 9 identificacin
descripcin detallada 1005 revocacin de todos los CREATE TABLE,
DROP CONSTRAINT, clusula de privilegios 1124 sentencia 869
sentencia ALTER TABLE 587 semntica de funcin 174 ndice
DROP CHECK, clusula de sentencia semntica de mtodo 174 CREATE TABLE,
ALTER TABLE 586 sentencia enlazada 45 sentencia 870
DROP FOREIGN KEY, clusula enlace de datos espacio de tablas
ALTER TABLE, sentencia 586 INSERT, sentencia 1086 convenios de nombre 77
DROP PARTITIONING KEY, enlaces de datos descripcin del nombre 77
clusula de sentencia ALTER creacin 327 espacio de tablas SMS
TABLE 587 especificaciones BNF 1521 CREATE TABLESPACE,
DROP PRIMARY KEY, clusula extraccin de la va de acceso y sentencia 896
ALTER TABLE, sentencia 586 del nombre de archivo 323, descripcin 39
DROP TRANSFORM 1005 324 espacio gestionado por base de
DROP UNIQUE, clusula extraccin de tipoenlace 321 datos 39
ALTER TABLE, sentencia 586 extraccin del comentario 320 espacio gestionado por el sistema
duracin extraccin del esquema 325 (SMS)
etiquetada 184 extraccin del servidor de descripcin 39
fecha y hora 185 archivos 326 espacios
formato de fecha 185 extraccin del URL reglas que rigen 71
formato de hora 185 completo 322 espacios de tablas
restar 187 entero-escala adicin de comentarios al
sumar 187 DECIMAL, funcin 311 catlogo 628
duracin etiquetada entero-precisin agrupaciones de
descripcin 184 DECIMAL, funcin 311 almacenamientos
duraciones valores por omisin para tipos de intermedios 673
definicin 184 datos 311 CREATE TABLESPACE,
duraciones etiquetadas enteros sentencia 893
diagrama 184 definicin de constantes 129 definicin 39
valores 184 ejemplo de sintaxis de descripcin 39
DYNAMICRULES 81 constantes 129 DROP, sentencia 1018
en clusula ORDER BY 523 otorgar privilegios 1078
E resumen de conversin requisitos de
ejecucin decimal 107 redenominacin 1116
privilegios de paquete 1061 enteros binarios revocar privilegios 1137
revocar privilegios de tipos de datos 83 suprimir utilizando la sentencia
paquete 1124 enteros grandes 90 DROP 1005
ejecucin remota del SQL 49 errores tamao de pgina 895
elemento de cdigo 34 cerrar cursor 1097 espacios de tablas DMS
EMP_ACT, tabla de muestra 1433 errores de referencia ambigua 148 CREATE TABLESPACE,
sentencia 896
ndice 1665
expresiones (continuacin) extraccin del servidor de archivos filas (continuacin)
escalar, seleccin completa 184 del valor DATALINK asignacin de valores a la
especificacin CAST 193 DLURLSERVER, funcin 326 variable del lenguaje principal,
especificaciones CAST 193 extraccin del URL completo del SELECT INTO 1145
expresiones-agrupacin en valor DATALINK asignacin de valores a la
GROUP BY 487 DLURLCOMPLETE, variable del lenguaje principal,
formato y reglas 176 funcin 322 VALUES INTO 1205
funciones OLAP 197 autorreferente 20
invocacin de mtodos 204 F bloqueos, efecto sobre el cursor
operaciones de fecha de WITH HOLD 977
desreferencia 196 CHAR, utilizacin en conversin bloqueos en datos de filas,
operadores aritmticos 180 de formato 289 sentencia INSERT 1090
operadores de duraciones de da, buscar en el clusula HAVING, resultados de
concatenacin 177 rango 309 bsqueda 495
operadores de sustitucin 176 formato de duracin 185 clusula SELECT, diagrama de
operadores matemticos 176 formato de serie 92 sintaxis 473
operandos de coma flotante 183 mes, devolucin del valor de claves de ndice con clusula
operandos de fecha y hora 184 indicacin de fecha y hora 373 UNIQUE 775
operandos decimales 182 utilizacin de ao en condiciones de bsqueda,
operandos enteros 182 expresiones 456 sintaxis 232
prioridad de operacin 190 fecha y hora COUNT, funcin 261
secuencias 207 de GENERATE_UNIQUE 339 COUNT_BIG, funcin 263
SELECT, diagrama de sintaxis en definicin de datos 91 cursor, ubicacin en la tabla
la clusula 473 duracin 185 resultante 977
series 177 EUR 92 cursor en sentencia FETCH 1097
sin operadores 177 formato de representacin de definicin 14
tratamiento de los subtipos 206 serie 94 dependiente 20
valores 176 funcin escalar VARCHAR 450 descendiente 20
expresiones de tabla ISO 92 GROUP BY, utilizacin para
descripcin 27 JIS 92 limitar la clusula
expresiones de tabla lmites 1255 SELECT 475
comunes 519 LOCAL 92 HAVING, utilizacin para limitar
expresiones de tabla anidadas 480 operaciones aritmticas 185, 189 la clusula SELECT 475
expresiones de tabla comunes restriccin de serie de caracteres ndices 774
definicin 519 de mltiples bytes (MBCS) 94 insercin de valores, sentencia
recursiva 520 tipo de datos 185 INSERT 1084
sentencia select 519 tipos de datos 83 insercin en tablas o vistas 1082
expresiones de tabla comunes descripcin 91 insertar valores 1085
recursivas 520 representacin de serie 92 otorgar privilegio de exportacin
EXTEND USING, clusula USA 92 de datos de fila 1073
CREATE INDEX, sentencia 778 FETCH, sentencia otorgar privilegio de importacin
extraccin de comentario del valor descripcin detallada 1050 de valores 1072
DATALINK requisitos previos del cursor para otorgar privilegio de
DLCOMMENT, funcin 320 la ejecucin 1050 insercin 1072
extraccin de esquema del valor fila otorgar privilegio de
DATALINK cursor, efecto de cierre en recuperacin de datos de
DLURLSCHEME, funcin 325 FETCH 626 fila 1073
extraccin de la va de acceso y del fila del total 492 otorgar privilegio de
nombre de archivo del valor fila fantasma 25, 1454 supresin 1072
DATALINK filas padre 20
DLURLPATH, funcin 323 actualizacin de los valores de peticin FETCH, seleccin de fila
DLURLPATHONLY, funcin 324 columna, sentencia de cursor 977
extraccin de tipoenlace del valor UPDATE 1193 restricciones que conducen a
DATALINK anomalas 1085
DLLINKTYPE, funcin 321 suprimir 991
ndice 1667
funciones (continuacin) funciones (continuacin) funciones (continuacin)
columna (continuacin) escalar (continuacin) escalar (continuacin)
funciones de regresin 272 CHAR (esquema JULIAN_DAY 243, 355
MAX 244, 268 SYSFUN) 238 LCASE 243, 357
MIN 245, 270 CHR 238, 295 LCASE (esquema
REGR_AVGX 247, 272 DATE 239, 301 SYSFUN) 243
REGR_AVGY 247, 272 DAY 239, 303 LEFT 243, 358
REGR_COUNT 248, 272 DAYNAME 239, 305 LENGTH 244, 359
REGR_ICPT 272 DAYOFWEEK 239 LN 244, 361
REGR_INTERCEPT 272 DAYOFWEEK_ISO 239 LOCATE 244, 362
REGR_INTERCEPT OR DAYOFYEAR 239, 308 LOG 244, 363
REGR_ICPT 248 DAYS 240, 309 LOG10 244, 364
REGR_R2 248, 272 DBCLOB 240, 310 LONG_VARCHAR 244, 365
REGR_SLOPE 248, 272 DECIMAL 311 LONG_VARGRAPHIC 244,
REGR_SXX 248, 272 DECIMAL o DEC 240 366
REGR_SXY 248, 272 DECRYPT_BIN 240 LTRIM 244, 367, 368
REGR_SYY 248, 272 DECRYPT_CHAR 240 LTRIM (esquema
STDDEV 250, 276 definicin 279 SYSFUN) 244
SUM 250, 277 definida por el usuario 469 MICROSECOND 245, 369
VAR, opciones 278 DEGREES 240, 316 MIDNIGHT_SECONDS 245,
VAR, resultados 278 DEREF 240, 317 370
VARIANCE, opciones 278 DIFFERENCE 240, 318 MINUTE 245, 371
VARIANCE, resultados 278 DIGITS 241, 319 MOD 245, 372
VARIANCE o VAR 253 DLCOMMENT 241, 320 MONTH 245, 373
de SQL DLURLCOMPLETE 241, 322 MONTHNAME 245, 374
descripcin 160 DLURLPATH 241, 323 MQPUBLISH 246, 375
definida por el usuario 159 DLURLPATHONLY 241, 324 MQREAD 246, 378
derivada DLURLSCHEME 241, 325 MQRECEIVE 246, 380
descripcin 160 DLURLSERVER 241, 326 MQSEND 246, 382
descripcin 159, 235 DLVALUE 241, 327 MQSUBSCRIBE 246, 384
descripcin del nombre 74 DLLINKTYPE 241, 321 MQUNSUBSCRIBE 246, 386
en expresiones 235 DOUBLE 241, 329 MULTIPLY_ALT 246, 388
escalar DOUBLE o NODENUMBER 246, 390
ABS 280 DOUBLE_PRECISION 241 NULLIF 246, 392
ABS o ABSVAL 236 DOUBLE_PRECISION 329 PARTITION 246, 393
ABSVAL 280 ENCRYPT 241, 331 POSSTR 246, 395
ACOS 236, 281 EVENT_MON_STATE 242, POWER 247, 398, 400
ASCII 237, 282 334 QUARTER 247, 399
ASIN 237, 283 EXP 242, 335 RADIANS 247
ATAN 237, 284 FLOAT 242, 336 RAISE_ERROR 247, 401
ATAN2 237, 285 FLOOR 242, 337 RAND 247, 403
AVG 258 GENERATE_UNIQUE 242, REAL 247, 404
BIGINT 237, 286 339 REC2XML 247, 405
BLOB 237, 287 GET_ROUTINE_SAR 242, REPEAT 248, 411
CEIL 288 247 REPLACE 248, 412
CEIL o CEILING 237 GETHINT 242, 338 restricciones, visin
CEILING 288 GRAPHIC 242, 341 general 279
CLOB 238, 296 GROUPING 242, 266 RIGHT 248, 413
COALESCE 238, 297 HEX 242, 342 ROUND 249, 414
CONCAT 298 HOUR 243, 344 RTRIM 249, 416, 417
CONCAT o || 238 IDENTITY_VAL_LOCAL 243, RTRIM (esquema
COS 238, 299 345 SYSFUN) 249
COT 238, 300 INSERT 243, 351 SECOND 249, 418
CHAR 238, 289 INTEGER 353 SIGN 249, 419
INTEGER o INT 243 SIN 249, 420
ndice 1669
GRANT, sentencia hora (continuacin) identificadores de SQL sensibles a
CONTROL ON INDEX devolucin de segundos del valor maysculas/minsculas 71
descripcin detallada 1059 de indicacin de fecha y identificadores delimitados, SQL 72
nombre de autorizacin 79 hora 418 identificadores SQL
nombre de autorizacin, devolucin de valores basados en base de datos 72
utilizacin en 81 la hora 435 IDENTITY, columnas
privilegios de apodo, vista o formato de duracin 185 CREATE TABLE, sentencia 864
tabla indicaciones de la fecha y hora IDENTITY_VAL_LOCAL, funcin
descripcin detallada 1070 longitud de serie 91 descripcin bsica 243
Privilegios de paquete representacin interna 91 descripcin detallada 345
descripcin detallada 1061 microsegundo, devolucin del valores y argumentos 345
privilegios para apodos 1070 valor de indicacin de fecha y IF, sentencia 1227
privilegios para tablas 1070 hora 369 IMMEDIATE, palabra clave
privilegios para vistas 1070 minuto, devolucin del valor de EXECUTE IMMEDIATE,
GRAPHIC, funcin indicacin de fecha y hora 371 sentencia 1042
descripcin bsica 242 operaciones aritmticas, implcita, conexin
descripcin detallada 341 reglas 188 sentencia CONNECT 653
valores y argumentos 341 series 93 imprimir manuales PDF 1640
GRAPHIC, tipo de datos tipos de datos 83 IN EXCLUSIVE MODE, clusula en
para CREATE TABLE 852 utilizacin de la hora en una sentencia LOCK TABLE 1092
GROUP BY, clusula expresin 435 IN SHARE MODE, clusula,
de subseleccin, reglas y valores de hora, utilizacin en sentencia LOCK TABLE 1092
sintaxis 487 una expresin (HOUR) 344 IN_TRAY, tabla de muestra 1436
resultados de subseleccin 475 HOUR, funcin INCLUDE, clusula
GROUPING, funcin 266 descripcin bsica 243 CREATE INDEX, sentencia 777
descripcin bsica 242 descripcin detallada 344 INCLUDE, sentencia
grupos de nodos valores y argumentos 344 descripcin detallada 1080
adicin de comentarios al HTML incorporacin de sentencias de SQL
catlogo 628 programas de ejemplo 1638 procedimientos SQL 539
adicin de nodos 552 incrementar un hora, reglas 189
adicin de particiones 552 I incrementar una fecha, reglas 187
convenios de denominacin 75 ID de autorizacin INDEX, clusula
creacin 801 descripcin 79 CREATE INDEX, sentencia 774,
creacin de mapas de ID de autorizacin de ejecucin 80 776
particionamiento 802 ID de autorizacin durante la sentencia GRANT (tabla, vista o
descripcin 39 ejecucin 82 apodo) 1072
eliminacin de un nodo 552 ID de autorizacin en sentencias sentencia REVOKE, eliminar
eliminacin de una dinmicas, visin general de 81 privilegios 1132
particin 552 identificador de idioma INDEX, clusula de la sentencia
nombre, sintaxis 75 manuales 1638 COMMENT 632
identificador de objeto (OID) 868 INDEX, palabra clave
H CREATE TABLE, sentencia 868 DROP, sentencia 1011
HAVING, clusula CREATE VIEW, sentencia 961 ndice
condiciones de bsqueda con identificadores adicin de comentarios al
subseleccin 495 lmites de longitud 1253 catlogo 628
resultados de subseleccin 475 SQL, descripcin 71 correspondencia con los valores
HEX, funcin SQL, ordinario 72 de fila insertados 1085
descripcin bsica 242 SQL, sistema principal 71 definicin 16
descripcin detallada 342 identificadores de sistema principal relaciones de vista 16
valores y argumentos 342 definicin 72 usos 16
hora en variable del lenguaje ndice, asistente de 1647
CHAR, utilizacin en conversin principal 152 ndices
de formato 289 en variables del lenguaje clave de unicidad, utilizacin en
devolucin de la indicacin de la principal 75 coincidencias 579
fecha y hora de valores 436 sentencia de SQL 71
ndice 1671
lmites (continuacin) lgica de evaluacin verdadera mtodo definido por el usuario
gestor de bases de datos 1256, reglas de condiciones de descripcin 168
1260 bsqueda 232 mtodos
longitud de identificador 1253 LONG_VARCHAR, funcin convenios de denominacin 75
numrico 1254 descripcin bsica 244 definido por el usuario 168
serie 1255 descripcin detallada 365 descripcin 168
SQL 1253 valores y argumentos 365 invocacin 204
lmites del gestor de bases de LONG VARCHAR, tipo de datos nombre, sintaxis 75
datos 1256 para CREATE TABLE 851 MICROSECOND, funcin
lmites especficos de tamao de LONG_VARGRAPHIC, funcin descripcin bsica 245
pgina del gestor de bases de descripcin bsica 244 descripcin detallada 369
datos 1260 descripcin detallada 366 valores y argumentos 369
lista de seleccin valores y argumentos 366 MIDNIGHT_SECONDS, funcin
descripcin 473 longitudes de las expresiones descripcin bsica 245
reglas de aplicacin y LENGTH, funcin 359 descripcin detallada 370
sintaxis 475 LOOP, sentencia 1231 valores y argumentos 370
reglas de notacin y LTRIM, funcin MIN, funcin
convenciones 473 descripcin bsica 244 descripcin bsica 245
literales descripcin detallada 367, 368 descripcin de formato
visin general 129 valores y argumentos 367, 368 detallado 270
LN, funcin valores y argumentos 270
descripcin bsica 244 M MINUTE, funcin
descripcin detallada 361 MANAGED BY, clusula de la descripcin bsica 245
valores y argumentos 361 sentencia CREATE descripcin detallada 371
LOAD, parmetro de la sentencia TABLESPACE 893 valores y argumentos 371
GRANT...ON DATABASE 1057 manuales 1629, 1640 MOD, funcin
LOB marcadores de parmetros descripcin bsica 245
localizador, definicin 85 con tipo 1101 descripcin detallada 372
serie, definicin 85 en expresiones, predicados y valores y argumentos 372
LOCAL funciones 1101 MODE, palabra clave en sentencia
formato de indicacin de fecha y especificacin CAST 194 LOCK TABLE 1092
hora 92 OPEN, sentencia 1095 mdulo de reiniciador 59
localizador PREPARE, sentencia 1101 MONTH, funcin
definicin 85 reglas 1101 descripcin bsica 245
localizador de grandes objetos sentencia EXECUTE 1036 descripcin detallada 373
(LOB), definicin 85 sin tipo 1101 valores y argumentos 373
localizadores sustitucin en sentencia MONTHNAME, funcin
descripcin de variable 155 OPEN 1094 descripcin bsica 245
FREE LOCATOR, sentencia 1055 variables de lenguaje principal en descripcin detallada 374
LOCATE, funcin SQL dinmico 152 valores y argumentos 374
descripcin bsica 244 MAX, funcin MQPUBLISH, funcin
descripcin detallada 362 descripcin bsica 244 descripcin bsica 246
valores y argumentos 362 descripcin de formato descripcin detallada 375
LOCATORS 1216 detallado 268 valores y argumentos 375
LOCK TABLE, sentencia valores y argumentos 268 MQREAD, funcin
descripcin detallada 1092 maysculas, conversin a 71 descripcin bsica 246
LOG, funcin mensajes de error descripcin detallada 378
descripcin bsica 244 cdigos de retorno 542 valores y argumentos 378
descripcin detallada 363 ejecucin de MQREADALL, funcin
valores y argumentos 363 desencadenantes 918 descripcin bsica 246
LOG10, funcin FETCH, sentencia 1052 descripcin detallada 458
descripcin bsica 244 UPDATE, sentencia 1199 valores y argumentos 458
descripcin detallada 364 METHOD, clusula MQRECEIVE, funcin
valores y argumentos 364 DROP, sentencia 1011 descripcin bsica 246
descripcin detallada 380
ndice 1673
NULLIF, funcin opcin de servidor password 1419 operandos (continuacin)
descripcin bsica 246 opcin de servidor plan_hints 1419 decimal 182, 183
descripcin detallada 392 opcin de servidor pushdown 1420 entero 182
valores y argumentos 392 opcin de servidor fecha y hora
numricas varchar_no_trailing_blanks 1420 duracin de fecha 184
asignaciones en operaciones opciones de columna duracin de hora 184
SQL 106 CREATE TABLE, sentencia 855 duracin etiquetada 184
comparaciones 114 serie numrica 1413 reglas para decimales 182
numrico varchar_no_trailing_blanks 1414 reglas para enteros 182
lmites 1254 opciones de servidor series 177
nmero decimal empaquetado, collating_sequence 1416 operandos de lista
situacin de la coma decimal 90 comm_rate 1417 tipo de datos de resultado 120
nmero decimal implcito 90 connectstring 1417 OPTION, clusula
nmeros de coma flotante contrasea 1419 CREATE VIEW, sentencia 964
precisin 90 cpu_ratio 1417 OR, tabla de evaluacin 232
rango 90 dbname 1417 orden de clasificacin
tipos de datos 83 fold_id 1418 reglas de comparacin de
fold_pw 1418 series 115
O io_ratio 1418 orden de evaluacin
ODBC nodo 1419 expresiones 190
definicin 31 plan_hints 1419 ORDER BY, clusula
OF, clusula pushdown 1420 sentencia select 522
CREATE VIEW, sentencia 960 varchar_no_trailing_blanks 1420 utilizar en funciones OLAP 197
OLAP OPEN, sentencia ordinario, identificador de SQL 71
funciones 197 descripcin detallada 1094 ordinarios, definicin de
OLAP, funciones Open database connectivity (ODBC) smbolos 70
clusula BETWEEN 197 definicin 31 ORG, tabla de muestra 1436
clusula CURRENT ROW 197 operacin
clusula OVER 197 asignaciones 105 P
clusula PARTITION BY 197 fecha y hora, reglas de SQL 185 PACKAGE, clusula
clusula RANGE 197 operacin de desreferencia 196 DROP, sentencia 1014
clusula ROW 197 expresin-ref-mbito 196 sentencia COMMENT 633
clusula UNBOUNDED 197 operando nombre-atributo 196 padre, claves 20
ORDER BY, clusula 197 operaciones padre, filas 20
ON, clusula asignaciones 105, 111 padre, tablas 20
CREATE INDEX, sentencia 776 comparaciones 105, 114, 120 pginas de cdigos
ON TABLE, clusula desreferencia 196 definicin 34
GRANT, sentencia 1074 operaciones de SQL palabras
REVOKE, sentencia 1133 bsicas 105 SQL reservadas 1447, 1449
ON UPDATE, clusula 878 operador de conjunto palabras reservadas de SQL 1449
ONLY, clusula EXCEPT, comparacin de paquete
DELETE, sentencia 993 diferencias 513 definicin 32
UPDATE, sentencia 1195 INTERSECT, papel de AND en otorgar privilegios 1061
opcin de columna serie comparaciones 513 plan 32
numrica 1413 tipo de datos de resultado 120 plan de acceso 32
opcin de columna UNION, correspondencia con paquetes
sin_blancos_cola_varchar 1414 OR 513 adicin de comentarios al
opcin de servidor operador de prefijo 181 catlogo 628
collating_sequence 1416 operadores 181 autorizacin para crear,
opcin de servidor cpu_ratio 1417 aritmticos, resumen 180 otorgar 1056
opcin de servidor dbname 1417 operadores lgicos COMMIT, efecto de la sentencia
opcin de servidor fold_id 1418 reglas para condiciones de sobre el cursor 641
opcin de servidor fold_pw 1418 bsqueda 232 convenios de denominacin 75
opcin de servidor io_ratio 1418 operandos DROP FOREIGN KEY, efecto en
opcin de servidor node 1419 coma flotante 183 dependientes 592
ndice 1675
procedimiento SQL (continuacin) PUBLIC, clusula (continuacin) recuperacin
gestores de condiciones 1236 REVOKE (privilegios de de aplicaciones 27
sentencia CASE 1218 esquema), sentencia 1128 recurrencia
sentencia compuesta de REVOKE, sentencia 1120, 1125 consulta 520
procedimiento 1233 sentencia REVOKE, eliminar ejemplo 1499
sentencia de asignacin 1214 privilegios 1133 REFERENCES, clusula
sentencia de gestor de sentencia REVOKE (privilegios sentencia GRANT (tabla, vista o
condiciones 1236 de ndice) 1123 apodo) 1073
sentencia dinmica punto de salvar sentencia REVOKE, eliminar
compuesta 642 liberar 1113 privilegios 1132
sentencia FOR 1221 ROLLBACK TO referencia, ciclos 20
sentencia GET SAVEPOINT 1139 referencia correlacionada 486
DIAGNOSTICS 1223 puntos de salvar referencia correlacionada, uso en una
sentencia GOTO 1225 convenios de denominacin 76 expresin de tabla anidada 149
sentencia IF 1227 nombre, sintaxis 76 referencia correlacionada, uso en una
sentencia ITERATE 1229 PUT_ROUTINE_SAR, funcin seleccin completa 149
sentencia LEAVE 1230 descripcin bsica 247 referencia correlacionada, uso en una
sentencia LOOP 1231 subconsulta 149
sentencia REPEAT 1240 Q referencia de tabla
sentencia RESIGNAL 1242 QUARTER, funcin apodo 479
sentencia RETURN 1245 descripcin bsica 247 expresiones de tabla
sentencia SIGNAL 1248 descripcin detallada 399 anidadas 480
sentencia WHILE 1251 valores y argumentos 399 nombre de tabla 479
SET, sentencia 1214 nombre de vista 479
variables 642, 1233 R seudnimo 480
procedimientos RADIANS, funcin REFRESH TABLE, sentencia
convenios de denominacin 75 descripcin bsica 247 descripcin detallada 1110
crear, sintaxis 804 descripcin detallada 400 REFRESH DEFERRED 1110
nombre, sintaxis 75 valores y argumentos 400 REFRESH IMMEDIATE 1110
procedimientos almacenados RAISE_ERROR, funcin registro
CALL, sentencia 617 descripcin bsica 247 definicin 132
crear, sintaxis 804 descripcin detallada 401 registro de anotaciones
PROCEDURE, clusula de la valores y argumentos 401 creacin de una tabla sin registro
sentencia COMMENT 633 RAND, funcin de anotaciones inicial 872
proceso analtico en lnea (online descripcin bsica 247 registros
analytical processing - OLAP) 197 descripcin detallada 403 bloqueos en datos de filas,
proceso de aplicacin, definicin valores y argumentos 403 sentencia INSERT 1090
de 27 RANK registros especiales
proceso de confirmacin funcin OLAP 197 CLIENT ACCTNG 132
bloqueos, relacin con los REAL CLIENT APPLNAME 132
cambios no confirmados 27 precisin 90 CLIENT USERID 133
programa de aplicacin rango 90 CLIENT WRKSTNNAME 133
simultaneidad 27 tipo de datos 90 CURRENT DATE 134, 141
utilizaciones de SQLDA 1267 REAL, funcin CURRENT DEFAULT
programas de ejemplo conversin de precisin TRANSFORM GROUP 134
HTML 1638 simple 404 CURRENT DEGREE 135
para varias plataformas 1638 descripcin bsica 247 CURRENT EXPLAIN
PROJECT, tabla de muestra 1437 descripcin detallada 404 MODE 136
promocionar valores y argumentos 404 CURRENT EXPLAIN
prioridad 100 REAL, tipo de datos 850 SNAPSHOT 137
tipos de datos 100 REC2XML, funcin CURRENT FUNCTION
PUBLIC, clusula descripcin bsica 247 PATH 138
GRANT, sentencia 1058, 1060, descripcin detallada 405 CURRENT NODE 138
1062, 1065, 1075 valores y argumentos 405 CURRENT PATH 138
ndice 1677
SELECT, sentencia sentencia CREATE WRAPPER
S cursor, reglas de los marcadores descripcin detallada 974
SALES, tabla de muestra 1438
de parmetros 978 sentencia de SQL
SAVEPOINT, sentencia
definicin 518 ALLOCATE CURSOR 1212,
descripcin detallada 1142
incorporacin a procedimientos 1213
SCOPE, clusula
SQL 539 ASSOCIATE LOCATORS 1216,
ALTER TABLE, sentencia 574,
invocacin, resumen del uso 538 1217
582
invocacin dinmica 540 CLOSE 626, 627
ALTER VIEW, sentencia 613
invocacin esttica 540 CREATE FUNCTION 695, 740,
CREATE TABLE, sentencia 858
invocacin interactiva, 749, 768
CREATE VIEW, sentencia 962
limitaciones 541 CREATE FUNCTION (Escalar
en especificacin CAST 195
seleccin completa, sintaxis externa) 696
SCHEMA, clusula
detallada 512 CREATE FUNCTION (fuente o
DROP, sentencia 1016
subseleccin 472 plantilla) 750
sentencia COMMENT 635
tabla resultante, sentencia OPEN, CREATE FUNCTION (SQL,
SECOND, funcin
relacin con el cursor 1094 escalar, de tabla o de fila) 761
descripcin bsica 249
VALUES, clusula 512 CREATE FUNCTION (Tabla
descripcin detallada 418
SELECT INTO, sentencia externa) 723
valores y argumentos 418
descripcin detallada 1145 CREATE FUNCTION (Tabla
secuencias
sentencia ALTER NICKNAME externa OLE DB) 741
DROP, sentencia 1005
descripcin detallada 548 CREATE INDEX
expresin-nextval 207
sentencia ALTER SERVER EXTENSION 782
expresin-prevval 207
descripcin detallada 561 CREATE METHOD 790
invocacin 207
sentencia ALTER USER MAPPING CREATE TABLE 835, 892
seguridad
descripcin detallada 610 CREATE TYPE
sentencia CONNECT 660
sentencia CONNECT (Estructurado) 923, 949
seleccin completa
conexin IMPLICIT, diagrama de nombre de sentencia,
CREATE VIEW, sentencia 963
transicin de estado 47 convenios 77
ejemplos 515
conexin implcita 653 sentencia CREATE FUNCTION
escalar 184
conexin no IMPLICIT, diagrama (Fuente) 760
mltiples operaciones, orden de
de transicin de estado 49 sentencia de SQL ejecutable
ejecucin 514
desconexin del servidor visin general de los
ORDER BY, clusula 522
actual 660 mtodos 537
referencia de tabla 479
descripcin 45 sentencia de SQL no ejecutable
rol de subconsulta, condicin de
informacin sobre cmo visin general de los
bsqueda 149
establecer una nueva mtodos 537
sintaxis detallada 512
contrasea 660 sentencia de SQL preparada
seleccin completa de fila
informacin sobre servidor de ejecucin 1036
UPDATE, sentencia 1198
aplicaciones, obtencin 660 obtener informacin
seleccin de una sola fila 1145
sin operandos, devolucin de utilizando DESCRIBE 997
seleccin esttica 540
informacin 660 SQLDA proporciona
selecciones completas escalares
sentencia CREATE informacin 1267
definicin 184
FUNCTION 695, 740, 749, 768 sustitucin de variables del
SELECT, clusula
sentencia CREATE FUNCTION lenguaje principal 1036
con palabra clave
(Fuente) 760 sentencia enlazada 45
DISTINCT 473
sentencia CREATE FUNCTION sentencia FLUSH EVENT MONITOR
notacin de lista, referencia de
(Tabla externa OLE DB) 741 descripcin detallada 1054
columna 473
sentencia CREATE SERVER sentencias de SQL
sentencia GRANT (tabla, vista o
descripcin detallada 831 ALTER BUFFERPOOL 545
apodo) 1073
sentencia CREATE TYPE MAPPING ALTER NICKNAME 548
sentencia REVOKE, eliminar
descripcin detallada 950 ALTER NODEGROUP 552
privilegios 1133
sentencia CREATE USER MAPPING ALTER SEQUENCE 556
select, sentencia
descripcin detallada 955 ALTER SERVER 561
ejemplos 530
sentencia CREATE VIEW, definicin ALTER TABLE 565
de 15 ALTER TABLESPACE 597
ndice 1679
serie (continuacin) series de caracteres (continuacin) SET CONNECTION, sentencia
constante (continuacin) serie de caracteres de doble (continuacin)
hexadecimal 130 byte 452 conexin satisfactoria, descripcin
definicin 33 serie de sentencia de SQL, reglas detallada 1147
lmites 1255 para la creacin 1042 descripcin detallada 1147
LOB 84 sintaxis de serie de SET CONSTRAINTS, sentencia
serie CLOB 85 conversin 441 descripcin detallada 1168
serie de caracteres tipos de datos 83 SET CURRENT DEFAULT
datos de bit, definicin tipos de datos de longitud TRANSFORM GROUP, sentencia
definicin 88 fija 83 descripcin detallada 1149
serie de caracteres de doble byte tipos de datos de longitud SET CURRENT DEGREE, sentencia
(DBCS) variable 83 descripcin detallada 1151
devolucin de serie 452 vaca, en comparacin al valor SET CURRENT EXPLAIN MODE,
serie de caracteres vaca 87 nulo 87 sentencia
serie de diagnstico series grficas descripcin detallada 1153
en la funcin devolucin de nombre de SET CURRENT EXPLAIN
RAISE_ERROR 401 variable del lenguaje SNAPSHOT, sentencia
serie de sentencia principal 441 descripcin detallada 1155
PREPARE, sentencia sintaxis de serie de SET CURRENT FUNCTION PATH,
reglas 1100 conversin 441 sentencia
serie de sentencia, reglas para la tipo de datos de longitud fija 88 descripcin detallada 1181
creacin 1042 tipo de datos de longitud SET CURRENT PACKAGESET
series variable 88 descripcin detallada 1157
CLOB 85 tipos de datos de longitud SET CURRENT PATH, sentencia
expresiones 177 fija 83 descripcin detallada 1181
operandos 177 tipos de datos de longitud SET CURRENT QUERY
series de caracteres variable 83 OPTIMIZATION, sentencia
asignacin 107 series LONG VARCHAR descripcin detallada 1159
BLOB, representacin de atributos 87 SET CURRENT REFRESH AGE,
serie 287 restricciones 87 sentencia
CLOB 85 series LONG VARGRAPHIC descripcin detallada 1162
comparaciones 115 atributos 88 SET CURRENT SQLID, sentencia
constante hexadecimal 130 restricciones 88 descripcin detallada 1184
constantes, rango y series VARCHAR SET ENCRYPTION PASSWORD,
precisin 130 atributos 87 sentencia
datos mixtos 88 restricciones 87 descripcin detallada 1164
datos SBCS, definicin 88 series VARGRAPHIC SET EVENT MONITOR STATE,
definicin de igualdad 115 atributos 88 sentencia
descripcin detallada 87 restricciones 88 descripcin detallada 1166
devolucin de nombre de servicios en tiempo de ejecucin, SET INTEGRITY, sentencia
variable del lenguaje SQL esttico 30 descripcin detallada 1168
principal 441 servidor SET NULL, regla de supresin 875
funcin escalar VARCHAR 450 otorgar privilegios 1068 descripcin 22
funcin escalar servidor de aplicaciones SET PASSTHRU, sentencia
VARGRAPHIC 452 descripcin 43 descripcin detallada 1179
igualdad, ejemplos de orden de funcin en conexiones 44 independencia de la sentencia
clasificacin 115 servidor federado 56 COMMIT 640
longitud fija, descripcin 87 SET, clusula independencia de la sentencia
longitud variable, sentencia UPDATE, nombres de ROLLBACK 1139
descripcin 87 columna y valores 1196 utilizacin 1424
operadores aritmticos, uso SET, sentencia 1214 SET PATH, sentencia
prohibido 180 SET CONNECTION, sentencia descripcin detallada 1181
POSSTR, funcin escalar 395 conexin no satisfactoria, SET SCHEMA, sentencia
sentencia de SQL, ejecucin descripcin detallada 1148 descripcin detallada 1184
como 1042
ndice 1681
SPACE, funcin (continuacin) SQL92 subconsultas (continuacin)
descripcin detallada 423 establecimiento de normas para en clusula HAVING,
valores y argumentos 423 el SQL dinmico 1184 ejecucin 495
SPECIFIC FUNCTION, clusula SQLCA (rea de comunicaciones en clusula WHERE 486
COMMENT, sentencia 632 SQL) subseleccin
SPECIFIC PROCEDURE, clusula descripcin detallada 1261 definicin 472
sentencia COMMENT 634 entrada cambiada por ejemplo de secuencia de
SQL UPDATE 1199 operaciones 472
comentarios 544 SQLCA (rea de comunicaciones ejemplos 496
lmites 1253 SQL), clusula FROM, relacin de la clusula
reglas para sentencias INCLUDE, sentencia 1080 con subseleccin 472
estticas 544 SQLCODE subseries
SQL compuesto (dinmico) descripcin 542 inicio, establecimiento 425
variables 642 valores de cdigo de retorno, longitud, definicin 425
SQL compuesto (incorporado), tabla 542 precauciones y restricciones 428
sentencia SQLDA ubicacin en la serie 425
combinacin de sentencias en un descripciones de variables del SUBSTR, funcin
bloque 648 lenguaje principal, sentencia descripcin bsica 250
SQL dinmico OPEN 1095 descripcin detallada 425
caractersticas 81 informacin de sentencia valores y argumentos 425
DECLARE CURSOR, preparada, subtipo
sentencia 540 almacenamiento 1099 tratamiento 206
definicin 9 SQLDA (rea de descriptores del SUM, funcin
descripcin 31 SQL) descripcin bsica 250
EXECUTE, sentencia 539 contenido 1267 SUM, funciones
FETCH, sentencia 540 FETCH, sentencia 1051 descripcin de formato
OPEN, sentencia 540 SQLDA (rea de descriptores SQL), detallado 277
PREPARE, sentencia 9, 539, 540, clusula valores y argumentos 277
1099 INCLUDE, sentencia, SUMMARY, tabla
utilizando DESCRIBE 997 especificacin 1080 en sentencia CREATE
sentencia EXECUTE 9 SQLERROR, clusula TABLE 843
SQLDA utilizada con 1267 WHENEVER, sentencia 1207 supergrupos 489
SQL esttico sqlstate supertipo
cdigo fuente, diferencias del en la funcin nombre de supertipo, convenios
SQL dinmico 30 RAISE_ERROR 401 para 77
DECLARE CURSOR, SQLSTATE supervisor de sucesos
sentencia 540 descripcin 543 DROP, sentencia 1005
definicin 9 estndar ISO/ANSI SQL92 543 sentencia FLUSH EVENT
FETCH, sentencia 540 SQLWARNING, clusula MONITOR 1054
invocacin 540 WHENEVER, sentencia 1207 SET EVENT MONITOR STATE,
OPEN, sentencia 540 SQRT, funcin sentencia 1166
SQL incorporado para Java (SQLJ) descripcin bsica 250 supervisores de sucesos
programas 32 descripcin detallada 424 CREATE EVENT MONITOR,
SQL interactivo valores y argumentos 424 sentencia 684
CLOSE, ejemplo 30 STAFF, tabla de muestra 1439 descripcin 37
DECLARE CURSOR, ejemplo 30 STAFFG, tabla de muestra 1440 descripcin del nombre 74
definicin 9, 30 STDDEV, funcin EVENT_MON_STATE,
DESCRIBE, ejemplo 30 descripcin bsica 250 funcin 334
FETCH, ejemplo 30 descripcin detallada 276 supresin de objetos SQL 1005
OPEN, ejemplo 30 subconsulta
PREPARE, ejemplo 30 utilizar seleccin completa como T
sentencia SELECT, ejemplo condicin de bsqueda 149 tabla
dinmico 30 subconsultas autorizacin para crear 835
clusula HAVING 495 creacin de instrucciones de
sentencias de SQL 835
ndice 1683
TIMESTAMPDIFF, funcin tipos de datos (continuacin) tratamiento
(continuacin) diferenciado 677 subtipos 206
descripcin detallada 439 estructurado 603 TRIGGER, clusula de la sentencia
valores y argumentos 439 fecha y hora 91 COMMENT 636
tipo de datos filas, modificar 603 TRUNC o TRUNCATE, funcin
abstracto 923 funcin TYPE_ID 445 descripcin bsica 252
columnas del resultado 476 funcin TYPE_SCHEMA 447 truncamiento
CREATE TYPE (Estructurado), promocin 100 nmeros 106
sentencia 923 serie de caracteres 87 TYPE, clusula
estructurado 923 tipo de referencia 99 DROP, sentencia 1020
fila 923 tipo diferenciado 96 sentencia COMMENT 637
tipo de datos CHARACTER 851 tipo estructurado 97 TYPE, predicado
tipo de datos de hora 91 TYPE_NAME, funcin 446 formato 230
tipo de datos de resultado tipos de datos numricos TYPE_NAME, funcin
argumentos de COALESCE 120 resumen 90 descripcin bsica 252
clusula VALUES de mltiples tipos de referencia descripcin detallada 446
filas 120 comparaciones 120 valores y argumentos 446
expresiones de resultado de conversin 102
CASE 120 descripcin 99 U
operador de conjunto 120 funcin DEREF 317 UCASE, funcin
operandos 120 tipos definidos por el usuario (UDT) descripcin bsica 252
tipo de datos definido por el usuario adicin de comentarios al descripcin detallada 448
nombre-tipo-diferenciado catlogo 628 valores y argumentos 448
CREATE TABLE, conversin 102 UNDER, clusula
sentencia 853 tipos diferenciados CREATE VIEW, sentencia 960
nombre-tipo-estructurado CREATE DISTINCT TYPE, unicidad, claves
CREATE TABLE, sentencia 677 definicin 17
sentencia 854 tipos estructurados unidad de trabajo
tipo de enlace de datos sentencia CREATE definicin 28
descripcin 95 TRANSFORM, sintaxis 903 destruccin de sentencias
tipo definido por el usuario (UDT) tipos diferenciados preparadas 1108
descripcin 96 CREATE DISTINCT TYPE, referencia a sentencias
tipo diferenciado sentencia 677 preparadas 1099
como operandos aritmticos 183 descripcin 96 terminacin destruye las
comparacin 119 tipos estructurados sentencias preparadas 1108
concatenacin 180 catlogo 1397 unidad de trabajo remota
constantes 131 CREATE TRANSFORM, sentencia descripcin 45
descripcin 74 sintaxis 903 unidades de trabajo
DROP, sentencia 1005 descripcin 97 COMMIT, sentencia 640
tipos DROP, sentencia 1005 crear nuevas 1139
descripcin del nombre 77 invocacin de mtodos 204 en sentencia ROLLBACK 1139
tipos de datos tratamiento de los subtipos 206 iniciando cierres del cursor 1097
abstracto 603 variables del sistema sentencia ROLLBACK,
ALTER TYPE, sentencia 603 principal 158 efecto 1139
BIGINT 90 TO, clusula terminacin 640
columnas del resultado 477 GRANT, sentencia 1058, 1059, terminacin sin guardar
compatibilidad entre 1062, 1065, 1074 cambios 1139
particiones 127 transformaciones unin
conversin entre 101 DROP, sentencia 1005 consideraciones acerca de claves
DATALINK 95 TRANSLATE, funcin de particionamiento 882
definido por el usuario descripcin bsica 252 UNION, operador, papel en la
diferenciado 96 descripcin detallada 441 comparacin
estructurado 96 serie de caracteres 441 de seleccin completa 513
referencia 96 serie grfica 441
definidos por el usuario 677 valores y argumentos 441
ndice 1685
va de acceso de SQL (continuacin) vistas (continuacin) vistas de catlogo (continuacin)
tipos diferenciados 97 WITH CHECK OPTION, efecto PROCEDURES 1346
VIEW, clusula en UPDATE 1199 PROCOPTIONS 1349
CREATE VIEW, sentencia 957 vistas actualizables 967 PROCPARMOPTIONS 1350
DROP, sentencia 1022 vistas con tipo PROCPARMS 1351
VIEW HIERARCHY, clusula convenios de nombre 78 REFERENCES 1353
DROP, sentencia 1022 definir subvistas 960 REVTYPEMAPPINGS 1354
vistas descripcin del nombre 78 SCHEMAAUTH 1356
actualizables 967 vistas de catlogo SCHEMATA 1357
actualizacin de filas por actualizables 1282 SEQUENCES 1358
columnas, sentencia ATTRIBUTES 1287 SERVEROPTIONS 1360
UPDATE 1193 BUFFERPOOLNODES 1289 SERVERS 1361
adicin de comentarios al BUFFERPOOLS 1290 slo lectura 1282
catlogo 628 CASTFUNCTIONS 1291 STATEMENTS 1362
calificacin de un nombre de COLAUTH 1293 SYSDUMMY1 1286
columna 144 COLCHECKS 1294 SYSSTAT.COLDIST 1385
clusula FROM, convenios de COLDIST 1295 SYSSTAT.COLUMNS 1386
denominacin de COLOPTIONS 1296 SYSSTAT.FUNCTIONS 1388
subseleccin 478 COLUMNS 1297 SYSSTAT.INDEXES 1390
clave fornea, restricciones de CONSTDEP 1303 SYSSTAT.TABLES 1394
referencia 15 CHECKS 1292 TABAUTH 1363
creacin 957 DATATYPES 1304 TABCONST 1365
definicin 15 DBAUTH 1306 TABLES 1366
esquemas 822 definicin 32 TABLESPACES 1371
ID de autorizacin en EVENTMONITORS 1308 TABOPTIONS 1373
nombre 79 EVENTS 1310 TBSPACEAUTH 1374
ndice, relacin con vista 16 FULLHIERARCHIES 1311 TRANSFORMS 1410
insertable 967 FUNCDEP 1312 TRIGDEP 1375
insertar filas en tabla FUNCMAPOPTIONS 1313 TRIGGERS 1376
visualizada 1082 FUNCMAPPARMOPTIONS 1314 TYPEMAPPINGS 1378
no operativa 967 FUNCMAPPINGS 1315 USEROPTIONS 1380
nombre de vista, convenios 78 FUNCPARMS 1316 VIEWDEP 1381
nombres de columna 960 FUNCTIONS 1318 VIEWS 1382
nombres en clusula FROM 478 HIERARCHIES 1324 visin general 1281
nombres en clusula SELECT, INDEXAUTH 1325 WRAPOPTIONS 1383
diagrama de sintaxis 473 INDEXCOLUSE 1326 WRAPPERS 1384
nombres expuestos en clusula INDEXDEP 1327 vistas de slo lectura 967
FROM 145 INDEXES 1328, 1400 vistas insertables 967
nombres no expuestos en INDEXEXPLOITRULES 1404 vistas no operativas 967
clusula FROM 145 INDEXEXTENSIONDEP 1405 vistas suprimibles 966
otorgar privilegios 1070 INDEXEXTENSIONMETHODS 1406visualizar
prevencin de la prdida de INDEXEXTENSIONPARMS 1407 informacin en lnea 1644
definicin de vista, WITH INDEXEXTENSIONS 1408
CHECK OPTION 1199 INDEXOPTIONS 1332 W
privilegio CONTROL KEYCOLUSE 1333 WEEK, funcin
lmites en 1072 NAMEMAPPINGS 1334 descripcin bsica 253
otorgar 1072 NODEGROUPDEF 1335 descripcin detallada 454
reglas al revocar privilegio 1134 NODEGROUPS 1336 valores y argumentos 454
revocar privilegios 1131 PACKAGEAUTH 1337 WEEK_ISO, funcin
seudnimo 670, 1008 PACKAGEDEP 1338 descripcin bsica 253
slo lectura 967 PACKAGES 1339 descripcin detallada 455
suprimible 966 para tipos estructurados 1397 valores y argumentos 455
suprimir utilizando la sentencia PARTITIONMAPS 1344 WHENEVER, sentencia
DROP 1005 PASSTHRUAUTH 1345 cambio del flujo de control 539
PREDICATESPECS 1409 descripcin detallada 1207
Y
YEAR, funcin
descripcin bsica 253
descripcin detallada 456
valores y argumentos 456
ndice 1687
1688 Consulta de SQL
Cmo ponerse en contacto con IBM
Si tiene un problema tcnico, repase y lleve a cabo las acciones que se
sugieren en la Gua de resolucin de problemas antes de ponerse en contacto con
el Centro de Asistencia al Cliente de DB2. Dicha gua sugiere informacin que
puede reunir para ayudar al Centro de Asistencia a proporcionarle un mejor
servicio.
Si vive en los Estados Unidos, puede llamar a uno de los nmeros siguientes:
v 1-800-237-5511 para obtener soporte tcnico
v 1-888-426-4343 para obtener informacin sobre las opciones de servicio
tcnico disponibles
Para conocer cmo ponerse en contacto con IBM desde fuera de los Estados
Unidos, consulte el Apndice A del manual IBM Software Support Handbook.
Para acceder a este documento, vaya a la pgina Web siguiente:
http://www.ibm.com/support/ y luego seleccione el enlace IBM Software
Support Handbook, cerca del final de la pgina.
SC10-3497-01