Oracle Anonymous Blocks
In Oracle con Anonymous Blocks ci si riferisce ai comandi inseriti direttamente, ovvero interattivamente.
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:
la query iniziale in SQLPlus:
Dagli esempi si possono notare:
PL/SQL
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;
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:
PL/SQL
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:
PL/SQL
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.
- 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