Bonjour,
Etant débutant en PL/SQL, j'aimerais avoir votre avis sur mon code.
Des optimisations sont-elles possibles ?
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.
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;
table2 me pose problème dans ce cas.
Merci d'avance![]()
Partager