WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 28.07.2002, 07:09   #1
NashBridges
Jr. Member
 
Registriert seit: 24.06.2002
Beiträge: 38


Frage postgresql

hi leute!
also ich hab da wieder mal ein kleines problem:

es geht um eine postgres datenbank und die tabelle sieht zB so aus:

key data
1 sehr gut
2 gut
3 befriedigend
4 genügend
5 nicht genügend

da der schlüssel eine art priortätenordnung darstellt bezeichnet also der wert des schlüssels die wichtigkeit des datensatzes. ich möchte jetzt zb eine neue bewertung einführen, nehmen wir an "halbwegs gut" und diese soll die wertigkeit 3 bekommen. ich muß jetzt also alle schlüssel >= 3 um eins erhöhen!
ich habe mir gedacht ich mach das mit:

Code:
 UPDATE "Table" SET key=key+1 WHERE key>=3;
aber ich krieg dauernd fehlermeldungen, weil die DB logischerweis keine doppelten schlüssel anlegen kann. wie lös ich das problem???

BITTE HILFE!!
NashBridges ist offline   Mit Zitat antworten
Alt 28.07.2002, 12:19   #2
sagi
Elite
 
Registriert seit: 08.11.2001
Alter: 42
Beiträge: 1.285


Standard

So wie du das machst wird 3 auf 4 geändert und es entsteht ein Fehler. Probiers einfach mal in die andere Richtung:

5 -> 6
4 -> 5
3 -> 4
neuer Eintrag: 3

Dabei sollte kein Fehler auftreten.

Ich bin mir allerdings nicht sicher, ob ORDER BY bei UPATE verwendet werden darf. Wenn nicht, dann frag einfach den höchsten Datendatz mit SELECT ab und geh dann in einer Schleife runter.

mfg

c.
____________________________________
www.sagmueller.net

Freedom - use it or lose it (Lawrence Lessig)

Im übrigen bin ich der Meinung, dass Microsoft zerschlagen werden muss.
sagi ist offline   Mit Zitat antworten
Alt 28.07.2002, 13:08   #3
NashBridges
Jr. Member
 
Registriert seit: 24.06.2002
Beiträge: 38


Standard

also update und order by geht amal nicht. das mit select und mit der schleife hab ich mir auch schon überlegt, aber das muß doch irgedwie einfacher gehn oder?
NashBridges ist offline   Mit Zitat antworten
Alt 28.07.2002, 13:18   #4
pc.net
Aussteiger
 
Benutzerbild von pc.net
 
Registriert seit: 07.10.2001
Ort: Nettistan
Beiträge: 12.997

Mein Computer

Standard

*) unique-key constraint disablen
*) update durchführen
*) unique-key constraint enablen

nachdem sich mit großer wahrscheinlichkeit auch noch felder in anderen tabellen auf den unique-key beziehen werden (foreign-keys) müssen die entsprechenden foreign-key constraints auch vorübergehend disabled werden ...

sonst bleibt nur die möglichkeit das update mittels einer schleifenverarbeitung (s.o.) durchzuführen ...
____________________________________
Praktizierender Eristiker

No hace falta ser un genio para saber quién dijo eso.
Der wirklich faule Mensch ist oft extrem fleißig, denn er will möglichst schnell wieder faul sein.
pc.net ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:38 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag