| Comentariu |
/* comentariu pe mai multe linii */ -- comentariu pe o linie rem comentariu pe o linie |
| Instrucţiune vidă |
null; |
| Atribuire | variabila := expresie;Pentru o expresie se pot folosi:
|
| De control |
IF conditie1 THEN
instr1;
[ELSIF conditi2 THEN
instr2;] ...
[ELSE instrn;]
END IF;
------------------------
LOOP
sir de instructiuni care se executa repetat
Din sirul de instructiuni se poate iesi fortat cu EXIT [WHEN conditie];
END LOOP;
------------------------
WHILE conditie LOOP
sir de instructiuni;
Din sirul de instructiuni se poate iesi fortat cu EXIT [WHEN conditie];
END LOOP;
------------------------
FOR variabila IN [REVERSE] val_min .. val_max LOOP
instructiuni;
Din sirul de instructiuni se poate iesi fortat cu EXIT [WHEN conditie];
END LOOP;
|
Diverse |
exit; return expresie; apel de procedura; eticheta instructiune; -- în faţa unei instrucţiuni poate apare o etichetă GOTO eticheta; -- salt la o instrucţiune etc. |
Exemple pentru SQL*Plus sau iSQL*Plus:
-- Generare coduri ASCII
set serveroutput on
declare
i number;
begin
-- genereaza codurile ASCII cuprinse intre 32 si 255
for i in 32..255 loop
dbms_output.put_line((to_char(i,'000')) || ':' || chr(i) || ' ');
end loop;
end;
-- generarea primei si ultimei zile din fiecare luna a anului 2025 (data si denumirea zilei)
set serveroutput on
declare
i number;
d1 date;
d2 date;
z1 varchar2(30);
z2 varchar2(30);
begin
for i in 1..12 loop
d1:=to_date('01.' || to_char(i,'00') || '.2025','dd.mm.yyyy');
d2:=last_day(d1);
z1:=to_char(d1,'dd.mm.yyyy') || ' (' || to_char(d1,'Day') || ')';
z2:=to_char(d2,'dd.mm.yyyy') || ' (' || to_char(d2,'Day') || ')';
dbms_output.put_line(z1 || ' - ' || z2);
end loop;
end;