Ok, jag har importerat en massa käcka tabeller från Access in i SQL 7.0. När detta väl skall göras "skarpt" vill jag pilla minimalt och förbereder därför ett gäng sql-filer med script.
Nycklar, constraints och lite annat som inte hänger med i konverteringen från Access till SQL har jag skapat men går bet på följande...
Det som utgör primärnyckeln i vissa tabeller får datatypen INT men får ingen IDENTITY. Hur slänger jag på en IDENTITY(1,1) med hjälp av T-SQL?
Har testat:
ALTER TABLE companies
ALTER COLUMN companyID
INT IDENTITY(1,1) NOT NULL
...men det blev ju inge bra.
Observera att jag vill inte göra detta manuellt från Enterprise Managerns Design-vy.
r: spellcheck
------------------
To understand recursion, we must first understand recursion.
Är det någon vänlig själ som vill starta en trace i Profiler och testa att lägga till en IDENTITY på en befintligt tabell via Enterpise Manager och sedan berätta för mig vad som skickas?
Pretty please with sugar on top...?
/M.
------------------
To understand recursion, we must first understand recursion.
I går kväll så stötte jag återigen på samma problem som ovan. Just vid detta tillfälle hade jag möjlighet att köra profilern parallellt med enterprise managern. Av resultatet att döma händer alltså följande:
OM jag vill lägga till IDENTITY på en kolumn som inte tidigare haft denna typ av räknare så måste tabellen omskapas. SQL-servern kopierar datan till en temporär tabell och nyskapar sedan den gamla med en ny identitykolumn istället.