plsql
Procedura PLSQL
Ricerca…
introduzione
La procedura PLSQL è un gruppo di istruzioni SQL memorizzate sul server per il riutilizzo. Aumenta le prestazioni perché le istruzioni SQL non devono essere ricompilate ogni volta che viene eseguita.
Le stored procedure sono utili quando lo stesso codice è richiesto da più applicazioni. L'archiviazione delle procedure elimina la ridondanza e introduce la semplicità nel codice. Quando è richiesto il trasferimento dei dati tra client e server, le procedure possono ridurre i costi di comunicazione in determinate situazioni.
Sintassi
CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter_name [IN | OUT | IN OUT] type [, ...])]
{IS | AS}
< declarations >
BEGIN
< procedure_body >
EXCEPTION -- Exception-handling part begins
<exception handling goes here >
WHEN exception1 THEN
exception1-handling-statements
END procedure_name;
- nome-procedura specifica il nome della procedura.
- L'opzione [O REPLACE] consente di modificare una procedura esistente.
- L'elenco dei parametri facoltativi contiene nome, modalità e tipi dei parametri. IN rappresenta quel valore che verrà passato dall'esterno e OUT rappresenta che questo parametro verrà utilizzato per restituire un valore al di fuori della procedura. Se non viene specificata alcuna modalità, si presume che il parametro sia in modalità IN.
- Nella sezione di dichiarazione possiamo dichiarare le variabili che saranno usate nella parte del corpo.
- corpo-procedura contiene la parte eseguibile.
- La parola chiave AS viene utilizzata al posto della parola chiave IS per la creazione di una procedura autonoma.
- la sezione delle eccezioni gestirà le eccezioni dalla procedura. Questa sezione è facoltativa.
Ciao mondo
La seguente semplice procedura visualizza il testo "Hello World" in un client che supporta dbms_output
.
CREATE OR REPLACE PROCEDURE helloworld
AS
BEGIN
dbms_output.put_line('Hello World!');
END;
/
È necessario eseguire questo al prompt SQL per creare la procedura nel database, oppure è possibile eseguire la query qui sotto per ottenere lo stesso risultato:
SELECT 'Hello World!' from dual;
Parametri In / Out
PL / SQL utilizza le parole chiave IN, OUT, IN OUT per definire cosa può accadere a un parametro passato.
IN specifica che il parametro è di sola lettura e che il valore non può essere modificato dalla procedura.
OUT specifica che il parametro è solo in scrittura e una procedura può assegnare un valore ad esso, ma non fare riferimento al valore.
IN OUT specifica che il parametro è disponibile per riferimento e modifica.
PROCEDURE procedureName(x IN INT, strVar IN VARCHAR2, ans OUT VARCHAR2)
...
...
END procedureName;
procedureName(firstvar, secondvar, thirdvar);
Le variabili passate nell'esempio precedente devono essere digitate come sono definite nella sezione dei parametri della procedura.