Salut à tous,
J'ai deux table DOSSIER et UTILISATEUR dont voici les champs
TABLE UTILISATEUR
- US_NO SMALLINT
US_INIT CHAR(02)
US_ID VARCHAR(10)
TABLE DOSSIER
- DS_NO INTEGER
DS_NUM VARCHAR(10)
DS_PAR SMALLINT
...
Et voici ma procedure qui insert dans DOSSIER
Cette ps est incomplet DS_NUM n'est pas renseigné et est possible qu'il doit y avoir des erreur.
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 CREATE PROCEDURE DOSSIER_INSERT ( DS_NUM VARCHAR(10), OPER VARCHAR(10)) RETURNS ( NUM INTEGER) AS DECLARE VARIABLE US_INIT CHAR(2); DECLARE VARIABLE US_NO SMALLINT; BEGIN NUM = GEN_ID(GEN_DOSSIER_NO, 1); Select US_INIT,US_NO from TUTILISATEUR where US_ID = :OPER into US_INIT, US_NO; INSERT INTO TDOSSIER ( DS_NO, DS_NUM, DS_PAR) VALUES ( :NUM, :DS_NUM, :US_NO); END
En faite, DS_NUM est du style AN000047 qui est la concatenantion de NUM et de US_INIT puis formaté pour que le nombre de lettre après AN soit de 6 (000047).
Actuellement, j'aliment DS_NUM manuellement en faisant la concatenantion sous Delphi.
Y at-il un moyen de le faire dans le ps ?
Merci
COmment puis
Partager