---
name: vitruvio-sql-script-case
description: "Crie ou ajuste scripts Oracle PL SQL por caso no DavinTI Vitruvio. Use para gerar .sql, .pks ou .pkb com comentario de CASO, convencoes PRC_VTR ou FNC, schema explicito, tratamento de excecoes, consulta segura de metadata e preparo de DDL sem executar nada no banco."
argument-hint: "Descreva o caso, o objeto SQL e o resultado esperado."
---

# Script SQL por Caso

## Quando usar
- Criacao ou ajuste de arquivos `.sql`, `.pks` e `.pkb` no padrao DavinTI e Vitruvio.
- Demandas que pedem procedure, function, package, query de apoio ou DDL versionado.
- Casos em que e necessario consultar metadata ou objetos do banco sem executar mudancas no ambiente.

## Objetivo
Produzir scripts Oracle prontos para revisao e execucao manual, mantendo o historico por caso, convencoes do time e limites seguros de acesso ao banco.

## Procedimento
1. Identifique se a demanda e de consulta, ajuste de logica PL SQL ou geracao de DDL.
2. Se faltar contexto de tabela, view, coluna ou schema, consulte metadata apenas com `SELECT`, `DESCRIBE` ou ferramentas equivalentes de inspecao.
3. Comece pelo [template base](./assets/caso-template.sql) e troque os placeholders do caso.
4. Use schemas explicitos, convencoes `PRC_VTR_*` e `FNC_*`, e mantenha formatacao consistente com o repositorio.
5. Prefira `SELECT ... INTO` com `NVL` ou `CASE` em vez de cursores desnecessarios.
6. Trate excecoes de forma explicita, incluindo `WHEN NO_DATA_FOUND THEN` quando aplicavel.
7. Se a demanda envolver DDL ou alteracao estrutural, gere apenas o arquivo; nao execute no banco.
8. Ao concluir, descreva o que precisa de execucao manual e quais validacoes foram feitas por inspecao.

## Saida esperada
- Script Oracle alinhado ao caso e pronto para revisao.
- Comentario de historico no padrao do time.
- Descricao curta das premissas, da validacao feita e do que depende de execucao manual.

## Recursos
- [Checklist SQL](./references/checklist.md)
- [Template base](./assets/caso-template.sql)