Untitled

mail@pastecode.io avatar
unknown
sql
a year ago
1.4 kB
5
Indexable
Never
CREATE PACKAGE NETFLIX_PKG AUTHID DEFINER AS
    PROCEDURE InsertFilm (
    	TITRE NVARCHAR2,
    	ANNEE_SORTIE NUMBER,
    	DURATION NUMBER,
    	DESCRIPTION NVARCHAR2
    );
END NETFLIX_PKG;
/
    -- PACKAGE BODY
CREATE PACKAGE BODY NETFLIX_PKG AS
    NOT_UNIQUE EXCEPTION;
	PRAGMA EXCEPTION_INIT(NOT_UNIQUE, -1); -- pour valeur non unique
    

	PROCEDURE InsertFilm (
        TITRE NVARCHAR2,
        ANNEE_SORTIE NUMBER,
        DURATION NUMBER,
        DESCRIPTION NVARCHAR2
    )
    IS
    BEGIN
        INSERT INTO NETFLIX_FILMS (FILM_ID, TITRE, ANNEE_SORTIE, DURATION, DESCRIPTION)  
        	VALUES (NETFLIX_FILMS_SEQ.NEXTVAL, TITRE, ANNEE_SORTIE, DURATION, DESCRIPTION);
    
       	DBMS_OUTPUT.PUT_LINE('Insertion du film ' || TITRE || ' (année : '|| ANNEE_SORTIE || ', duration : ' || DURATION || ') réussie.');
    
        EXCEPTION 
        	WHEN NOT_UNIQUE THEN
    			DBMS_OUTPUT.PUT_LINE('Erreur - insertion échouée. Le film ' || TITRE || ' existe déjà dans NETFLIX_FILMS.');
            -- WHEN CUSTOM_EXCEPTION THEN
    			-- DBMS_OUTPUT.PUT_LINE(SQLERRM);
           	WHEN OTHERS THEN -- OTHERS : all errors other than those specified
            	DBMS_OUTPUT.PUT_LINE('CODE D''ERREUR : ' || SQLCODE);
                DBMS_OUTPUT.PUT_LINE('MESSAGE D''ERREUR : ' || SQLERRM);
	END InsertFilm; 


END NETFLIX_PKG;
/

execute NETFLIX_PKG.InsertFilm('titre', 1995, 123, 'description');