In Oracle con Anonymous Blocks ci si riferisce ai comandi inseriti direttamente, ovvero interattivamente.

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;
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:

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.
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
Tags:
Database75 Oracle24 PL/SQL16 SQL90
Potrebbe interessarti anche: