Announcement

Collapse
No announcement yet.

Nach Insert nur NULL-Werte in einer Spalte

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Nach Insert nur NULL-Werte in einer Spalte

    Hallo,
    ich habe mir mittels eines View die Daten so zusammengebastelt (auch berechnet) wie ich sie benötige. Nun möchte ich diese Daten in einem Auftrag mithilfe eines Insert in eine Tabelle einfügen lassen. Das hat auch alles Bestens funktioniert. Nun habe ich aber in der Zieltabelle ein Feld hinzugefügt, und auch dementsprechend den Insert angepaßt. Die Daten für das neue Feld werden in dem View berechnet. Nach Ausführen des Auftrages bekomme ich auch wieder alle Werte außer in dem neuen Feld. Dort stehen nur noch NULL-Werte. Ein einfacher Select auf das View funktioniert einwandfrei. Erst beim Insert verschwinden die Daten. Ich habe das Ganze auch als SSIS-Project versucht, komme aber auf das gleiche Ergebnis.
    Hat da jemand eine Erklärung bzw. eine Lösung für dieses Problem???

    Gruß
    Gerald

  • #2
    Hallo,

    irgendetwas machst Du falsch. Vielleicht rechnest Du mit NULL-Werten. Da kommt immer NULL raus.
    Z. B. NULL+1=NULL
    docendo discimus

    Comment


    • #3
      Sql server insert

      eigentlich mal eher nicht. Da werden keine Berechnungen mit NULL durchgeführt. Das SQL-Statement der View sieht ungefähr so aus:
      Select TEILENR, BESTAND, EigeneFunktion(TEILENR, BESTAND) as Best_korr,
      ...
      from VW_...
      Das Feld Best_korr, wird in einer eigenen Funktion berechnet, kann NULL sein, das ist aber die Ausnahme.
      Außerdem bekomme ich ja auch die richtigen Werte angezeigt, wenn ich ein Select auf das View mache. Nur der Insert bringt mir dann NULL in allen Zeilen dieses Feldes.
      Gruß
      Gerald

      Comment


      • #4
        Hallo,

        die spalte BEST_KORR von BASISTABELLE muss auch unter SELECT in VIEW enthalten sein.

        "EigeneFunktion(TEILENR, BESTAND) as Best_korr" - das ist kein verweiss auf BEST_KOSS.BASISTABELLE, "As Best_koss" ist nur ein Spalten-Alias.

        Comment


        • #5
          Wenn ich etwas in einem select sehe, dann muss sich das auch in einer Tabelle per Insert speichern lassen können. Egal, ob der Wert über eine Funktion berechnet wird oder einen Alias hat. Ich könnte mir vorstellen, dass es da ein Problem mit dem Auftrag gibt. Würde diesen daher mal löschen und neu erststellen. Oder wurde vielleicht versehentlich ein ähnlich aussehender Auftrag korrigiert und das Insert kommt nach wie vor von einem unveränderten Auftrag?

          bye,
          Helmut

          Comment


          • #6
            Hallo hwoess,

            hier ist INSERT über ein VIEW, nicht INSERT auf eine BASISTABELLE.

            Comment


            • #7
              ich habe mir mittels eines View die Daten so zusammengebastelt (auch berechnet) wie ich sie benötige. Nun möchte ich diese Daten in einem Auftrag mithilfe eines Insert in eine Tabelle einfügen lassen....
              Das ist der erste Satz der Problembeschreibung - wie kommst du darauf, dass das Insert in der View erfolgt?

              bye,
              Helmut

              Comment

              Working...
              X