Salut,
Je voulais savoir comment faire pour récupérer l'identifiant automatique ( generateur + trigger ) EN MEME TEMPS que l'insertion d'un tuple
Merci
Salut,
Je voulais savoir comment faire pour récupérer l'identifiant automatique ( generateur + trigger ) EN MEME TEMPS que l'insertion d'un tuple
Merci
Je ne saisis pas ce que signifie "generateur+trigger", mais, sous Oracle, la solution est probablement d'utiliser un FORALL RETURNING BULK COLLECT:
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
38
39
40
41 DROP SEQUENCE dept_s / DROP TABLE dept / CREATE SEQUENCE dept_s START WITH 10000 / CREATE TABLE dept (id INTEGER ,n INTEGER) / SET SERVEROUTPUT ON SIZE 1000000 DECLARE TYPE t_array_integer IS TABLE OF INTEGER INDEX BY BINARY_INTEGER; l_array_n t_array_integer; l_array_id t_array_integer; BEGIN l_array_n(1) := 1; l_array_n(2) := 2; FORALL i IN 1..l_array_n.COUNT INSERT INTO dept (id ,n) VALUES (dept_s.nextval ,l_array_n(i)) RETURNING id BULK COLLECT INTO l_array_id ; FOR i IN 1..l_array_id.COUNT LOOP dbms_output.put_line(l_array_id(i)); END LOOP; END; /
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 SQL> @returning Sequence dropped. Table dropped. Sequence created. Table created. 10000 10001 PL/SQL procedure successfully completed.
Generateur + trigger, c'est pour créer un dientifiant automatique.
J'utilise le langage SQL mais sur une base de donnée Firebird Embedded
C'est possible uniquement dans FireBird 2 qui est actuellement en beta à cette adresse:
http://firebird.sourceforge.net/inde...&id=fb2_beta01
RETURNING Clause for Insert Statements
The RETURNING clause syntax has been implemented for the INSERT statement, enabling the re-turn of a result set from the INSERT statement. The set contains the column values actually stored. Most common usage would be for retrieving the value of the primary key generated inside a BEFORE-trigger.
Available in DSQL and PSQL.
Syntax Pattern
Example(s)
Code : Sélectionner tout - Visualiser dans une fenêtre à part INSERT INTO ... VALUES (...) [RETURNING <column_list> [INTO <variable_list>]]
1.
2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 INSERT INTO T1 (F1, F2) VALUES (:F1, :F2) RETURNING F1, F2 INTO :V1, :V2;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 INSERT INTO T2 (F1, F2) VALUES (1, 2) RETURNING ID INTO :PK;
Henri Gourvest
http://www.progdigy.com
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager