| |
Db2 for z/OS 12.0.0 - SQL error codes
- Causa
- INVALID PERIOD SPECIFICATION OR PERIOD CLAUSE FOR PERIOD period-name.
REASON CODE = reason-code.
Uma especificação de período ou cláusula de período é inválida.
- period-name
- O período que é inválido.
- reason-code
- Um valor numérico que indica porque o período é inválido:
- O nome do período foi especificado mais de uma vez para a referência da tabela.
- O período SYSTEM_TIME foi especificado, mas a tabela não é uma tabela temporal de período do sistema.
- period-name violou o seguinte requisito: cada expressão deve retornar um valor de um tipo de dados integrado e pode conter qualquer um dos
seguintes operandos suportados:
- Uma constante
- Um registro especial
- Uma variável, que pode ser uma variável de host, uma variável SQL, um parâmetro SQL, uma variável de transição ou uma variável global
- Um marcador de parâmetro
- Uma especificação CAST, em que o operando cast é um operando com suporte
- Uma expressão que usa operadores aritméticos e operandos
- Uma função escalar cujos argumentos são operandos suportados (invocações de funções aninhadas não são permitidas).
Essas regras têm as seguintes exceções:
- Uma especificação de período ou cláusula de período para uma exibição não deve conter um marcador de parâmetro sem tipo.
- A expressão de origem das instruções SET CURRENT TEMPORAL BUSINESS_TIME e SET CURRENT TEMPORAL SYSTEM_TIME não deve conter um marcador de
parâmetro ou uma variável de transição.
- A especificação de período ou cláusula de período foi especificada para uma visão onde a definição da visão inclui uma função definida pelo
usuário.
- A precisão de uma expressão deve ser maior que a precisão das colunas do período.
Se a expressão for uma string, ela será primeiro convertida em um carimbo de data/hora e o valor não deve conter mais dígitos fracionários de
segundos significativos do que a precisão da coluna.
- FOR SYSTEM_TIME foi especificado.
No entanto, o valor do registro especial CURRENT TEMPORAL SYSTEM_TIME não é nulo e a opção de ligação SYSTIMESENSITIVE é definida como YES.
Portanto, você também não pode especificar explicitamente FOR SYSTEM_TIME.
- FOR BUSINESS_TIME foi especificado.
No entanto, o valor do registro especial CURRENT TEMPORAL BUSINESS_TIME não é nulo e a opção de ligação BUSTIMESENSITIVE é definida como YES.
Portanto, você também não pode especificar explicitamente FOR BUSINESS_TIME.
- A especificação do período ou cláusula de período foi especificada para um dos seguintes itens:
- Uma tabela que não é uma tabela temporal de período de aplicação
- Uma exibição para a qual uma tabela temporal de período do aplicativo não é referenciada na cláusula FROM mais externa da definição de
exibição ou um gatilho INSTEAD OF é definido na exibição.
- Uma expressão não deve retornar um valor com fuso horário se as colunas inicial e final do período especificado forem definidas como carimbo de
data / hora sem fuso horário.
- Ação do sistema
- A declaração não pode ser processada.
- Resposta ao Desenvolvedor
- Corrija a sintaxe e reenvie a instrução.
SQLSTATE: 428HY
© Copyright IBM Corp.
|
| |