IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Cannot insert the value NULL into column ...


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Points : 40
    Points
    40
    Par défaut Cannot insert the value NULL into column ...
    bonjour a tous.

    voila, j'ai un gros probleme qui me bloque un peu beaucoup...
    voila, je lance une procedure stockee qui doit inserer des donnees dans un table.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CREATE PROCEDURE dbo.W90Pisces_InsertSubUnitRents
    @SubUnitKey ... etc (+autre variables)
     
    SET @Insert = ' INSERT INTO '+ @ClientDb +  'SubUnitRents(SubUnitKey, RentEventTypeKey, FromDate, ToDate, RentAmount, RentAmountCurr, RentTypeKey, ActionStatusKey, UpdatedBy, ClientID)
     VALUES ( '''+ CONVERT(varchar(10), @SubUnitKey) +''' , ''' + CONVERT(varchar(3), @RentTypeKey) +''' , ''' + CONVERT(varchar(50), @FromDate)+''' , ''' + CONVERT(varchar(50), @ToDate)+''' , ''' + CONVERT(varchar(50), @RentAmount)+''' , ''' + CONVERT(varchar(10), @RentAmountCurr)+''' , ''' + CONVERT(varchar(10), @TypeOfRent)+''' , ''' + CONVERT(varchar(2), '-2')+''' , '''+ CONVERT(varchar(50), @UpdatedBy) + ''', ''' + CONVERT(varchar(10), @ClientID) + ''')'
    exec(@Insert)
     
    set @SubUnitRentsID  = @@identity 
    GO
    mais je me retrouve avec l'erreur suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cannot insert the value NULL into column 'AnnuRent', table 'CREDOm_Demonstration.dbo.SubUnitRents'; column does not allow nulls. UPDATE fails. The statement has been terminated.
    jusque la, ca semble normal, sauf que le colonne 'AnnuRent' a une default value.

    comment cela peut il se faire ?? je veux dire... a prioris c'est pas normal, ayant une valeur par defaut, je ne devrais pas inserer une valeur nulle dans ma colonne...

    est ce que qq a deja eu ce genre de probleme ou alors aurait une idee de l'erreur que je commets ???

    en vous remerciant
    Pourquoi un PC fait-il toujours ce qu'on lui demande, mais alors jamais ce qu'on veut...

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 566
    Points
    19 566
    Billets dans le blog
    25
    Par défaut
    Une question de base d'abord : pourquoi perdre toute la puissance des SP en y insérant des SQL dynamiques qui, ici en tout cas, ne rapportent rien du tout ???

    Pour votre valeur par défaut: la colonne AnnuRent ne doit pas apparaître dans votre insert. Par soucis de clarté, vous serait.il possible de nous indiquer el contenu de @insert au moment de l'exec ?

    Merci d'avance
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Points : 40
    Points
    40
    Par défaut
    ben en fait, pour le Insert dynamique, c'est parce que ma procedure stockee est "stockee" dans ma base de donne principale, et le insert se fait sur differente base de donne (du meme server bien sur)

    Aussi, la valeur Annu rent ne figure pas dans mon insert...

    ah oui, je vais mettre la valeur de mon @insert dans deux minutes, mais une question en plus, est ce que c normal que ca marque "Update fails" alors que je fais un insert..???
    Pourquoi un PC fait-il toujours ce qu'on lui demande, mais alors jamais ce qu'on veut...

  4. #4
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Points : 40
    Points
    40
    Par défaut
    et voila :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO CREDOm_Demonstration.dbo.SubUnitRents(SubUnitKey, RentEventTypeKey, FromDate, ToDate, RentAmount, RentAmountCurr, RentTypeKey, ActionStatusKey, UpdatedBy, ClientID) VALUES ( '791' , '74' , 'Jun 23 2004 12:00AM' , 'Jun 23 2028 12:00AM' , '23874' , '110' , '5' , '-2' , 'Import', '7')
    donc, a prioris, ben pas de probleme...
    Pourquoi un PC fait-il toujours ce qu'on lui demande, mais alors jamais ce qu'on veut...

  5. #5
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 566
    Points
    19 566
    Billets dans le blog
    25
    Par défaut
    Et si vous lencez l'insert directement tel quel, avez-vous un message d'erreur ?
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  6. #6
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Points : 40
    Points
    40
    Par défaut
    pareil message d'erreur.

    mais bon, apres mise en marche de mon cerveau et idee un peu plus clair, je me suis dis qu'il y avait peut etre un probleme de trigger (c'est pas moi qui est disigner la datatbase).. et en effet, yavait bien des triggers...
    Mais pourquoi on ne me dit jamais rien....!!!

    en tout cas, merci pour ton aide...
    Pourquoi un PC fait-il toujours ce qu'on lui demande, mais alors jamais ce qu'on veut...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Mapping] Many-to-one: cannot insert null
    Par Virginie D. dans le forum Hibernate
    Réponses: 0
    Dernier message: 18/10/2011, 09h31
  2. Réponses: 4
    Dernier message: 07/10/2010, 12h39
  3. Réponses: 0
    Dernier message: 09/06/2009, 11h14
  4. Erreur: Cannot insert the value NULL
    Par Identifiant dans le forum ASP.NET
    Réponses: 6
    Dernier message: 11/06/2007, 13h40
  5. effectuer une requete insert avec 'values' ET 'select'
    Par delaio dans le forum Bases de données
    Réponses: 4
    Dernier message: 15/08/2004, 19h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo