Bonjour,
Je souhaite remplir un champ dans une table en fonction du contenu d'un autre champ de cette même table, et le remplir tout en ajoutant des caractères.
Par exemple, j'ai une table NOURRITURE dans laquelle j'ai un champs FRUIT. Je peux avoir comme valeur FRAISE, POIRE, POMME, ABRICOT ou tout ce que vous voulez.
Et j'ai un champ CODEFRUIT (le nom est mal choisi, mais j'ai pas mieux là!) dans lequel je veux ajouter "1234" devant le contenu du champ FRUIT. Tout le temps le même code 1234. C'est à dire obtenir "1234FRAISE".
Déjà, pour le coup, je ne sais pas trop comment m'y prendre en PL/SQL...
Mais en plus, ça se corse. Dans mon champ FRUIT, je peux avoir plusieurs fruits, comme ceci : "FRAISE,POMME,POIRE,ABRICOT".
Donc, dans mon champs CODEFRUIT, je voudrais 1234FRAISE,1234POMME,1234POIRE,1234ABRICOT.
Autant je le fais en flex sans trop de difficultés, autant en PL/SQL... Et j'ai besoin de faire le script en PL/SQL.
D'ailleurs, mon code en flex (si jamais ça peut aider)
Je ne connais pas très bien ce langage, seulement les bases.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 if varFRUIT != "" { tabFruit = varFRUIT.split(',') for each (item in tabFruit) { item = "1234" + item; varCODEFRUIT = varCODEFRUIT+item+','; } }
J'ai commencé à faire ça (mais je vous préviens, c'est surement dégueulasse et à priori bourré de fautes!)
Au secours!!!
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 DECLARE TYPE tabFruit is varray (1000) of varchar2(15); cursor champFruit is select * from NOURRITURE where FRUIT IS NOT NULL; cursor item is select * from tabFruit ; Begin For champFruit in NOURRITURE Loop //boucler sur la table TAB tabFruit := tabFruit (substr(FRUIT, INSTR(FRUIT,','))); For item in tabFruit Loop //boucler sur le champ item='1234'+item; CODEFRUIT = CODEFRUIT +item+','; End loop; End loop; End;
Partager