Bonjour,

Etant débutant en PL/SQL, j'aimerais avoir votre avis sur mon code.
Des optimisations sont-elles possibles ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CREATE OR REPLACE PACKAGE BODY pkg_test IS
 
  PROCEDURE query_test (table1 IN VARCHAR2, table2 IN VARCHAR2) IS
 
query_max VARCHAR2(100);
	max_q   VARCHAR2(100);
	collection_query  VARCHAR2(3500);
 
  BEGIN
 	query_max := 'SELECT max(num) FROM ' || table2;
EXECUTE IMMEDIATE query_max  INTO max_q;
 
collection_query := 'INSERT INTO ' || table2 || ' (SELECT num FROM '|| table1 ||' WHERE num > :1)';    
	EXECUTE IMMEDIATE collection_query USING max_q;
 
  END;
 
END;
Je n'ai pas réussi à la faire fonctionner en remplaçant le premier EXECUTE IMMEDIATE par une requête sous la forme SELECT.. INTO.. FROM table2.
table2 me pose problème dans ce cas.

Merci d'avance