Oracle plsql ptbr
PL/SQL Oracle 19c — packages, procedures, functions, types, cursores, LOBs e EBR. ATIVE em BULK COLLECT, FORALL, NOCOPY, EXECUTE IMMEDIATE, MERGE INTO, compound trigger, editioning view, cross-edition trigger, CLOB/BLOB, Logger, exception handler, DML alternatives. Frases ambíguas com contexto PL/SQL — "criar package", "refatorar procedure", "processar LOB", "zero downtime deploy", "loop tá lento", "trigger de auditoria". NAO ATIVE em páginas APEX, endpoints ORDS, DBA operacional (sessões/locks/tablespace), tuning de queries (explain plan/AWR/ASH). Aplica naming Trivadis automaticamente — para revisão explícita do padrão use oracle-trivadis-ptbr. Templates em assets/.From its SKILL.md
npx -y skills add Maxwbh/oracle-skills-ptbr --skill oracle-plsql-ptbrAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.6 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
oracle-plsql-ptbr — v2.0.0
PL/SQL Oracle 19c seguindo Trivadis Guidelines 4.4. Foco em código correto, seguro e performático.
Desenvolvido por: Maxwell da Silva Oliveira — M&S do Brasil LTDA
Áreas cobertas
| Área | Reference | Assets |
|---|---|---|
| EBR (zero downtime) | references/ebr-editioning-views.md | (conceitual) |
| PL/SQL | references/ → oracle-trivadis-ptbr | package_header.sql, package_body.sql, exception_template.sql, bulk_processing_template.sql, dml_alternatives_to_plsql.sql, nocopy_for_lobs.sql, clob_blob_operations.sql, logger_integration.sql, triggers_canonicos.sql |
Referência cruzada de nomenclatura: padrão Trivadis 4.4 completo (prefixos, estrutura, naming PT-BR) está em oracle-trivadis-ptbr. Esta skill aplica as convenções automaticamente — carregue
oracle-trivadis-ptbrquando o foco for revisão explícita de padrão.
Quando ativar
- Criação ou refatoração de packages, procedures, functions, types
- BULK COLLECT + FORALL (loop PL/SQL em volume)
- NOCOPY para BLOB/CLOB > 100KB ou collections grandes em IN OUT
- EXECUTE IMMEDIATE com bind variables (SQL dinâmico)
- MERGE INTO como substituto de loop SELECT/INSERT/UPDATE
- LOBs: leitura em chunks, Base64, SHA-256, DBMS_LOB
- Compound trigger (auditoria, surrogate keys, cross-edition)
- EBR: editioning views, cross-edition triggers, deploy zero downtime
- Logger (OraOpenSource): log_error, log_warn, log_info, log_permanent
- Qualquer menção a AUTONOMOUS_TRANSACTION, PRAGMA, DBMS_ERRLOG
Não usar para: APEX pages/regions/items, ORDS endpoints/modules, DBA ops (sessão/lock/tablespace), tuning de queries.
Princípios canônicos
- SQL puro antes de PL/SQL. Se MERGE, INSERT SELECT ou UPDATE com CASE resolve — use. PL/SQL só quando há lógica de negócio por linha, chamadas externas ou coordenação complexa.
- Bind variables sempre. Em EXECUTE IMMEDIATE use
USING. Identificadores dinâmicos →DBMS_ASSERT.simple_sql_name. - Bulk em loops.
BULK COLLECT+FORALL. ComLIMITpara volumes > 100k.DBMS_ERRLOGquando cabe DML único. - Exception com contexto.
lc_nome_unidade CONSTANT VARCHAR2(60)em toda procedure pública. Re-raise viaraise_application_error. - ROLLBACK explícito antes do re-raise em handlers com DML. Caller decide o commit.
- Logger em vez de DBMS_OUTPUT em produção.
- Privilégios mínimos. Schema owner faz DDL; app user faz DML.
- Auditabilidade.
criado_em,criado_por,atualizado_em,atualizado_porem tabelas de domínio. - NOCOPY para LOB/collection grande em IN OUT/OUT.
- Triggers não contêm regra de negócio. Auditoria, surrogate key, cross-edition EBR.
- Sempre compound trigger quando trigger é necessário.
- EBR para zero downtime. Editioning views + editions + cross-edition triggers.
Fluxo de uso
Criar código: SQL puro resolve? → dml_alternatives_to_plsql.sql. Não → clone template da área → adapte naming Trivadis → use Logger.
Revisar código: Princípio #0 primeiro. Depois antipatterns: concatenação em SQL dinâmico, loop linha-a-linha, WHEN OTHERS THEN NULL, DBMS_OUTPUT em produção, falta NOCOPY em LOB IN OUT. Para naming explícito → oracle-trivadis-ptbr.
Referências cruzadas
| Precisa de | Skill |
|---|---|
| Naming, prefixos, checklist Trivadis | oracle-trivadis-ptbr |
| APEX page process, dynamic action, IG | oracle-apex-ptbr |
| ORDS handler, módulo REST | oracle-ords-ptbr |
| Sessão, lock, flashback, tablespace | oracle-dba-ptbr |
| Explain plan, AWR, index, tuning | oracle-tuning-ptbr |
What ships with it: 10 files
90.6 KB alongside SKILL.md
assets/
- bulk_processing_template.sql6.3 KB
- clob_blob_operations.sql11.5 KB
- dml_alternatives_to_plsql.sql13.1 KB
- exception_template.sql3.8 KB
- logger_integration.sql11.7 KB
- nocopy_for_lobs.sql10.9 KB
- package_body.sql7.7 KB
- package_header.sql3.3 KB
- triggers_canonicos.sql12.1 KB
references/
- ebr-editioning-views.md10.3 KB