Announcement

Collapse
No announcement yet.

Berechnete Spalten ändern

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

  • Berechnete Spalten ändern

    Moin moin,

    Wie kann ich eine Berechnete Spalte in einer Tabelle ändern ?

    Leider hat diese Spalte in meinem Fall sehr viele Abhängigkeiten so das ein Löschen und Neuanlegen nicht in Frage kommt.

    ALTER TABLE OP ALTER MWST ?????

  • #2
    Hallo,

    es gibt für das Ändern der COMPUTED BY Expression kein DDL Statement, unabhängig davon, ob Abhängigkeiten auf diesem Feld sind oder nicht.

    Database Workbench z.B. erlaubt dir ein ändern der COMPUTED BY Expression, sogar wenn Abhängigkeiten drauf sind.


    Thomas
    Thomas Steinmaurer

    Firebird Foundation Committee Member
    Upscene Productions - Database Tools for Developers
    Mein Blog

    Comment


    • #3
      Danke, mit DB Workbench gehts. Aber wie machen die das ??? Und warum kann das IBExpert und Firebird Maestro nicht ??

      Comment


      • #4
        Weil wir clevere Jungs sind und in Database Workbench Features einbauen, die andere nicht haben. ;-)) (konnte nicht widerstehen)


        Thomas
        Thomas Steinmaurer

        Firebird Foundation Committee Member
        Upscene Productions - Database Tools for Developers
        Mein Blog

        Comment


        • #5
          so sah es bisher aus

          Code:
              MWSTWW19         COMPUTED BY (ww19 * 0.19),
              MWSTWW7          COMPUTED BY (ww7 * 0.07),
              BRUTTOWW7        COMPUTED BY (ww7+mwstww7),
              BRUTTOWW19       COMPUTED BY (ww19 + mwstww19),
              MWSTPFAND        COMPUTED BY (PFAND * 0.19),
              MWSTLEERGUT      COMPUTED BY (LEERGUT * 0.19),
              LEERGUTBRUTTO    COMPUTED BY (Leergut + mwstleergut),
              PFANDBRUTTO      COMPUTED BY (Pfand + mwstpfand),
              WARENNETTO       COMPUTED BY (ww19 + ww7),
              RECHNUNGSBETRAG  COMPUTED BY (basis1 + basis2 + mwst1 + mwst2 - skonto),
          Und so habe ich es geändert (und es funktioniert) :

          Code:
              MWSTPFAND        COMPUTED BY (cast(PFAND * 0.19 as decimal (10,2))),
              MWSTLEERGUT      COMPUTED BY (cast(LEERGUT * 0.19 as decimal (10,2))),

          Comment


          • #6
            Du kannst den Datentyp auch direkt beim Erstellen der Felder angeben. z.B.:

            [highlight="sql"]
            MWSTPFAND NUMERIC(10,2) COMPUTED BY (PFAND * 0.19),
            MWSTLEERGUT NUMERIC(10,2) COMPUTED BY (LEERGUT * 0.19),
            [/highlight]

            Dann ersparst du dir das casten. Sollte eigentlich zum selben Ergebnis führen.


            Thomas
            Thomas Steinmaurer

            Firebird Foundation Committee Member
            Upscene Productions - Database Tools for Developers
            Mein Blog

            Comment


            • #7
              Gibt es davon auch eine Schulversion für VHS (Kurs Einführung in SQL) ?

              Comment


              • #8
                Wenn Du Database Workbench meinst, dann schreibst du diesbzgl. am Besten Martijn Tonies eine Email (m . tonies @ upscene.com)

                Thomas
                Thomas Steinmaurer

                Firebird Foundation Committee Member
                Upscene Productions - Database Tools for Developers
                Mein Blog

                Comment


                • #9
                  Originally posted by Thomas Steinmaurer View Post
                  Du kannst den Datentyp auch direkt beim Erstellen der Felder angeben. z.B.:

                  [highlight="sql"]
                  MWSTPFAND NUMERIC(10,2) COMPUTED BY (PFAND * 0.19),
                  MWSTLEERGUT NUMERIC(10,2) COMPUTED BY (LEERGUT * 0.19),
                  [/highlight]

                  Dann ersparst du dir das casten. Sollte eigentlich zum selben Ergebnis führen.


                  Thomas
                  Nee, funktioniert nicht, weil wenn ich mit weiteren Computed by Spalten darauf zugreife, rechnet er immer mit 4 Stellen und rundet dann am Schluß.

                  Comment


                  • #10
                    Originally posted by Thomas Steinmaurer View Post
                    Wenn Du Database Workbench meinst, dann schreibst du diesbzgl. am Besten Martijn Tonies eine Email (m . tonies @ upscene.com)

                    Thomas
                    In Englisch oder Deutsch

                    Comment


                    • #11
                      Englisch.


                      Thomas
                      Thomas Steinmaurer

                      Firebird Foundation Committee Member
                      Upscene Productions - Database Tools for Developers
                      Mein Blog

                      Comment


                      • #12
                        Originally posted by Thomas Steinmaurer View Post
                        Weil wir clevere Jungs sind und in Database Workbench Features einbauen, die andere nicht haben. ;-)) (konnte nicht widerstehen)


                        Thomas
                        Komischerweise kann der Datenbankstrukturvergleich in IBExpert diese Änderungen auch problemlos verarbeiten, halt nur nicht direkt ändern.

                        Comment


                        • #13
                          naja, so beeindruckend ist das auch nicht

                          alter table product drop netprice, add netprice COMPUTED BY (PRICE*1.20)
                          funktioniert in jedem Tool im sql modus

                          wird also auch in zukunft in IBExpert als Assistent drin sein

                          Gruß
                          Holger
                          www.ibexpert.com

                          Comment


                          • #14
                            Hallo,

                            naja, was ist schon beeindruckend. ;-)

                            Du wirst das Feld nicht droppen können, wenn Abhängigkeiten drauf sind.


                            Thomas
                            Thomas Steinmaurer

                            Firebird Foundation Committee Member
                            Upscene Productions - Database Tools for Developers
                            Mein Blog

                            Comment


                            • #15
                              vielleicht will man die ja gar nicht droppen, sondern nur ändern ;-)

                              Gruß
                              Holger
                              www.ibexpert.com

                              Comment

                              Working...
                              X