In
Oracle con
Anonymous Blocks ci si riferisce ai comandi inseriti direttamente, ovvero interattivamente.
DECLARE
v_1 varchar2(30);
v_2 varchar2(20);
BEGIN
v_1 := 'text1';
v_2 := 'test2';
dbms_output.put_line('Var 1: ' || v_1);
dbms_output.put_line('Var 2: ' || v_2);
END;
Dall'esempio qua sopra si possono distinguere 2 blocchi. Il primo inizia con la keyword
DECLARE dove vanno definite le variabili. Il successivo, identificato dalle keyword
BEGIN e
END, dove vengono usate le variabili ed inserte le istruzioni
PL/SQL.
Per provare ad esegure delle istruzioni
PL/SQL si può utilizzare il tool a linea di comando
SQLPlus (C:\oraclexe\app\oracle\product\11.2.0\server) installato con
Oracle:
SQL> DECLARE
2 v_user varchar2(30);
3 BEGIN
4 select sys_context('userenv','current_user') into v_user from dual;
5 dbms_output.put_line('Reported on: ' || To_Char(sysdate, 'dd-mon-yy'));
6 dbms_output.put_line('User: ' || v_user);
7 END;
8 /
PL/SQL procedure successfully completed.
SQL> set serveroutput on;
SQL> /
Reported on: 22-mar-12
User: SYSTEM
PL/SQL procedure successfully completed.
la query iniziale in SQLPlus:
SQL> DECLARE
2 v_1 varchar2(20);
3 v_2 varchar2(20);
4 BEGIN
5 v_1 := 'text1';
6 v_2 := 'test2';
7 dbms_output.put_line('Var 1: ' || v_1);
8 dbms_output.put_line('Var 2: ' || v_2);
9 END;
10 /
Var 1: text1
Var 2: test2
PL/SQL procedure successfully completed.
Dagli esempi si possono notare:
- To_Char per convertire una data in stringa
- dbms_output.put_line per stampare un valore
- || (doppia pipe) per concatenare le stringhe (identico al + di T-SQL)
- := (due punti e uguale) per assegnare un valore ad una variabile
- ; (punto e virgola) per terminare una riga
- / (slash) per terminare il comando
- set serveroutput on per visualizzare l'output a video