AngelOfEffekt
-
Gesamte Inhalte
2 -
Registriert seit
-
Letzter Besuch
Beiträge erstellt von AngelOfEffekt
-
-
Hallo,
wir haben im Untericht das Thema Seitenreservierung pro Tabelle.
Dazu hier mal fix n kleines Bsp.:
create table Kunde( kid smallint not null, k_name char(50) not null, k_adresse1 char(50) not null, k_adresse2 char(50) not null, k_wohnort char(50) not null, k_bundesland char(2) not null, k_plz char(10) not null, k_telefon char(20) not null, k_fax char(20) not null, k_email char(30) not null, k_homepage char(20) not null )
Das sind dann also 304 Byte + 10Byte je Zeile
(9 Spalten mit char) = 300Byte + 1 Spalte mit smallint= 2Byte + 1 Spalte mit char(2) = 2Byte 304Byte + 10Byte je Zeile (null-Bitmap & Header
Die Seitenreservierung soll nun 8096/314 = 25,78 Seiten)
Dh. wenn ich eine sehr kleine Tabelle (zB. Hilfstabelle für NM-Beziehung)
create table klein ( hid smallint not null, aid smallint not null, mid int not null )
2*2 + 4 + 10 = 18Byte
8096 / 18 = 449,7...7Seiten
So hat uns das unser Dozent erklärt.
Jetzt meine Frage: Worin liegt hier der Hintergrund. Warum reserviert der Server bei kleinen Tabellen automatisch mehr Seiten?
LG AoE
Trigger instead of update - wie komme ich an die werte des Tabellenbefehls
in MS SQL Server Forum
Geschrieben
Hi,
ich habe einen Trigger, der auf insert und update reagiert.
Wenn eine ID angegeben ist, soll diese gesucht werden und bei fund soll dieser datensatz geupdated werden. sonst gibts einen ganz neuen Datensatz mit der id.
klappt bei insert, bei update nur teilweise. Und zwar dahingehend, dass (was zwar logisch, aber hinderlich ist) bei einer id, die noch nicht vorhanden ist, keine daten im Inserted stehen.
Gibt es allgemein eine Möglichkeit, an die 'Roh'-Daten des Insert- oder Update-Befehls zu kommen?
Hier mal kurz mein bsp-Code.