1Danke
ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
1025
1025
EMPFEHLEN
-
Hallo,
für mein jetziges Problem gibt es bestimmt einige Lösungswege.
Ich habe eine Tabelle die eine Spalte mit einem fortlaufenden Zählerwert(int), derzeit NULL, enthält. Der Anfangswert soll 153 sein, dann aufsteigend.
Kann man das mit SQL oder TSQL oder im Management Studio überhaupt lösen?
Gruß
bejay
-
Ja, kann man :
Wenn du in den Eigenschaften des Tabellenfeldes die Eigenschaft (istIdentity) auf true stellst schalten sich die eigenschaften ID-Ausgangswert und ID-Inkrement frei - Die Eigenschaft findest du unter Identitätsspezifikation.
GGF musst du die Tabelle erst umkopieren. Hierbei gibt es noch die Möglichkeit mit Identity Insert on
LG AlexDon't get set into one form, adapt it and build your own, and let it grow, be like water. .... Now, water can flow or it can crash. Be water, my friend.
-
Hallo bejay,
am einfachsten ist es im Management Studio.
Dazu wählst du die Tabelle aus und rufst im Kontextmenü "Entwerfen" auf.
Dann die Spalte markieren und in den Spalteneigenschaften den Eintrag "Identifikationsspezifikation" auswählen und auf Ja ändern. Danach kannst du Schrittweite und Startwert angeben.
Ein Eintrag bei CREATE TABLE sieht dann so aus
Code :1
Feldname int NOT NULL IDENTITY (153, 1)
Gruss Bernd
Zitat von mAu
-
Hallo Bernd,
wenn ich das nächste mal so etwas mache, merke ich mir deinen Tipp, aber jetzt habe ich mich nicht präzise ausgedrückt. Die Tabelle enthält bereits Datensätze nur die Spalte ist NULL und es sieht so aus, dass man dann die ID Spec nicht mehr ändern kann. Mittlerweile habe ich folgendes gemacht: Ich habe die Tab von meinem angebundenen AccessADP in meine hilfsAccess.mdb exportiert. Dort eine AutoWert Spalte hinzugefügt, ein Update AutoWert+152 auf meine Spalte hlpZaehler gemacht, die nicht benötigten Felder entfernt und die Tabelle als hlpTab wieder ins AccessADP exportiert. Jetzt fehlt mir die richtige Syntax um die Spalte UrTabelle.Zähler mit den Werten aus hlpTab.hlpZaehler zu füllen. Bin erst Anfänger in (T)SQL.
Grüße
bejay
-
Hallo bejay,
ich hab zwar "nur" MSSQL2005, doch das sollte auch bei MSSQL2008 gehen.
Bei dem Eintrag "Identifikationsspezifikation" auf das + drücken und dann kannst du den Wert von "Ist Identity" auf Ja ändern und danach sind auch Schrittweite und Startwert editierbar.
Es geht auch mit TSQL - temporäre Tabelle erstellen, Daten einfügen, alte Tabelle löschen und temporäre Tabelle umbenennen.
Code sql:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
BEGIN TRANSACTION GO CREATE TABLE dbo.Tmp_Testtabelle ( Feld1 INT NOT NULL IDENTITY (153, 1), Feld2 datetime NOT NULL, Feld3 nvarchar(50) NOT NULL ) ON [PRIMARY] GO SET IDENTITY_INSERT dbo.Tmp_Testtabelle ON GO IF EXISTS(SELECT * FROM dbo.Testtabelle) EXEC('INSERT INTO dbo.Tmp_Testtabelle (Feld1, Feld2, Feld3) SELECT Feld1, Feld2, Feld3 FROM dbo.Testtabelle WITH (HOLDLOCK TABLOCKX)') GO SET IDENTITY_INSERT dbo.Tmp_Testtabelle OFF GO DROP TABLE dbo.Testtabelle GO EXECUTE sp_rename N'dbo.Tmp_Testtabelle', N'Testtabelle', 'OBJECT' GO COMMIT
Gruss Bernd
Zitat von mAu
Ähnliche Themen
-
MSSQL 2008 SQL SERVER MANAGEMENT STUDIO falsche Syntax bei RESTORE
Von bejay im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 20.09.10, 16:49 -
MSSQL 2008 und Access00 ADP ADO Deklaration
Von bejay im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 10.07.10, 00:28 -
MSSQL 2008 - Frage zu bcp
Von bejay im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 01.07.10, 09:32 -
MsSQL 2008
Von bejay im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 30.06.10, 10:24 -
Recordset in eine vorhandene Excel Tabelle
Von faltencreme im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 06.11.03, 11:20





Zitieren
Login




