Estrutura inicial, ambiente IA

This commit is contained in:
victor
2026-05-14 09:54:24 -03:00
commit 48095a3c64
49 changed files with 4596 additions and 0 deletions
@@ -0,0 +1,34 @@
---
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)
@@ -0,0 +1,21 @@
-- CASO XXX - [usuario] - DD-MM-YYYY - [descricao breve da mudanca]
CREATE OR REPLACE PROCEDURE VITRUVIO.PRC_VTR_NOME_DA_PROCEDURE (
p_chave IN NUMBER,
p_saida OUT VARCHAR2
) AS
v_valor NUMBER;
BEGIN
SELECT NVL(MAX(campo_exemplo), 0)
INTO v_valor
FROM VITRUVIO.SUA_TABELA
WHERE CHAVE_EXEMPLO = p_chave;
p_saida := TO_CHAR(v_valor);
EXCEPTION
WHEN NO_DATA_FOUND THEN
p_saida := '0';
END PRC_VTR_NOME_DA_PROCEDURE;
/
-- Se a demanda envolver DDL, gere em arquivo separado e execute manualmente via DBA ou fluxo aprovado.
@@ -0,0 +1,22 @@
# 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.