Bonjour,
je cherche à développer une fonction d'insertion de données dans une table commande et une table relationnelle.
En effet, je possède une table commande, une table article et une table relationnelle qui affecte les articles à une commande.
L'utilisateur saisit dans un formulaire développé en php, une nouvelle commande. Il affecte à cette commande une liste d'articles.
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 table t_produit ( prod_Id integer primary key, prod_Libelle varchar(32) ); table t_commande ( cmd_Id integer auto_increment primary key, cmd_Date date ); table r_prod_cmd ( Id integer primary key, cmd_Id integer, prod_Id integer, qute integer, remise integer );
Comme conseillé par SQLPro, je cherche à développer une fonction permettant l'insertion d'une nouvelle commande dans la table commande et l'insertion des articles rattachés à cette commande dans la table relationnelle.
Voici le corps de ma fonction:
Ensuite l'idée serait d'executer une boucle for d'un nombre de fois correspondant à la taille du tableau. Dans cette boucle je pourrais inserer dans la table relationnelle, les valeurs des tableaux passés en paramètres.
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 CREATE or REPLACE FUNCTION InsNewCommande(anyarray,anyarray,anyarray) RETURNS INTEGER AS ' DECLARE idCmd integer; -- Id de la commande currentTime timestamp; prodId ALIAS FOR $1; -- Liste des codes Produits prodQuantite ALIAS FOR $2; -- Liste des quantités prodRemise ALIAS FOR $3; -- Liste des remises BEGIN -- Génération dun nouvel Id de commande select into idCmd nextval(''cmd_id_seq''); -- Date dEnregistrement currentTime := ''now''; -- Insertion dans la table t_commande insert into t_commande values(idCmd,currentTime); -- Insertion dans la table relationnelle -- Cherche Instructions return 0; END; ' LANGUAGE plpgsql;
Comme la taille du tableau n'est pas connue à l'avance, est-il possible de récupérer la taille du tableau avec une instruction du type tableau.length ou quelque chose de similaire ?
Pensez-vous que ma façon de procéder pour insérer des données soit correctes ? Est-ce comme cela que je dois procéder ?
Merci
++
Partager