Avatar billede pelskee Nybegynder
09. marts 2005 - 12:16 Der er 21 kommentarer og
2 løsninger

Hvilken datatype svarer til autonumber

hvilken datatype i MsSQL svarer til autonumber i Access ?
hvor den automatisk tæller op ved hver ny record.
Avatar billede arne_v Ekspert
09. marts 2005 - 12:18 #1
Du kan bruge flere forskellige data typer til auto incremenet.

Du skal bare sætte IDENTITY på feltet.
Avatar billede pelskee Nybegynder
09. marts 2005 - 12:26 #2
jeg bruger sql server enterpriser manager. jeg har feks en tabel der hedder tblCorrespondance:

Columname= IDcorrespondance
Datatype= uniqueidentifier
Length= 16
Allow Nuls= no

jeg har ikke en datatype der hedder IDENTIFY i den der datatype dropdown
Avatar billede fennec Nybegynder
09. marts 2005 - 12:54 #3
Det er ikke en type, men en egenskab på kolonnen. Lige som en default værdi. Du finder punktet på "fanabladet" Columns lige under listen med kolonner, når du er i "Design Table":

Description
Default value
Precision
Scale
Identity <-- Lige her
Identity Seed
Identity Increment
...
...
Avatar billede pelskee Nybegynder
09. marts 2005 - 13:00 #4
Precision
Scale
Identity
Identity Seed
Identity Increment
er ikke aktive - jeg kan ikke klikke på dem
Avatar billede fennec Nybegynder
09. marts 2005 - 13:02 #5
Du skal have valgt en tal type som datatype. Her er et screendump:
http://www.henriknygaard.dk/identity.jpg
Avatar billede arne_v Ekspert
09. marts 2005 - 13:06 #6
uniqueidentifier er nok for speciel - brug en helt normal integer
Avatar billede pelskee Nybegynder
09. marts 2005 - 13:10 #7
perfekt. der var den :) tak fennec. hurtig som lyset som altid

jeg fordobler lige point hvis du kan fortælle mig:

Den length der angives er det det antal tegn der må bruges:
ID int 4 vil sige at der maks er op til 9999 records i den tabel ?
Active bit 1 er det nok når jeg bruger et 'Y' til at definere om en record er aktiv ?
Name nvarchar 256 vil sige at navnet maks må være 256 karakterer ?
Description ntext 16 - hvor mange karakterer er den ? (jeg går ikke ud fra du har begrænset beskrivelsen til 16 karakterer :)
Avatar billede fennec Nybegynder
09. marts 2005 - 13:20 #8
Det er hvor mange bytes/bits (kan ikke helt huske det) der bliver brugt.
Der bruges færre til at gemme tal så en INT på 4 går fra -2,147,483,648 til 2,147,483,647

Ved faktisk ikke engang om det har nogen effekt at ændre dette på tal typerne.

Og Arne V var først med svar så det er vel hans point :o)
Avatar billede arne_v Ekspert
09. marts 2005 - 13:27 #9
det er 4 bytes - og det giver det range med 2^(4*8) mulige værdier
Avatar billede fennec Nybegynder
09. marts 2005 - 13:37 #10
Men kan man overhoved ændre det??

En int på 2 er jo en smallint. Og er der ikke også noget med at den alligevel bruger 4 bytes plads til alle typer under int, selvom den siger noget andet..
Avatar billede pelskee Nybegynder
09. marts 2005 - 13:44 #11
hvad betyder så: Name nvarchar 256 ?
Avatar billede arne_v Ekspert
09. marts 2005 - 13:46 #12
Det tror jeg ikke at man kan ændre.

Nej - ikke hvis man kan stole på MS (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_ia-iz_3ss4.asp)
Avatar billede arne_v Ekspert
09. marts 2005 - 13:46 #13
NVARCHAR(25&) betyder et tekst felt med UNICODE tegn i som maksimalt
kan tage 256 tegn.

Og det vil fylde 2+faktisk antal tegn i databasen.
Avatar billede pelskee Nybegynder
09. marts 2005 - 13:49 #14
jeg kan bare dele de 60 point melllem jer - for arne var først med svaret men det var først med screendump at 10øren faldt :)
Avatar billede pelskee Nybegynder
09. marts 2005 - 13:51 #15
hvis jeg skal have styr på hvilke datatyper som er mest hensigtsmæssige .- er der så på microsofts hjemmeside jeg skal lede ?
Avatar billede arne_v Ekspert
09. marts 2005 - 13:52 #16
13:46:57 er iøvrigt forkert - Og det vil fylde 2 + 2*faktisk antal tegn i databasen.

(det er jo unicode)
Avatar billede arne_v Ekspert
09. marts 2005 - 13:52 #17
lyder meget fair at dele
Avatar billede fennec Nybegynder
09. marts 2005 - 13:52 #18
Så må det vel blive en deler :o)
Avatar billede arne_v Ekspert
09. marts 2005 - 13:53 #19
Du kan finde beskrivelse af data typerne på MS's web.

Men hvad der er smart er nok noget du enten skal lære eller
hvor du skal have fat på en bog som ligger udover manual niveauet.
Avatar billede pelskee Nybegynder
09. marts 2005 - 14:45 #20
jeg deler :)

det vil sige når jeg skriver:

Datatype: text
Length: 16

så kan feltet kun tage 16 karakterer ?
Avatar billede pelskee Nybegynder
09. marts 2005 - 14:50 #21
er der noget litteratur i kan anbefale ?
Avatar billede arne_v Ekspert
09. marts 2005 - 14:52 #22
Så vidt jeg husker har text slet ikke en max. længde men er altid implicit 2GB.
Avatar billede arne_v Ekspert
09. marts 2005 - 14:53 #23
Jeg har kun en 7 med pil ned bog (og den er iøvrigt også gammel - SQLServer 7.0).

Der må være skrevet bedre bøger. Prøv og søg på Amazon.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester