Nos partenaires et nous-mêmes utilisons différentes technologies, telles que les cookies, pour personnaliser les contenus et les publicités, proposer des fonctionnalités sur les réseaux sociaux et analyser le trafic. Merci de cliquer sur le bouton ci-dessous pour donner votre accord. Vous pouvez changer d’avis et modifier vos choix à tout moment. Informations RGPD
/*CREATE or replace PROCEDURE PROC1(EMP_ID IN EMP.EMPNO%TYPE) IS EMP_NO EMP.EMPNO%TYPE; EMP_N EMP.ENAME%TYPE; EMP_SAL EMP.SAL%TYPE; BEGIN SELECT EMPNO, ENAME, SAL INTO EMP_NO, EMP_N, EMP_SAL FROM EMP WHERE EMPNO = EMP_ID; DBMS_OUTPUT.PUT_LINE(EMP_NO||'-'||EMP_N||'-'||EMP_SAL); END; SET SERVEROUTPUT ON EXECUTE PROC1(12);*/ /*CREATE or replace PROCEDURE PROC2(EMP_ID IN EMP.EMPNO%TYPE) IS EMP_NO EMP%NOWTYPE; BEGIN SELECT * INTO EMP_NO FROM EMP WHERE EMPNO = EMP_ID; DBMS_OUTPUT.PUT_LINE(EMP_NO||'-'||EMP_N||'-'||EMP_SAL); END; SET SERVEROUTPUT ON EXECUTE PROC1(12);*/ /*CREATE OR REPLACE PROCEDURE PROC1(EMP_ID IN EMP.EMPNO%TYPE, NEW.SAL IN EMP.SAL%TYPE) IS EMP_NO EMP.EMPNO%TYPE; EMP_N EMP.ENAME%TYPE; EMP_SAL EMP.SAL%TYPE; BEGIN SELECT EMPNO, ENAME, SAL INTO EMP_NO, EMP_N, EMP_SAL FROM EMP WHERE EMPNO = EMP_ID; DBMS_OUTPUT.PUT_LINE(EMP_NO||'-'||EMP_N||'-'||EMP_SAL); END; SET SERVEROUTPUT ON EXECUTE PROC1(12);*/ /*CREATE OR REPLACE PROCEDURE MyProc IS TYPE EMP_t_TYPE IS TABLE OF EMP%ROWTYPE; l_emp EMP_t_TYPE := EMP_t_TYPE(); cursor c_emp IS (SELECT * FROM EMP); BEGIN FOR maligne in c_emp loop l_emp.extend; l_emp(l_emp.LAST) := maligne; END loop; FOR I IN l_emp.FIRST..l_emp.LAST loop DBMS_OUTPUT.PUT_LINE(l_emp(I).ename); END loop; END; SET SERVEROUTPUT ON EXECUTE MyProc();*/ CREATE OR REPLACE TYPE Phone_t as OBJECT(n_employe VARCHAR(30), t_number VARCHAR(12)); CREATE OR REPLACE TYPE phone_list IS TABLE OF Phone_t; CREATE TABLE Departements (Dept_ID number(2), Lib_Dept varchar(30), adresse varchar(30), Tel phone_list, --nested table Primary key(Dept_ID)) NESTED TABLE Tel STORE AS T_Phone_list; INSERT INTO Departements VALUES(1, 'Marketing', 'Bordeaux', phone_list(Phone_t('Durand', '0607789012'))); SELECT dept_ID, lib_dept, adresse, t2.* FROM Departements, TABLE(Departements.Tel) t2; INSERT INTO Departements VALUES(2, 'DAF', 'Bordeaux', phone_list(Phone_t('Dupont', '0556903060'))); INSERT INTO Departements VALUES(3, 'Logistique', 'Bordeaux', phone_list()); SELECT dept_ID, lib_dept, adresse, t2.* FROM Departements, TABLE(Departements.Tel)(+) t2; INSERT INTO TABLE(SELECT Tel FROM Departements WHERE dept_ID =1) VALUES(Phone_t('PRUDENCE', '0666667894')); UPDATE TABLE (SELECT Tel from Departements WHERE dept_ID = 1) t SET t.t_number = '075524629' WHERE t.n_employe='Durand'; DELETE TABLE (SELECT Tel from Departements where dept_id = 1) t