Durante il corso si approfondiscono tuti i concetti inerenti stored procedure, stored function, package e trigger e si introducono alcuni suggerimenti per scrivere codice PL/SQL efficace ed efficiente.
Il corso illustra inoltre le tecniche di SQL dinamico e fornisce le competenze per utilizzare in modo adeguato ed efficiente il compilatore PL/SQL.
Il corso si rivolge agli sviluppatori SQL e PL/SQL che vogliano approfondire le proprie conoscenze relativamente allo sviluppo, alla esecuzione ed alla gestione dei programmi PL/SQL.
Conoscenza del linguaggio SQL
Conoscenza (a livello base) dei concetti e dei costrutti del linguaggio PL/SQL
Si consiglia la frequenza al corso ORA1102
Modulo 1 – Stored Procedure
- Significato e scopo
- Creare, richiamare ed eliminare una stored procedure
- Parametri e modalità di passaggio
- Le stored procedure nel dizionario dati
Modulo 2 – Stored Function
- Significato e scopo
- Creare, richiamare ed eliminare una stored function
- Parametri e modalità di passaggio
- Richiamare una stored function da SQL (restrizioni ed effetti collaterali)
- Le stored function nel dizionario dati
Modulo 3 – Package
- Significato e scopo
- Componenti e visibilità
- Creare ed eliminare un package
- Richiamare funzioni e procedure del package
- Overloading, forward declaration e persistenza
- I package nel dizionario dati
Modulo 4 – I package di Oracle
- Che cosa sono
- Il package DBMS_OUTPUT
- Il package UTL_FILE
- Il package UTL_MAIL
Modulo 5 – SQL Dinamico
- Scopo e significato
- SQL Dinamico Nativo (NDS)
- Il package DBMS_SQL
Modulo 6 – Scrivere un buon codice PL/SQL
- Procedure e funzioni locali
- Transazioni autonome
- I suggerimenti NOCOPY e PARALLEL_ENABLE
- Il bulk binding
Modulo 7 – Trigger
- Scopo e significato
- Eventi, corpo e momento di attivazione (timing)
- Trigger statement level e trigger row level
- Trigger composti (compound)
- Trigger non-DML (trigger DDL e databse trigger)
- L’istruzione CALL
Modulo 8 – Il compilatore PL/SQL
- Parametri di compilazione
- Warning e messaggi di compilazione
- La compilazione condizionale
- I package DBMS_DB_VERSION e DBMS_PREPROCESSOR
- Obfuscation
- PL/SQL Wrapper
Modulo 9 – Le dipendenze
- Dipendenze e stato degli oggetti
- Dipendenze dirette e indirette
- Fine-grained dependecy
- Dipendenze locali e remote