SQL-Server... Sheibe, steh an!!!
Geizhals » Forum » Programmierung » SQL-Server... Sheibe, steh an!!! (16 Beiträge, 229 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
..
Re(2): SQL-Server... Sheibe, steh an!!!
08.05.2006, 23:13:03
Naja, das mit dem IDENTITY ist wohl gleich wie im ACCESS... Und ich habe es dort schon gehaßt ;-)

Begründung:

Annahme, du hast eine Tabelle mit Bereichen und eine mit Abteilungen:
BEREICH:
ID BEREICH
1 SALES
2 HR
.....
ABTEILUNG:
ID ABTEILUNG BEREICH
1 PRESALES 1
2 MARKETING 1
........
Wie auch immer, eben eine Master-Detail-Beziehung.

Nun fügst in die BEREICH-Tabelle ja nur was ein, wenn du einen passenden ABTEILUNGSDS gleich mit angibst...

Also mußte ich bei ACCESS - und jetzt wieder - wie folgt vorgehen, wenn ich Abt10 in Bereich bubu anlegen will:


INSERT INTO BEREICH (BEREICH) VALUES ('bubu');
SELECT id FROM BEREICH where BEREICH='bubu';
INSERT INTO ABTEILUNG (ABTEILUNG,BEREICH) VALUES ('Abt10'',_obige_id_);


Das kommt mir blöd vor - weil ich dann eben einen Full-Table-Scan über BEREICH fahren muß.. Oder die Spalte BEREICH in der TAB BEREICH eben indizieren müßte, was mir nur als SEQUENCE-Ersatz auch nicht soooo supi vorkommt...

Da finde ich ne SEQUENCE viel praktischer... Die Verhält sich ja gleich wie der Autowert, wenn man den nextval als Default-Value vergibt - plus man kann seeehr effizient eben auf CURVAL zugreifen..

Naja, ist halt so.

EDIT:
Dein Beispiel würde in der Postgres wie folgt gehen:

CREATE TABLE x (ID SERIAL NOT NULL PRIMARY KEY);

also auch net viel wilder. SERIAL ist vom Typ BIGINT (also 64-Bit-Integer) - und legt im Hintergrund eine Sequence mit namen x_id_seq an, die man bequemst nutzen kann...

EDIT²:
Standardisierung und so... Ich dachte eigentlich, daß Doppelpipe standardisiert ist... Aber auch wenn nicht: Daß M$ zu sich selbst inkompatibel ist, finde ich wüst ;-)

08.05.2006, 23:17 Uhr - Editiert von gepeinigter_aon_neukunde, alte Version: hier
Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung