Wir benötigen eine Zuwachsspalte für jeden Benutzer. Wenn eine Aufzeichnung addiert, darstellen wir ir, dass ein Auslöser nach Einsatz abfeuert und die Zahl erzeugt. Gleichwohl jedes Benutzer mit der Nr. 100 beginnen und in der Lage sind, bis 101.102.103 zu erhöhen, etc. (Daten sehen) (Tabelle und Auslöser unten sehen),
ID | UserId | aName | aNumber 1 | 1001 | `' | 100 2 | 1001 | `' | 101 3 | 1002 | `b' | 100 4 | 1002 | `b' | 101 5 | 1001 | `' | 102 6 | 1001 | `' | 103 7 | 1002 | `b' | 102
Here ist die Tabelle: CREATE TABELLE [dbo]. [TableA] ( [Identifikation] [int] IDENTITÄT (1.1) NICHT UNGÜLTIG, [UserId] [int] NICHT NULL, [aName] [nvarchar] (500) NICHT/> NULL, PRIMÄRSCHLÜSSEL DER BEGRENZUNGS-[PK_TableA] GESAMMELTES ( [Identifikation] ASC ) MIT (PAD_INDEX = WEG, STATISTICS_NORECOMPUTE = WEG, IGNORE_DUP_KEY = WEG, ALLOW_ROW_LOCKS = AN, ALLOW_PAGE_LOCKS = AN, FILLFACTOR = 90) AUF [PRIMÄR] ) AUF [dem PRIMÄR]
GO
CREATE EINZIGARTIG NONCLUSTERED INDEX [UIX_TableA_aNumber] AN [dbo]. [TableA] ([aNumber], [UserId]) AUF [PRIMÄR] GO
CREATE TRIGGER [t_TableA] ON [dbo]. [TableA] FOR EINSATZ AS UPDATE [TableA] GESETZT [TableA] .aNumber = inserted.ID VON [TableA], inserted WO inserted.ID = [TableA] .ID GO
|