# Checklist SQL

## Antes de escrever
- Identifique o numero do caso, usuario responsavel e data da alteracao.
- Verifique se o objeto ja existe no repositorio para reaproveitar padroes de assinatura e formatacao.
- Quando houver duvida de schema, coluna ou tipo, faca apenas inspecao segura de metadata.

## Convencoes do script
- Adicione comentario de historico no formato `-- CASO [numero] - [usuario] - [data] - [descricao]`.
- Use `PRC_VTR_*` para procedures e `FNC_*` para functions quando for novo desenvolvimento.
- Use schema explicito em tabelas e objetos compartilhados.
- Mantenha palavras-chave SQL em maiusculo e identacao compativel com os arquivos existentes.

## Logica PL SQL
- Prefira `SELECT ... INTO` com `NVL` ou `CASE` antes de criar cursores sem necessidade.
- Trate `NO_DATA_FOUND` de forma explicita quando o fluxo exigir fallback controlado.
- Preencha parametros `OUT` antes de `COMMIT` quando houver esse padrao no objeto.

## Limites de seguranca
- Nao execute `CREATE`, `ALTER`, `DROP`, `TRUNCATE`, `INSERT`, `UPDATE`, `DELETE`, `MERGE`, `GRANT` ou `REVOKE` como parte da analise.
- Gere DDL e scripts de mudanca em arquivo para execucao manual posterior.
- Se a validacao depender do ambiente, deixe isso explicitado no resultado.