Code d'erreur SQL 591 ???
Posted in 2000
Topics: General Discussion
Translated from English by DrWatson — View original
Bonjour, J'ai des problèmes avec une instruction SQL. J'obtiens systématiquement l'erreur SQL 591, qui signifie : valeur par défaut invalide pour la colonne/variable... Parcourir plusieurs ouvrages et sites consacrés à Informix ne m'a pas aidé. L'un d'entre vous, experts, pourrait-il repérer l'erreur ? CREATE TABLE SOME_NAME ( EXECUTION_DAT DATETIME YEAR TO FRACTION(3) DEFAULT "1900-01-01 00:00:00.000" NOT NULL , .... ) Je ne vois pas ce qui cloche avec la valeur par défaut. J'ai essayé d'utiliser des guillemets simples au lieu des guillemets doubles, sans aucun effet. Toute aide sera grandement appréciée. Merci d'avance Peter
Essayez, CREATE TABLE SOME_NAME ( execution_dat datetime year to fraction(3) default datetime(1900-01-0100:00:00.000) year to fraction(3) not null ) J'espère que cela vous aidera Pankaj Peter Ulrich a écrit dans le message <3976B2A9.1A2F216A@corag.de> : >Bonjour, > >J'ai des problèmes avec une instruction SQL. J'obtiens sans cesse l'erreur SQL 591, >qui signifie : Valeur par défaut non valide pour la colonne/variable... >Parcourir plusieurs ouvrages et des URL Informix ne m'a pas aidé. L'un d'entre >vous, les experts, peut-il repérer l'erreur ? > >CREATE TABLE SOME_NAME > ( > EXECUTION_DAT DATETIME YEAR TO FRACTION(3) DEFAULT "1900-01-01 >00:00:00.000" NOT NULL , > .... > ) > >Je ne vois pas ce qui cloche avec la valeur par défaut. >J'ai essayé d'utiliser des guillemets simples au lieu des guillemets doubles, >sans aucun effet > >Toute aide sera grandement appréciée >Merci d'avance >Peter >
Bonjour Pankaj, merci pour ta réponse ! Malheureusement, ta suggestion n'a pas résolu le problème. J'obtiens à la place une erreur de syntaxe (code 201), de même qu'avec les variantes suivantes : CREATE TABLE SOME_NAME ( execution_dat datetime year to fraction(3) default datetime year to fraction(3) (1900-01-0100:00:00.000) not null ) ni avec celle-ci : CREATE TABLE SOME_NAME ( execution_dat datetime year to fraction(3) default datetime (1900-01-0100:00:00.000) not null ) D'autres idées ? Cordialement, Peter
Pankaj a écrit : > Essayez ceci : > > CREATE TABLE SOME_NAME > ( > execution_dat datetime year to fraction(3) > default datetime(1900-01-0100:00:00.000) year to fraction(3) not null ) > > En espérant que cela vous aide > > Pankaj > Bonjour Pankaj, cela m'a effectivement bien aidé ! La petite erreur de syntaxe que j'ai obtenue était due à l'espace manquant entre la date et l'heure. L'instruction correcte est donc la suivante : CREATE TABLE SOME_NAME ( execution_dat datetime year to fraction(3) default datetime(1900-01-01 00:00:00.000) year to fraction(3) not null ) Merci beaucoup Peter
Bonjour à tous, Il y a une faute de frappe. Il devrait y avoir un espace dans la ligne >default datetime(1900-01-01 00:00:00.000) year to fraction(3) not null ) ^ Cordialement Pankaj Pankaj a écrit dans le message <964086444.6974.0.nnrp-03.d4e5c55a@news.demon.co.uk>... >Essayez , > >CREATE TABLE SOME_NAME > ( > execution_dat datetime year to fraction(3) >default datetime(1900-01-0100:00:00.000) year to fraction(3) not null ) > >En espérant que cela vous aide > > >Pankaj > > >Peter Ulrich a écrit dans le message <3976B2A9.1A2F216A@corag.de>... >>Bonjour, >> >>J'ai des problèmes avec une instruction SQL. J'obtiens sans cesse l'erreur SQL 591, >>qui signifie : valeur par défaut non valide pour la colonne/variable... >>Parcourir plusieurs ouvrages et des URL Informix n'a rien donné. L'un >>d'entre vous, experts, pourrait-il repérer l'erreur ? >> >>CREATE TABLE SOME_NAME >> ( >> EXECUTION_DAT DATETIME YEAR TO FRACTION(3) DEFAULT "1900-01-01 >>00:00:00.000" NOT NULL , >> .... >> ) >> >>Je ne vois pas ce qui cloche avec la valeur par défaut. >>J'ai essayé d'utiliser des guillemets simples au lieu des guillemets doubles, >>sans aucun effet >> >>Toute aide sera grandement appréciée >>Merci d'avance >>Peter >> > >
La réponse de Pankaj est parfaitement exacte. J'ai fait ce qui suit et cela fonctionne très bien : create table datetest ( date_col datetime year to fraction(3) default datetime(1900-01-01 00:00:00.000) year to fraction(3) not null ); Je pense que votre problème vient de l'espace manquant entre le jour et l'heure, à moins qu'il ne s'agisse d'une faute de frappe ci-dessous. Art S. Kagel Peter Ulrich a écrit : > > Bonjour Pankaj, > > merci pour votre réponse ! > > Malheureusement, votre suggestion n'a pas résolu le problème. > J'obtiens plutôt une erreur de syntaxe (code 201), > de même qu'avec les variantes suivantes : > > CREATE TABLE SOME_NAME > ( > execution_dat datetime year to fraction(3) > default datetime year to fraction(3) (1900-01-0100:00:00.000) not null > ) > > ni avec celle-ci : > > CREATE TABLE SOME_NAME > ( > execution_dat datetime year to fraction(3) > default datetime (1900-01-0100:00:00.000) not null > ) > > D'autres idées ? > > Cordialement, Peter