| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 
 | --construction d'un objet memoire avec les valeurs a inserer dans la bd 
	memoire := memoires_t(	UPPER(TRIM(p_isbn)),
	                		p_titre,
   		            		p_langue,
   		            		p_typetud, 
	   		        		p_promotion,
   	   		        		DOM_NOTICE_t(p_notice),
							l_refmotscles_t(),
							l_auteurs_t(),
							l_refexemplaires_t()
						);
 
    memoire.INSERE_MEMOIRE; --insere un memoire dans la bd 
 
	--si des auteurs ont ete affecte au memoire 
	IF(TRIM(p_auteur(1))<>'aucunauteur')
	THEN
	    --pour chaque auteur 
		FOR i IN 1..p_auteur.count 
		LOOP	
	    	DECLARE
		 		m_nom_auteur    obj_auteurs.NOM%type;
		 		m_prenom_auteur obj_auteurs.PRENOM%type;
		 		m_place number;
		 		m_num_auteur obj_auteurs.REFAUTEUR%TYPE;
		 		m_auteurnom obj_auteurs.REFAUTEUR %type;
			BEGIN
			    --decompose le memoire en nom et prenom
    	 		m_place         := INSTR(p_auteur(i),' ');
		 		m_nom_auteur    := TRIM(SUBSTR(p_auteur(i),1,m_place));
		 		m_prenom_auteur := TRIM(SUBSTR(p_auteur(i),m_place));
 
 
				  SELECT to_char(SEQ_AUTEURS.nextval)
 	       	  	  INTO m_num_auteur
 	       	  	  FROM DUAL;
 
				  --INSERT INTO TEST VALUES(m_num_auteur,m_nom_auteur,m_prenom_auteur);
 
				  INSERT INTO TABLE
				  		 (SELECT listeauteurs FROM OBJ_MEMOIRE WHERE Refouvrage = UPPER(TRIM(p_isbn)))
				  VALUES (auteurs_t(to_char(m_num_auteur),UPPER(m_nom_auteur),UPPER(m_prenom_auteur)));
 
				  EXCEPTION
				  WHEN OTHERS THEN htp.print('ERRREUR BIBLIO : '||sqlcode||sqlerrm||'m_num_auteur = '||m_num_auteur||' p_isbn '||p_isbn || 'nom_auteur ' || m_nom_auteur || 'prenom_auteur ' || m_prenom_auteur);
 
	    	 END;
		END LOOP;
	 END IF; | 
Partager