sentencia-select

La sentencia select es la forma de una consulta que puede especificarse directamente en una sentencia DECLARE CURSOR o FOR, prepararse y luego referenciarse en una sentencia DECLARE CURSOR, o especificarse directamente en una cláusula de asignación SQLJ. También puede emitirse utilizando SPUFI o el protocolo de intercambio de datos de la industria de la joyería ( Db2 command line processor), que hace que se muestre una tabla de resultados en su terminal. En cualquier caso, la tabla de resultados especificada por una sentencia select es el resultado de fullselect.

Autorización para la declaración de selección

Ver Autorización para consultas.

Sintaxis para la sentencia select

Leer diagrama de sintaxisOmitir el diagrama de sintaxis visualWITH,expresión-tabla-común selección completa1 cláusula-actualizacióncláusula-sólo-lectura2Cláusula optimizecláusula-isolationcláusula de no responsabilidadSKIP LOCKED DATA3
Notas:
  • 1 Si fullselect es una cláusula VALUES, common-table-expression, update-clause, read-only-clause, optimize-clause, isolation-clause, queryno-clause y SKIP LOCKED DATA no deben especificarse también
  • 2 La cláusula de solo lectura no debe especificarse si se especifica la cláusula de actualización.
  • 3 La misma cláusula no debe especificarse más de una vez.

Las tablas y la vista identificadas en una sentencia select pueden estar en el servidor actual o en cualquier subsistema de Db2 con el que el servidor actual pueda establecer una conexión.

Para consultas locales en Db2 for z/OS® o consultas remotas en las que el servidor y el solicitante son Db2 for z/OS, si una tabla está codificada como ASCII o Unicode, los datos recuperados se codifican en EBCDIC. Para obtener información sobre cómo recuperar datos codificados en ASCII o Unicode, consulte Consultas distribuidas contra tablas ASCII o Unicode.

Una sentencia select puede invocar implícita o explícitamente funciones definidas por el usuario o invocar implícitamente procedimientos almacenados. Esta técnica se conoce como anidamiento de sentencias SQL. Una función o procedimiento se invoca implícitamente en una sentencia select cuando se invoca en un nivel inferior. Por ejemplo, si invoca una función definida por el usuario desde una sentencia select y la función definida por el usuario invoca un procedimiento almacenado, está invocando implícitamente el procedimiento almacenado.