Bonjour
j'ai créé 3 types dans mon schéma
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 create or replace TYPE LOCK_OBJECT AS OBJECT (TABLENAME VARCHAR2(30), id NUMBER(19,0)) create or replace TYPE NUM_ARRAY AS TABLE OF NUMBER(19,0); create or replace TYPE LOCK_OBJECT_ARRAY AS TABLE OF LOCK_OBJECT Est ce possible de créer une fonction qui prend en paramètre un type et qui retourn un type exemple : CREATE OR REPLACE FUNCTION gui_lock_objects ( p_locked_objects IN lock_object_array ,p_user_id IN NUMBER(19,0) ) RETURN num_array AS global_version_array num_array := num_array(); CURSOR cu_objs IS SELECT * FROM p_locked_objects; BEGIN FOR rc_obj IN cu_objs LOOP INSERT INTO st_lockobjectopp_2(internalkey, tablename, classid, userid, acquired, sessionauditid) VALUES(1, rc_obj.tablename, rc_obj.id, p_user_id, sysdate(), sys_context('userenv', 'SESSIONID')); EXECUTE IMMEDIATE 'select version from ' || rc_obj.tablename || ' where internalkey = ' || rc_obj.id INTO global_version; global_version_array.extend; global_version_array(global_version_array.COUNT) := global_version; END LOOP; COMMIT; RETURN global_version_array; -- dbms_lock.sleep(5); END gui_lock_objects;
j'arrive pas à compiler la fonction
Merci pour votre aide
Oracle 10.2.0.2
OS Linux
Partager