Pour les pros du PL/SQL

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

  • Votes
  • Date
  • Date décroissante
  1. Hello,

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

    A plus
    1. 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 !