J'aurai souhaité savoir s'il était possible de changer le type d'un champ c'est à dire par exemple passer de integer à text, sans être obliger de supprimer la table et de la refaire, je suis allée sur le site sql pro, mais
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
 
ALTER TABLE T_IMPORT 
ADD TMP_IMP_DATE CHAR(6) 
 
UPDATE T_IMPORT 
SET TMP_IMP_DATE = IMP_DATE 
 
ALTER TABLE 
DROP IMP_DATE 
 
ALTER TABLE 
ADD IMP_DATE DATE 
 
UPDATE T_IMPORT  
SET IMP_DATE = CAST(CASE SUBSTRING(TMP_IMP_DATE, 5, 2) 
                       WHEN < '03' THEN  '20' 
                       ELSE '19' 
                    END || SUBSTRING(TMP_IMP_DATE, 5, 2)  
                    || '-' || SUBSTRING(TMP_IMP_DATE, 3, 2) 
                    || '-' || SUBSTRING(TMP_IMP_DATE, 1, 2) AS DATE) 
 
ALTER TABLE 
DROP TMP_IMP_DATE 
 
COMMIT
Ne marche pas chez moi , voilà ce que je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
GDBASE=# ALTER TABLE "TABLE"
GDBASE-# ADD "TMP-NUM-ORDRE" bigint
GDBASE-# ALTER TABLE
GDBASE-# DROP "NUM-ORDRE"
GDBASE-# ALTER TABLE
GDBASE-# ADD "NUM-ORDRE" INTEGER
GDBASE-# ALTER TABLE
GDBASE-# DROP "TMP-NUM-ORDRE";
ERROR:  parser: parse error at or near "ALTER"
fAUT IL METTRE UN ; A CHAQUE FOIS??? J'AI DU MAL