Sunteți pe pagina 1din 3

T E S T Nr.

2
pentru examen la „Baze de date Web orientate”
Ciclul I, Licenţa; Anul IV, Specialitatea "Tehnologii informaţionale”

1.1
CREATE [OR REPLACE] FUNCTION function_name
[ (parameter [,parameter]) ]

RETURN return_datatype

IS | AS

[declaration_section]

BEGIN
executable_section

[EXCEPTION
exception_section]

END [function_name];

e.x.
create or replace function adder(n1 in number, n2 in number)
return number
is
n3 number(8);
begin
n3 :=n1+n2;
return n3;
end;
/

1.2
Proceduri Functii
Procedurile sunt blocuri de bază PL SQL pentru Funcțiile sunt blocuri utilizate în principal pentru
a efectua o anumită acțiune. a efectua calculele.
Procedurile nu vor returna valoarea Funcțiile trebuie să returneze valoarea. Când
scrieți funcții, asigurați-vă că puteți scrie
instrucțiunea return.
Procedurile se execută întotdeauna ca Funcțiile se execută ca parte a expresiei
instrucțiune PL SQL
Nu conține clauza de returnare în secțiunea Trebuie să conțină clauza de returnare în antet
antet
Putem transmite valorile folosind parametrii IN Funcția trebuie să returneze o singură valoare
OUT IN OUT
Procedurile nu pot fi executate în instrucțiunea Funcțiile se pot executa sau apela folosind
Select instrucțiunea select, dar nu trebuie să conțină
parametri Out sau IN OUT.
1.3
DECLARE
   n3 number(2);
BEGIN
   n3 := adder(11,22);
   dbms_output.put_line('Addition is: ' || n3);
END;
/

2.1

Dynamic SQL este o tehnică de programare care vă permite să construiți instrucțiuni SQL în mod dinamic în timpul

execuției. Puteți crea aplicații mai generale, flexibile, utilizând SQL dinamic, deoarece textul complet al unei

instrucțiuni SQL poate fi necunoscut la compilare. De exemplu, SQL dinamic vă permite să creați o procedură care

funcționează pe un tabel al cărui nume nu este cunoscut până la runtime.

În versiunile anterioare ale Oracle, singura modalitate de a implementa SQL dinamic într-o aplicație PL/SQL a fost

utilizarea pachetului DBMS_SQL. Oracle8i introduce SQL dinamic nativ, o alternativă la pachetul DBMS_SQL.

Folosind SQL dinamic nativ, puteți plasa instrucțiuni SQL dinamic direct în blocuri PL/SQL.

2.2

EXECUTE IMMEDIATE dynamic_string


[INTO {define_variable[, define_variable]... | record}]
[USING [IN | OUT | IN OUT] bind_argument
[, [IN | OUT | IN OUT] bind_argument]...]
[{RETURNING | RETURN} INTO bind_argument[, bind_argument]...];

2.3

CREATE OR REPLACE PROCEDURE drop_table (name IN VARCHAR2)


 IS
 BEGIN
    DROP TABLE name;
 END;
/
EXEC drop_table(‘USM’);

3
CREATE OR REPLACE PACKAGE SUPER_LOAD AS
  
  FUNCTION MAIN (data in date) return VARCHAR2;
  FUNCTION MAIN (value in integer)return VARCHAR2;
END SUPER_LOAD;
/

CREATE OR REPLACE PACKAGE BODY SUPER_LOAD AS


  FUNCTION MAIN (data in date) RETURN VARCHAR2 IS
    BEGIN
      RETURN TO_CHAR(data, 'DL');
    END MAIN;
    
    FUNCTION MAIN (value in integer) RETURN VARCHAR2 IS
    BEGIN
      RETURN TO_CHAR(value);
    END MAIN;
    
END SUPER_LOAD;
/

Declare
returnRes Varchar2(200);
returnRes1 Varchar2(200);
BEGIN
   returnRes := SUPER_LOAD.MAIN(sysdate);
   dbms_output.put_line(returnRes);
   
   returnRes1 := SUPER_LOAD.MAIN(5);
   dbms_output.put_line(returnRes1);
   
END;

S-ar putea să vă placă și