AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Autoincrement in MS SQL Server
Thema durchsuchen
Ansicht
Themen-Optionen

Autoincrement in MS SQL Server

Ein Thema von Salomon · begonnen am 7. Mär 2007 · letzter Beitrag vom 7. Mär 2007
Antwort Antwort
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#1

Autoincrement in MS SQL Server

  Alt 7. Mär 2007, 08:49
Datenbank: MS SQl Server Express 2005 • Zugriff über: ADO
Moin,

ich schreibe gerade ein Script zum Erstellen einer DB auf einem MS SQL Server. In meinem ER-Modell verwende ich für viele Primärschlüssel Felder die automatisch hochzählen sollen. Wie realisiere ich das auf dem MS SQL Server? Autoincrement scheint der nicht zu kennen Ich habe hier einige Datentypen gefunden. Etwas in Richtung autoincrement scheint aber nicht dabei zu sein...

Thanx
Marcus
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Autoincrement in MS SQL Server

  Alt 7. Mär 2007, 09:00
Der Typ heißt COUNTER
Markus Kinzler
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Autoincrement in MS SQL Server

  Alt 7. Mär 2007, 09:02
Hi,

aus den SBO:
SQL-Code:
CREATE TABLE new_employees
(
 id_num int IDENTITY(1,1), <---- "AutoInc"
 fname varchar (20),
 minit char(1),
 lname varchar(30)
)
Gruß
Norman
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#4

Re: Autoincrement in MS SQL Server

  Alt 7. Mär 2007, 09:31
@mkinzler: COUNTER kennt mein MS SQL Server Express nicht.

@NormanNG: Das scheint zu funktionieren Was heißt "(1,1)" hinter IDENTITY? Das immer um 1 incrementiert wird?

Ich verwende für viele Felder die Strings aufnehmen müssen VARCHAR(50). Kann das Feld dann maximal 50 Zeichen aufnehmen, oder expandiert es danach?

Ich habe das mit dem Primärschlussel dann so gemacht:
SQL-Code:
CREATE TABLE "TB_Projects"
(
  "ProjectID"     INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
  "Name"          VARCHAR(50) NOT NULL,
  "Leader"        VARCHAR(50) NOT NULL,
  "Description"   TEXT NOT NULL,
  "StartDate"     DATETIME,
  "PlanedEndDate" DATETIME,
);
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Autoincrement in MS SQL Server

  Alt 7. Mär 2007, 09:36
Hi,

nochmal aus den SBO:
Zitat:
IDENTITY (Property)
Creates an identity column in a table. This property is used with the CREATE TABLE and ALTER TABLE Transact-SQL statements.



Note The IDENTITY property is not the same as the SQL-DMO Identity property that exposes the row identity property of a column.


Syntax
IDENTITY [ ( seed , increment ) ]

Arguments
seed

Is the value that is used for the very first row loaded into the table.

increment

Is the incremental value that is added to the identity value of the previous row that was loaded.

You must specify both the seed and increment or neither. If neither is specified, the default is (1,1).
Wenn du im Query-Analyzer "identity" eingibst, markierst und Shift-F1 drückst, bekommst du die Erklärungen der SBO - kann aber sein, das das im MS SQL Server Express nicht dabei ist. Sollte aber auch auf den MS-Seiten zu finden sein?


/Edit: ich hatt die Funktion erwischt... hier nun die Property
Gruß
Norman
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Autoincrement in MS SQL Server

  Alt 7. Mär 2007, 09:40
Zitat:
@mkinzler: COUNTER kennt mein MS SQL
Habe MSSql mit Access verwechselt
Zitat:
Was heißt "(1,1)" hinter IDENTITY? Das immer um 1 incrementiert wird?
Ja Der erste Wert ist der Startwert, der 2. das Inkrement
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#7

Re: Autoincrement in MS SQL Server

  Alt 7. Mär 2007, 09:46
Ah danke! Wollte eben eigentlich noch fragen was das SBO ist, aber das hat sich damit ja erledigt.

Beim Express Server ist das "Managment Studio Express" dabei. Dort funktioniert Shift + F1 aber auch


@mkinzler: Kein Problem Microsoft könnte sich ja auch mal auf eine Syntax einigen
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz