Bonjour,

Est-il possible d'utiliser le résultat d'une fonction comme paramètre d'initialisation d'une séquence?

Voici ce que j'aimerais faire:

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
 
drop table TEST;
 
CREATE TABLE TEST (ID NUMBER NOT NULL);
 
CREATE OR REPLACE FUNCTION DEBUT_SEQUENCE RETURN NUMBER IS
	debut NUMBER;
BEGIN
	select MAX(ID) into debut from TEST;
	IF debut = NULL THEN RETURN 1;
	ELSE RETURN (debut+1);
	END IF;
END;
/
 
CREATE sequence SEQ_ID
	start with DEBUT_SEQUENCE
	increment by 1
	nocycle;
END;
 
CREATE OR REPLACE TRIGGER NUMEROAUTO
	before insert on TEST 
	for each row
BEGIN  
    	select SEQ_ID.nextval into :new.ID from dual;  
END;
/
Merci

Cordialement
Piotr