1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Fehlerhafte übertragen beim insert in Tabelle aus View

Dieses Thema im Forum "Oracle" wurde erstellt von blackbolt, 24 Januar 2014.

  1. blackbolt

    blackbolt Benutzer

    Hallo zusammen,

    ich habe das Problem, dass bei

    insert into Tabelle
    (select * from View) ;

    ein Datenfeld nicht korrekt übergeben wird.
    In der View hat das Feld Anzahl den Wert 133
    Nach dem Insert in der Tabelle aber den Wert 0.

    Alle anderen Datenfelder werden korrekt übergeben.
    Das Feld Anzahl ist als Number deklariert.

    Hat jmd eine Idee woran es liegen könnte?
    Danke im Voraus.
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Stimmen die Datentypen in VIEW und Zieltabelle überein?
     
  3. akretschmer

    akretschmer Datenbank-Guru

    Ich weiß nicht, wie streng Oraggle ist, PG würde bei inkompatiblem Datentypen mal schon meckern:

    Code:
    test=*# create table a (i text);
    CREATE TABLE
    test=*# insert into a values ('4711');
    INSERT 0 1
    test=*# create view view_a as select * from a;
    CREATE VIEW
    test=*# create table b (i int);
    CREATE TABLE
    test=*# insert into b select * from view_a;
    ERROR:  column "i" is of type integer but expression is of type text at character 22
    HINT:  You will need to rewrite or cast the expression.
    STATEMENT:  insert into b select * from view_a;
    ERROR:  column "i" is of type integer but expression is of type text
    LINE 1: insert into b select * from view_a;
      ^
    HINT:  You will need to rewrite or cast the expression.
    test=*# insert into b select i::int from view_a;
    INSERT 0 1
    test=*# select * from b;
      i
    ------
     4711
    (1 row)
    
     
  4. ukulele

    ukulele Datenbank-Guru

    Beeinflusst der Insert die View aus der er selbst die Daten zieht?
     
  5. blackbolt

    blackbolt Benutzer

    Hab meinen Fehler gefunden. Trotzdem danke.
    Innerhalb der View wurde eine Tabelle eingebunden, die im Vorfeld geleert wurde.

    ~closed~
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden