DB2 12 - SQL - The REXX SQLCA - Restructured Extended Executor



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

DB2 12 - SQL - The REXX SQLCA - Restructured Extended Executor

The REXX SQLCA consists of a set of variables, rather than a structure.
Db2 makes the SQLCA available to your application automatically.

O REXX SQLCA consiste em um conjunto de variáveis, em vez de uma estrutura.
O Db2 disponibiliza o SQLCA para seu aplicativo automaticamente.

The following table lists the variables in a REXX SQLCA.

A tabela a seguir lista as variáveis em um REXX SQLCA.

Table 1. Variables in a REXX SQLCA - Variáveis em um REXX SQLCA

Variável Conteúdo
SQLCODE Contains the SQL return code.

Contém o código de retorno SQL.
SQLERRMC Contains one or more tokens, separated by X'FF', that are substituted for variables in the descriptions of error conditions.
It might contain truncated tokens. A message length of 70 bytes indicates a possible truncation.

Contém um ou mais tokens, separados por X'FF ', que são substituídos por variáveis nas descrições das condições de erro.
Ele pode conter tokens truncados. Um comprimento de mensagem de 70 bytes indica um possível truncamento.
SQLERRP Provides a product signature and, in the case of an error, diagnostic information such as the name of the module that detected the error.
For Db2 for z/OS®, the product signature is 'DSN'.

Fornece uma assinatura do produto e, no caso de um erro, informações de diagnóstico, como o nome do módulo que detectou o erro.
Para Db2 for z / OS®, a assinatura do produto é 'DSN'.
SQLERRD.1 For a sensitive static cursor, contains the number of rows in a result table when the cursor position is after the last row (that is, when SQLCODE is equal to +100).

SQLERRD(1) can also contain an internal error code.

Para um cursor estático sensível, contém o número de linhas em uma tabela de resultados quando a posição do cursor está após a última linha (ou seja, quando SQLCODE é igual a +100).

SQLERRD (1) também pode conter um código de erro interno.

SQLERRD.2 For a sensitive static cursor, contains the number of rows in a result table when the cursor position is after the last row (that is, when SQLCODE is equal to +100).

SQLERRD(2) can also contain an internal error code.

Para um cursor estático sensível, contém o número de linhas em uma tabela de resultados quando a posição do cursor está após a última linha (ou seja, quando SQLCODE é igual a +100).

SQLERRD (2) também pode conter um código de erro interno.

SQLERRD.3 Contains the number of rows that qualified for the operation after an SQL data change statement (but not rows deleted as a result of CASCADE delete).
For the OPEN of a cursor for a SELECT with an SQL data change statement or for a SELECT INTO, SQLERRD(3) contains the number of rows affected by the embedded data change statement.
Set to 0 if the SQL statement fails, indicating that all changes made in executing the statement were canceled.
Set to -1 for a mass delete from a table in a segmented table space, for a truncate operation, or a delete from a view when neither the DELETE statement nor the definition of the view included selection criteria.

For rowset-oriented FETCH statements, contains the number of rows returned in the rowset.

For SQLCODES -911 and -913, SQLERRD(3) contains the reason code for the timeout or deadlock.

After successful execution of the REFRESH TABLE statement, SQLERRD(3) contains the number of rows inserted into the materialized query table.

When an error is encountered in parsing a dynamic statement, or when parsing, binding, or executing a native SQL procedure, SQLERRD(3) will contain the line number where the error was encountered.
The sixth byte of SQLCAID must be 'L' for this to be a valid line number.
This value will be meaningful only if the statement source contains new line control characters.
This information is not returned for an external SQL procedure.

Contém o número de linhas qualificadas para a operação após uma instrução de alteração de dados SQL (mas não linhas excluídas como resultado da exclusão CASCADE).
Para o OPEN de um cursor para um SELECT com uma instrução de mudança de dados SQL ou para um SELECT INTO, SQLERRD (3) contém o número de linhas afetadas pela instrução de mudança de dados embutida.
Defina como 0 se a instrução SQL falhar, indicando que todas as alterações feitas na execução da instrução foram canceladas.
Defina como -1 para uma exclusão em massa de uma tabela em um espaço de tabela segmentado, para uma operação de truncamento ou uma exclusão de uma visualização quando nem a instrução DELETE nem a definição da visualização incluíram critérios de seleção.

Para instruções FETCH orientadas a conjunto de linhas, contém o número de linhas retornadas no conjunto de linhas.

Para SQLCODES -911 e -913, SQLERRD (3) contém o código de razão para o tempo limite ou conflito.

Após a execução bem-sucedida da instrução REFRESH TABLE, SQLERRD (3) contém o número de linhas inseridas na tabela de consulta materializada.

Quando um erro é encontrado na análise de uma instrução dinâmica, ou ao analisar, vincular ou executar um procedimento SQL nativo, SQLERRD (3) conterá o número da linha onde o erro foi encontrado.
O sexto byte de SQLCAID deve ser 'L' para que seja um número de linha válido.
Este valor será significativo apenas se a origem da instrução contiver novos caracteres de controle de linha.
Essas informações não são retornadas para um procedimento SQL externo.

SQLERRD.4 Generally, contains timerons, a short floating-point value that indicates a rough relative estimate of resources required.
This value does not reflect an estimate of the time required to execute the SQL statement.
After you prepare an SQL statement, you can use this field as an indicator of the relative cost of the prepared SQL statement.
For a particular statement, this number can vary with changes to the statistics in the catalog.
This value is subject to change between releases of Db2 for z/OS.

Geralmente, contém timerons, um valor de ponto flutuante curto que indica uma estimativa relativa aproximada dos recursos necessários.
Este valor não reflete uma estimativa do tempo necessário para executar a instrução SQL.
Depois de preparar uma instrução SQL, você pode usar este campo como um indicador do custo relativo da instrução SQL preparada.
Para uma instrução específica, esse número pode variar de acordo com as alterações nas estatísticas do catálogo.
Este valor está sujeito a alterações entre as versões do Db2 para z / OS.
SQLERRD.5 Contains the position or column of a syntax error for a PREPARE or EXECUTE IMMEDIATE statement.

Contém a posição ou coluna de um erro de sintaxe para uma instrução PREPARE ou EXECUTE IMMEDIATE.
SQLERRD.6 Contains an internal error code.

Contém um código de erro interno.
SQLWARN.0 Contains a blank if no other indicator is set to a warning condition (that is, no other indicator contains a W or Z).
Contains a W if at least one other indicator contains a W or Z.

Contém um espaço em branco se nenhum outro indicador for definido para uma condição de advertência (ou seja, nenhum outro indicador contém um W ou Z).
Contém um W se pelo menos um outro indicador contiver um W ou Z.
SQLWARN.1 Contains a W if the value of a string column was truncated when assigned to a host variable.
Contains an N for non-scrollable cursors and S for scrollable cursors after the OPEN CURSOR or ALLOCATE CURSOR statement.

Contém um W se o valor de uma coluna string foi truncado quando atribuído a uma variável de host.
Contém um N para cursores não roláveis e S para cursores roláveis após a instrução OPEN CURSOR ou ALLOCATE CURSOR.
SQLWARN.2 Contains a W if null values were eliminated from the argument of an aggregate function; not necessarily set to W for the MIN function because its results are not dependent on the elimination of null values.

Contém um W se valores nulos foram eliminados do argumento de uma função agregada; não necessariamente definido como W para a função MIN porque seus resultados não dependem da eliminação de valores nulos.
SQLWARN.3 Contains a W if the number of result columns is larger than the number of host variables.
Contains Z if the ASSOCIATE LOCATORS statement contains fewer locators than the stored procedure returned.

Contém um W se o número de colunas de resultado for maior que o número de variáveis do host.
Contém Z se a instrução ASSOCIATE LOCATORS contiver menos localizadores do que o procedimento armazenado retornado.
SQLWARN.4 Contains a W if a prepared UPDATE or DELETE statement does not include a WHERE clause.
For a scrollable cursor, contains a D for sensitive dynamic cursors, I for insensitive cursors, and S for sensitive static cursors after the OPEN CURSOR or ALLOCATE CURSOR statement; otherwise, blank if cursor is not scrollable.

Contém um W se uma instrução UPDATE ou DELETE preparada não inclui uma cláusula WHERE.
Para um cursor rolável, contém um D para cursores dinâmicos sensíveis, I para cursores insensíveis e S para cursores estáticos sensíveis após a instrução OPEN CURSOR ou ALLOCATE CURSOR; caso contrário, ficará em branco se o cursor não for rolável.
SQLWARN.5 Contains a W if the SQL statement was not executed because it is not a valid SQL statement in Db2 for z/OS.
Contains a character value of 1 (read only), 2 (read and delete), or 4 (read, delete, and update) to reflect capability of the cursor after the OPEN CURSOR or ALLOCATE CURSOR statement.

Contém um W se a instrução SQL não foi executada porque não é uma instrução SQL válida no Db2 para z / OS.
Contém um valor de caractere de 1 (somente leitura), 2 (leitura e exclusão) ou 4 (leitura, exclusão e atualização) para refletir a capacidade do cursor após a instrução OPEN CURSOR ou ALLOCATE CURSOR.
SQLWARN.6 Contains a W if the addition of a month or year durati on to a DATE or TIMESTAMP value results in an invalid day (for example, June 31).
Indicates that the value of the day was changed to the last day of the month to make the result valid.

Contém um W se a adição de um mês ou ano de duração a um valor DATE ou TIMESTAMP resultar em um dia inválido (por exemplo, 31 de junho).
Indica que o valor do dia foi alterado para o último dia do mês para tornar o resultado válido.
SQLWARN.7 Contains a W if one or more nonzero digits were eliminated from the fractional part of a number that was used as the operand of a decimal multiply or divide operation.

Contém um W se um ou mais dígitos diferentes de zero forem eliminados da parte fracionária de um número que foi usado como operando de uma operação de multiplicação ou divisão decimal.
SQLWARN.8 Contains a W if a character that could not be converted was replaced with a substitute character.

Contém um W se um caractere que não pôde ser convertido foi substituído por um caractere substituto.
SQLWARN.9 Contains a W if arithmetic exceptions were ignored during COUNT or COUNT_BIG processing.
Contains a Z if the stored procedure returned multiple result sets.

Contém um W se exceções aritméticas foram ignoradas durante o processamento COUNT ou COUNT_BIG.
Contém um Z se o procedimento armazenado retornou vários conjuntos de resultados.
SQLWARN.10 Contains a W if at least one character field of the SQLCA is invalid due to a character conversion error.

Contém um W se pelo menos um campo de caractere do SQLCA for inválido devido a um erro de conversão de caractere.
SQLSTATE Contains a return code for the outcome of the most recent execution of an SQL statement.

Contém um código de retorno para o resultado da execução mais recente de uma instrução SQL.


© Copyright IBM Corp.