Ergebnis 1 bis 4 von 4

Thema: Wertebereich eines Attributs ändern, das in Views verwendet wird

  1. #1
    ChristianL ist offline Neuer Benutzer
    Registriert seit
    25.05.2009
    Beiträge
    2

    Standard Wertebereich eines Attributs ändern, das in Views verwendet wird

    Hallo,

    in einer Tabelle möchte ich den Wertebereich eines Attributs von Numeric(4,1) auf Numeric ändern. Das wollte ich mittels des Befehls
    Code:
    ALTER TABLE berechnungen ALTER COLUMN wert1 type NUMERIC;
    durchführen.
    Leider greifen mehrere Views auf dieses Attribut zu und ich erhalte eine entsprechende Fehlermeldung.
    Die Views sind wie folgt aufgebaut
    Code:
    CREATE VIEW dummy AS 
    SELECT round(t1.wert1::numeric /
        sum(t1.wert2), 2) AS ergebnis
    FROM berechnungen t1
    WHERE ... ;
    Die entsprechende Fehlermeldung lautet dann:
    Code:
    ERROR:  cannot alter type of a column used by a view or rule
    DETAIL: rule _RETURN on view dummy depends on column wert1
    Da es sich diesem Fall nach meinem Verständnis nicht um eine Änderung des Datentyps sondern nur der Genauigkeit handelt, habe ich die Hoffnung das es einen besseren Weg gibt, als alle Views neu anzulegen.

    Da ich neu im Forum bin, noch ein paar Angaben: Seit ca. 2 Jahren beschäftige ich mich beruflich mit Datenbanken und insbesondere Postgres 8.2 unter Windows.
    Es würde mich freuen, wenn mir geholfen würde und ich auch ab und an zu Lösungen beitragen kann.

    Gruß,
    Christian

  2. #2
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Zitat Zitat von ChristianL Beitrag anzeigen
    in einer Tabelle möchte ich den Wertebereich eines Attributs von Numeric(4,1) auf Numeric ändern.
    Das wird wohl nichts.

    Ich werde dir jetzt nicht empfehlen, dich mal in den Systemtabellen umzuschauen. Das könnte zum Erfolg führen, aber du könntest im Gegenzug auch die ganze DB kaputt machen.


    Es würde mich freuen, wenn mir geholfen würde und ich auch ab und an zu Lösungen beitragen kann.
    Neue Schreiberlinge sind hier immer gern gesehen ;-)
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  3. #3
    ChristianL ist offline Neuer Benutzer
    Registriert seit
    25.05.2009
    Beiträge
    2

    Standard

    Vielen Dank für den Aussage und die "Nicht-Empfehlung".

    In pg_attribute ließe sich der Wertebereich vermutlich durch das Setzten von atttypmod auf -1 entsprechend anpassen. Da ich aber nicht abschätzen kann, welche Folgen das hat, und es mir auch nicht wie eine "saubere" Lösung erscheint, werde ich die Views dann wohl neu anlegen müssen.

    Gruß

  4. #4
    symbiont ist offline Erfahrener Benutzer
    Registriert seit
    17.03.2008
    Ort
    NULL
    Beiträge
    1.320

    Standard

    du koenntest natuerlich einen SQL dump (plain) erzeugen, dann den typ im modell (dump-file) aendern - und wieder restoren.
    Geändert von symbiont (26.05.2009 um 09:06 Uhr)

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 10.03.2011, 23:00
  2. Datentyp eines eigenen Typs ändern
    Von rolf.schaufelberger im Forum SQL
    Antworten: 7
    Letzter Beitrag: 25.01.2011, 09:54
  3. Index wird nicht verwendet
    Von postgre_neuling im Forum SQL
    Antworten: 32
    Letzter Beitrag: 24.06.2010, 08:47
  4. Antworten: 19
    Letzter Beitrag: 28.01.2010, 22:10
  5. warum wird mein index nicht verwendet?
    Von gnoerz im Forum Allgemeines
    Antworten: 15
    Letzter Beitrag: 14.01.2007, 11:04

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum