Bonjour à tous,
J'aurais besoin d'un petit coup de pouce pour une rêquete avec un IF THEN.
Context :
J'importe des données via un excel dans une table nommé copydata . Une de mes donnée est une date, elle est stocké dans le champs data66 lors de l'importation. Selon les fichiers le format de la donnée change parfois c'est un reel, parfois c'est un text. Je cherche à stocker la date selon son type dans la table "project" dans laquel j'ai créer deux colonnes avec ces deux différents type: proj_dateChar et proj_dateReal.
Ma requête :
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 CREATE OR REPLACE FUNCTION test_date () RETURNS VOID AS $$ DECLARE type_date66 char; BEGIN SELECT data_type INTO type_date66 FROM information_schema.columns WHERE table_schema = 'public' AND table_name = 'copydata' AND column_name ='date66'; RAISE notice 'verif(%)', type_data66; IF type_date66 = 'real' THEN EXECUTE 'INSERT INTO project(proj_dateReal)SELECT data66'; ELSE EXECUTE 'INSERT INTO project(proj_dateChar)SELECT data66'; END IF; END; $$ LANGUAGE plpgsql VOLATILE;
J'ai déclaré type_date66 mais il me dit qu'il n'existe pas.
Avez vous des conseils pour gérer d'une autre facons ces deux formats de date un peu bizarre ? Auriez vous une idée pour ma fonction ?
Merci d'avance
Partager