Hopsel: MS SQL 2008 R2 Identity spalten

Beitrag lesen

Hi Ilja!

Ich nehme an, du brauchst das aus gutem Grund. So ganz erschliesst sich mir der Sinn nämlich nicht. =)

In MS SQL gibt es NEWSEQUENTIALID() und NEWID(), mit denen du allerdings "nur" GUIDs automatisch erzeugen kannst. Diese Funktionen können natürlich auch als DEFAULT-Parameter für Attribute angegeben werden.

CREATE TABLE test (  
  id INTEGER PRIMARY KEY IDENTITY,  
  id2 UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID(),  
  -- ...  
);

Fortlaufende Zahlen wirst du über Trigger oder Stored Procedures erzeugen müssen. Je nachdem in welchem Zusammenhang id2 mit id steht, könnte man auch über eine berechnete Spalte nachdenken.
Wobei folgendes CREATE-Statement mMn reichlich sinnfrei ist:

CREATE TABLE test (  
  id INTEGER PRIMARY KEY IDENTITY,  
  id2 AS (id),  
  -- ...  
);

MfG H☼psel

--
"It's amazing I won. I was running against peace, prosperity, and incumbency."
George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)