11. september 2009 - 17:52
Der er
5 kommentarer og 1 løsning
Finde MAX Value i kolonne - lægge 1 til MAX value og indsætte værdien i en variabel.
Hej Jeg vil finde MAX Value i en kolonne, lægge 1 til og bruge denne værdi i en ny række. kan man dette?? DECLARE @sql nvarchar(MAX); SET @sql = N'SELECT MAX(@resId)+ 1 FROM Resource'; GO INSERT INTO Resource(resId,touchGantt,name,type,resGroupId,genCalId) VALUES ('@sql',CURRENT_TIMESTAMP,'Sitma','normal',NULL,'daghold'),
Annonceindlæg fra HP
12. september 2009 - 12:21
#2
Ved ikke hvordan man bruger en IDENTITY kolonne, da jeg er ny begynder i MS SQL Jeg har prøvet med nedenstående, det bliver bare meget copy/paste. Er der en smartere måde at gøre dette på evt. med en en IDENTITY kolonne. Kan man lave et loop, som indsætter NewResI?? DECLARE @MaxResId int, @NewResId varchar(4), @x varchar USE GanttERP SET @MaxResId =(SELECT RIGHT((max(resId)),3) FROM Resource)+1 SET @x = @MaxResId SET @NewResId = 'R'+LTRIM(RIGHT(CAST(1000 + (@x) AS varchar(4)), 3)) INSERT INTO Resource(resId,touchGantt,name,type,resGroupId,genCalName) VALUES (@NewResId,CURRENT_TIMESTAMP,'Jan','normal',NULL,'daghold') SET @MaxResId =(SELECT RIGHT((max(resId)),3) FROM Resource)+1 SET @x = @MaxResId SET @NewResId = 'R'+LTRIM(RIGHT(CAST(1000 + (@x) AS varchar(4)), 3)) INSERT INTO Resource(resId,touchGantt,name,type,resGroupId,genCalName) VALUES(@NewResId,CURRENT_TIMESTAMP,'Hans','normal',NULL,'daghold')
12. september 2009 - 14:29
#3
Hvis du i dit administrations vaerktoej (eller i din CREATE TABLE) angiver at et felt er IDENTITY, saa vil SQLServer ved indsaettelse af en raekke selv udfylde en vaerdir ved at tage det naeste nummer i raekken.