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'),
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.