Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- set serveroutput on
- set autoprint on
- declare
- v_name angajati.nume%type;
- begin
- select nume into v_nume from angajati where id_angajat = 101; --atribuire cu select
- dbms_output.put_line('Angajatul se numeste '||v_nume); --afisare
- end;
- /
- --var de mediu se declara in afara blocului
- --nu are nevoie de : la sf
- --fara dimensiune
- --PLSQL se acceseaza cu : in fata ':nume_variabila:=2;'
- --afisare implicita set autoprint on
- --afisare print nume_var
- variable g_pret number
- begin
- select avg(pret) into :g_pret from rand_comenzi where id_produs = 3133;
- end;
- /
- print g_pret;
- --produse al caror pret > decat media produsel9or cu id 3133
- --trebuie sters print ca sa mearga
- select id_produs, pret from rand_comenzi where pret > :g_pret;
- --var de substitutie
- --permit introd. de val. de la tastatura
- declare
- v_nr number(6);
- begin
- select count(id_comanda) into v_nr from comenzi where id_angajat= &id;
- dbms_output.put_line('Angajatul a intermediat '||v_nr||' comenzi');
- end;
- /
- --var compozite pot stoca mai multe valori
- --v_var nume_tabela%rowtype
- --compozit format din campuri cu tipul de data diferit
- --se refera la inreg. unei tabele
- --este o variabila compusa
- declare
- v_prod produse%rowtype;
- begin
- select * into v_prod from produse where id_produs =3133;
- dbms_output.put_line('Produsul '||v_prod.id_produs|| ' are pretul de lista'|| v_prod.pret_lista);
- end;
- /
- declare
- v_prod produse%rowtype;
- begin
- select * into v_prod from produse where id_produs =3133;
- dbms_output.put_line('Produsul '||v_prod.id_produs|| ' are categoria '|| v_prod.categorie);
- end;
- /
- create table produse1 as select * from produse where 1=2; --tabela fara inregistrari
- declare
- v_prod produse%rowtype;
- begin
- select * into v_prod from produse where id_produs =3133;
- dbms_output.put_line('Produsul '||v_prod.id_produs|| ' are categoria '|| v_prod.categorie);
- insert into produse1 values v_prod;
- end;
- /
- --sau
- drop table produse1;
- declare
- v_prod produse%rowtype;
- begin
- select * into v_prod from produse where id_produs =3133;
- dbms_output.put_line('Produsul '||v_prod.id_produs|| ' are categoria '|| v_prod.categorie);
- execute immediate 'create table produse1 as select * from produse where 1=2';
- execute immediate 'insert into produse1 values (:1,:2,:3,:4,:5,:6)' using v_prod.id_produs, v_prod.denumire_produs, v_prod.descriere, v_prod.categorie, v.prod.pret_lista, v_prod.pret_min; -- descompunere pe componenete
- end;
- /
- --alta var compusa, de tip record
- -- se creaza cu 'type nume_tip is record'(nume_camp1 tip_data ...);
- --vrec nume_tip;
- declare
- type tip_p is record (v_id produs.id_produs%type , v_nr number(6));
- vrec_p tip_p;
- begin
- select p.id_produs, sum(pret*cantitate) into vrec_p from produse p, rand_comenzi c
- where c.id_produs=p.id_produs and p.id_produs =3133
- group by p.id_produs;
- dbms_outpput.put_line('Produsul ' || vrec_p.v_id || 'are vfaloarea comandata' || vrec_p.v_nr);
- end;
- /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement