Announcement

Collapse
No announcement yet.

Drop Column Alternative?

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

  • Drop Column Alternative?

    Hey zusammen,

    ich soll eine Spalte aus einer Tabelle löschen, ohne Drop column und Drop unused zu benutzen.

    Ich habe bisher nichts gefunden, könnt ihr mir da weiterhelfen?

  • #2
    Wer sagt das?
    Der Chef zum Admin, der Prof zum Hiwi oder ist es ein Antiwitz?
    Wasch mich aber mach mich nicht nass...
    Gruß, defo

    Comment


    • #3
      Chef zum Azubi

      Comment


      • #4
        Was sagt der Chef, wenn der Azubi fragt, was das soll?
        Um welches DB System geht es? Soll das eine "Übung" sein oder ist es ernst gemeint?
        Was sagst Du selbst dazu?
        Gruß, defo

        Comment


        • #5
          Evtl. ist das das Kobayashi-Manöver der DB-Ausbildung :-)

          Comment


          • #6
            Es soll eine Übung sein.

            Es geht um eine Oracle 11g Datenbank.

            Comment


            • #7
              ich soll eine Spalte aus einer Tabelle löschen, ohne Drop column und Drop unused zu benutzen.
              Tabelle kopieren
              Original-Tabelle löschen
              Tabelle ohne die Column neu anlegen
              Aus der kopierten Tabelle die Werte reinkopieren
              Kopie der Tabelle löschen



              Warum einfach, wenn es auch kompliziert geht......
              Christian

              Comment


              • #8
                Danke für deinen Vorschlag.

                Ist es nicht problematisch, wenn Constraints an der Tabelle hängen?

                Comment


                • #9
                  Die Tabelle liegt vermutlich schön brav ohne referenzielle Integrität usw. extra dafür bereit.
                  Überleg Dir bitte mal, was Du in einer Real World Situation mit einer solchen Herangehensweise für einen enormen Aufwand und Ressourcenverschwendung betreibst.
                  Und nimms nicht als Vorwurf, soll nur eine Gedankenübung sein.
                  Gruß, defo

                  Comment


                  • #10
                    Originally posted by defo View Post
                    Die Tabelle liegt vermutlich schön brav ohne referenzielle Integrität usw. extra dafür bereit.
                    Überleg Dir bitte mal, was Du in einer Real World Situation mit einer solchen Herangehensweise für einen enormen Aufwand und Ressourcenverschwendung betreibst.
                    Und nimms nicht als Vorwurf, soll nur eine Gedankenübung sein.
                    Diese Situation leider tritt dann auf wenn man z.B. in Oracle ein Feld verkürzen will. Dann hilft es nur über (eigene Routine) Tabelle entladen und nach tabelle neu anlegen wieder laden oder über Hilfstabelle gehen.

                    Comment


                    • #11
                      Es wird doch wohl nur eine schlechtdesignte Übung sein, die das Ziel haben könnte

                      - den "Dreiecktausch" zu "finden". Dieser wird schon manchmal benötigt
                      - div. selects auf Tabellen und Spalten zu üben
                      Christian

                      Comment


                      • #12
                        Ich verstehe den Sinn zur Zeit auch nicht.

                        Also die Spalte die gelöscht werden soll, hängt an keinem Constraint.

                        Ich dachte es gibt noch eine sinnvolle Option die ich noch nicht kenne.

                        Also Drop Column und Drop Unused habe ich schon benutzt und ich bin eigentlich auch kein SQL Noob. Ich denke jedoch nicht, dass der Sinn der Sache ist, die Tabelle zu löschen und eine neue zu erstellen, ohne diese Spalte. Es gibt ja auch Spalten mit Abhängigkeiten, daher wäre dies denke ich sehr aufwändig.


                        Edit: Danke für deine Antwort Christian und Bernhard.

                        Die Aufgabe wurde mir auch nicht gestellt sondern einem Azubi-Kollegen.
                        Er hat mich nachher nach einer Lösung gefragt und ich bin bisher auf keine sinnvolle gekommen. Mich interessiert es jedoch, auch wenn es nicht mein "Problem" ist.

                        Comment


                        • #13
                          Warum fragst du nicht nach? Ggf. mit dem Vorschlag des Dreiecktausches?

                          EDV ist schon irgendwo Kommuikation mit den Kollegen über ein Problem
                          Christian

                          Comment


                          • #14
                            Vielleicht solltest du einfach mal nachfragen was genau die Aufgabenstellung ist. Vermutlich kommt da etwas besseres raus als wenn dein Kollege ein Problem hat, eine Idee für eine Lösung zu haben scheint (löschen ohne DROP) und dann fragt wie diese Idee umgesetzt werden kann.

                            Wenn du z.B. ein Feld verkleinern möchtest muss man nicht die ganze Tabelle löschen, das geht mit weniger Aufwand. Wenn alle Daten klein genug für die neue Grösse sind, kann man die Spalte einfach verkleinern.
                            Fallse es nicht geht, einfac eine temporäre Spalte erzeugen anstatt eine ganze Tabelle

                            Gruss

                            Comment

                            Working...
                            X