Conceito e mecanismo
SQL*Plus processa comandos e substituições antes de enviar SQL à base. DEFINE explícito guarda uma variável textual; & e && substituem texto, não equivalem a bind variables. SET VERIFY controla o eco anterior e posterior à substituição, sem validar input nem impedir alteração da estrutura SQL. Define parâmetros aceites e tratamento de erros no script. Em cálculos temporais, Oracle DATE inclui hora até segundos, mas não fuso; subtrair dois DATE produz dias, incluindo frações. Multiplicar por vinte e quatro converte essa diferença em horas. TIMESTAMP e INTERVAL têm semânticas próprias. Um timestamp local sem offset pode ser ambíguo na mudança de hora, exigindo contexto da origem.
Aplicação guiada
Numa carga fictícia, uma global temporary table com ON COMMIT DELETE ROWS perde os dados no commit, mas conserva a definição. PRESERVE ROWS muda o âmbito dos dados para a sessão; ambos exigem compreender conexões e limpeza. Uma external table clássica ORACLE_LOADER lê ficheiros e não permite corrigir a origem com UPDATE; usa staging interno ou o processo autorizado de correção do feed. Marcar uma coluna permanente UNUSED torna-a inacessível e não oferece um simples retorno a USED, pelo que a recuperação deve ser preparada antes. INSERT ALL condicional pode inserir nos vários destinos cujos WHEN são verdadeiros; FIRST escolhe o primeiro. Ensaiar estes limites evita que um script válido execute uma regra de negócio diferente da esperada.
Se end_date - start_date = 0.25, a diferença entre DATE é seis horas. Não deduzir o fuso a partir desse número.
Armadilhas comuns
VERIFY como validação; DEFINE como bind; temporária como definição descartável; UNUSED como reversível; ALL como FIRST.
Tópicos relacionados: Modelo, SELECT e população do resultado · Funções, conversões e contratos de dados · Joins, granularidade e agregação
Documenta o contexto do cliente, a duração dos dados e os efeitos de cada fronteira.
Referência: Temporary and external tables · 1Z0-071 public objectives inspected 2026-09-30; revision date not published