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

PL/SQL Oracle Discussion :

Impossible d'insérer NULL dans colonne virtuelle


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 119
    Par défaut Impossible d'insérer NULL dans colonne virtuelle
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE    11.2.0.3.0      Production
    TNS for Solaris: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production
    J'ai une table avec des colonnes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ID_REF_FREQ_INT_AN VARCHAR2(10) default 'FREQ_INT',
    FREQ_INT_AN VARCHAR2(10),
    NBR_FREQ_AN as (TO_NUMBER("FREQ_INT_AN"))
    .

    • J'ai des commentaires sur chaque colonne.

    • un index sur (ID_REF_FREQ_INT_AN, FREQ_INT_AN).

    • une contrainte foreign key sur (ID_REF_FREQ_INT_AN, FREQ_INT_AN).


    Le problème est quand j'insère une ligne il m'affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-01400: impossible d'insérer NULL dans ("NBR_FREQ_AN")


    Quand j'ai créé une autre table avec des colonnes dont une est virtuelle, je n'ai trouvé aucun problème en insérant NULL dans la colonne sur laquelle est formulée ma colonne virtuelle

    Merci d'avance pour toute aide.

  2. #2
    Membre extrêmement actif
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Billets dans le blog
    6
    Par défaut
    Le champ NBR_FREQ_AN n'est qu'un champ calculé ni plus ni moins, il ne peut pas être insérable.

    Donc la requête, il faut qu'elle comporte tous champs sauf les champs virtuel.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 119
    Par défaut
    Bonjour,
    Merci d'abord pour ton aide.

    Oui effectivement, je sais cette info mais le problème persiste toujours malgré toutes les tentatives.

    Tu trouves ici mon problème déjà postulé sur forums ora et ce qu'a été les réponses fournies.

    Cordialement.

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Malheureusement, vous ne postez pas un jeu d'essai pour reproduire votre problème. Sur OTN également vous ne poussez que des bribes de codes.

    Si on prend votre problème de départ et qu'on suit votre analyse, on constate qu'il n'y a en fait pas de problème :
    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
    19
    20
    21
    22
    23
    select * from sys.v_$version;
     
    BANNER
    ----------------------------------------------------------------------------
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE	11.2.0.3.0	Production
    TNS for Linux: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production
     
     
    create table t_virtual_null
    ( ID_REF_FREQ_INT_AN VARCHAR2(10) DEFAULT 'FREQ_INT'
    , FREQ_INT_AN        VARCHAR2(10)
    , NBR_FREQ_AN        AS (TO_NUMBER(FREQ_INT_AN))
    );
    -- Table created.
     
    insert into t_virtual_null (FREQ_INT_AN) values ('123');
    -- 1 row(s) inserted.
     
    insert into t_virtual_null (FREQ_INT_AN) values (null);
    -- 1 row(s) inserted.
    Donc un jeu d'essai simple (pas la peine d'avoir des tables avec 30 colonnes) et reproductible sur les DDL et la façon dont vous faites votre insert.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 119
    Par défaut
    Bonjour,

    Moi aussi j'ai fait ce petit test en recréant d'autres tables avec les mêmes structures que la mienne et tous les inserts ont bien roulé!

    On m'a dit, sur otn, qu'il faut supprimer la table et la recréer.

    J'ai demandé au dba de le faire et j'attends encore.

    Je vous reviendrais par le résultat plus tard.

    Merci.

Discussions similaires

  1. Erreur: ORA-01400: impossible d'insérer NULL
    Par flacznik dans le forum JDBC
    Réponses: 3
    Dernier message: 17/05/2012, 20h40
  2. Insérer données dans colonne type Image
    Par cyrano_de_bergerac dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 24/08/2009, 17h43
  3. Insérer la valeur NULL dans une colonne de type number
    Par cocoaparis dans le forum PL/SQL
    Réponses: 8
    Dernier message: 08/07/2009, 15h46
  4. insérer la valeur null dans une colonne
    Par loic20h28 dans le forum C#
    Réponses: 12
    Dernier message: 27/05/2009, 11h21
  5. Réponses: 5
    Dernier message: 11/07/2008, 08h37

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