Salut à tous.
Voici la structure de ma table :
La liste des domaines
ensuite la table elle même
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 /**** Domains ****/ CREATE DOMAIN BOOLEAN AS SMALLINT DEFAULT 0 NOT NULL CHECK (VALUE IN(0,1)); CREATE DOMAIN CHAR002 AS VARCHAR(2); CREATE DOMAIN CHAR008 AS VARCHAR(8); CREATE DOMAIN CHAR010 AS VARCHAR(10); CREATE DOMAIN CHAR015 AS VARCHAR(15); CREATE DOMAIN CHAR020 AS VARCHAR(20); CREATE DOMAIN CHAR025 AS VARCHAR(25); CREATE DOMAIN CHAR035 AS VARCHAR(35); CREATE DOMAIN CHAR050 AS VARCHAR(50); CREATE DOMAIN CHAR080 AS VARCHAR(80); CREATE DOMAIN CURRENCY82 AS NUMERIC(8,2) DEFAULT 0 NOT NULL; CREATE DOMAIN DECIMAL42 AS NUMERIC(4,2) DEFAULT 0 NOT NULL; CREATE DOMAIN KEYNORM AS INTEGER NOT NULL; CREATE DOMAIN KEYSHORT AS SMALLINT NOT NULL; CREATE DOMAIN MEMO AS BLOB SUB_TYPE 1 SEGMENT SIZE 80;
et finalement la procedure stocké incriminé :
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 CREATE TABLE TAPPEL ( APL_NO KEYNORM NOT NULL, APL_DATE DATE DEFAULT 'TODAY' NOT NULL, APL_TIME TIME DEFAULT 'NOW' NOT NULL, APL_CORSPD CHAR020 NOT NULL, APL_TYPE CHAR008 NOT NULL, APL_STATUS CHAR002 NOT NULL, APL_SAISIPAR KEYSHORT NOT NULL, APL_NUMERO CHAR008 NOT NULL, APL_MACHINE CHAR025 NOT NULL, APL_MARQUE KEYSHORT NOT NULL, APL_NUMSERIE CHAR015 NOT NULL, APL_ETATMACHINE MEMO, APL_CLIENT KEYNORM NOT NULL, APL_CMT MEMO, APL_VENDUMC3 BOOLEAN NOT NULL, APL_FACTNUM CHAR010, APL_FACTDATE DATE, APL_PBCODE KEYSHORT NOT NULL, APL_PBDETAIL MEMO );
Lorsque j'execute cette procedure stocké sous IbExpert ou Delphi, j'ai le message d'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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69 CREATE PROCEDURE TAPPEL_INSERT ( PAPL_POUR VARCHAR(10), PAPL_DATE DATE, PAPL_TIME TIME, PAPL_CORSPD VARCHAR(20), PAPL_TYPE VARCHAR(8), PAPL_SAISIPAR SMALLINT, PAPL_MACHINE VARCHAR(25), PAPL_NUMSERIE VARCHAR(15), PAPL_MARQUE SMALLINT, PAPL_ETATMACHINE BLOB SUB_TYPE 1 SEGMENT SIZE 80, PAPL_CLIENT INTEGER, PAPL_CMT BLOB SUB_TYPE 1 SEGMENT SIZE 80, PAPL_VENDUMC3 SMALLINT, PAPL_FACTNUM VARCHAR(10), PAPL_FACTDATE DATE, PAPL_PBCODE SMALLINT, PAPL_PBDETAIL BLOB SUB_TYPE 1 SEGMENT SIZE 80) RETURNS ( APL_NO INTEGER, APL_NUMERO VARCHAR(10)) AS DECLARE VARIABLE VUSR_INITIAL CHAR(2); BEGIN APL_NO = GEN_ID(GEN_TAPPEL_NO,1); SELECT USR_INITIAL FROM TUSERS WHERE (UPPER(USR_PSEUDO) = UPPER(:PAPL_POUR)) INTO :VUSR_INITIAL; APL_NUMERO = VUSR_INITIAL||INTTOSTR(APL_NO,'%06u'); INSERT INTO TAPPEL ( APL_NO, APL_DATE, APL_TIME, APL_CORSPD, APL_TYPE, APL_STATUS, APL_SAISIPAR, APL_NUMERO, APL_MACHINE, APL_NUMSERIE, APL_MARQUE, APL_ETATMACHINE, APL_CLIENT, APL_CMT, APL_VENDUMC3, APL_FACTNUM, APL_FACTDATE, APL_PBCODE, APL_PBDETAIL) VALUES ( :APL_NO, :PAPL_DATE, :PAPL_TIME, :PAPL_CORSPD, :PAPL_TYPE, 'N', :PAPL_SAISIPAR, UPPER(:APL_NUMERO), UPPER(:PAPL_MACHINE), UPPER(:PAPL_NUMSERIE), :PAPL_MARQUE, :PAPL_ETATMACHINE, :PAPL_CLIENT, :PAPL_CMT, :PAPL_VENDUMC3, :PAPL_FACTNUM, :PAPL_FACTDATE, :PAPL_PBCODE, :PAPL_PBDETAIL); END
Je n'arrive pas à trouver l'erreur.Invalid BLOB Id
Merci pour vos patiences
Andry
Partager