Forum: SQL |
Thema:
Re: Eindeutige ID erzeugen lassen |
Von:
Thomas Golla (
30.01.2004 09:15) |
Hi, ich habe mir das so vorgestellt.
Vielleicht hilft es ja.
Erstmal die Tabelle:
CREATE TABLE testo (
indexer int NOT NULL ,
werk nvarchar (50) NOT NULL ,
jahr nvarchar (50) NOT NULL ,
ref int IDENTITY (1, 1) NOT NULL
)
und nun die beiden SQL-Befehle. Erstmal den Eintrag in die Tabelle um den neuen aktuellen refwert zu bekommen:
insert into testo(indexer,werk, jahr) values(1, "3", "02")
und dann das update auf die Tabelle wo der indexer 1 ist (kann ja nur beim insert passiert sein):
update testo set indexer = (convert(int, (select werk+jahr+case when ref < 10 then "000"+convert(nvarchar,ref) when ref < 100 then "00"+convert(nvarchar,ref) when ref < 1000 then "0"+convert(nvarchar,ref) else convert(nvarchar,ref) end from testo where indexer = 1) ) ) where indexer = 1
Ist zwar keine schöne Lösung, aber die sollte funktionieren :-)
Ciao
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!