Pour les pros du PL/SQL

steelspirit Messages postés 277 Statut Membre -  
steelspirit Messages postés 277 Statut Membre -
bonjour à tous et bonne appétit !
j'ai une table sous postgreSQL du style :

table employe
------------------
ref_emp | Integer
ref_agence | Integer
nom | character varying

j'ai un probleme quand j'insère un tuple où ref_agence est vide :
insert into employe values (1,' ','toto');
postgreSQL me fait l'erreur : ERROR: pg_atoi: zero-length string

Y aurai t'il moyen de créer un trigger qui remplace les ' ' par 0 ?
Voyez vous une autre solution pour insérer une ref_agence vide ?

Merci d'avance pour votre aide

- T'as pas vu Chloraine ?
- C'est qui Chloraine ? - Ah ! Ah ! Ah !

2 réponses

ian
 
Hello,

Essaye en mettant le mot NULL directement à la place de tes apostrophes (donc sans apostrophes autour ;-) )

A plus
0
steelspirit Messages postés 277 Statut Membre 80
 
merci pour ton aide ian mais ce n'est pas ce que je souhaite faire :

mes requetes insert sont créer à partir de formulaires avec du perl.
quand un utilisateur laisse un champ vide dans un des formulaires ma requete va etre par exemple insert into employe values (1,$ref_agence,'toto'); avec $ref_agence qui est vide ! dc si je veux que $ref_agence soit égal à NULL il faut que je fasse avant le insert :
if ($ref_agence eq "") {$ref_agence='NULL';}

seulement j'ai 400 scripts aux moins qui contiennent des insert et des updates
donc je me suis dis au lieu de retoucher à tout les scripts pourquoi ne pas faire un controle directement au niveau de la base sur la table employe !

Quelqu'un aurait il une idée ?

- T'as pas vu Chloraine ?
- C'est qui Chloraine ? - Ah ! Ah ! Ah !
0