Avatar billede pejsen Nybegynder
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'),
Avatar billede arne_v Ekspert
11. september 2009 - 19:35 #1
NVARCHAR(MAX) er naeppe den rigtige data type.

Og hele ideen ser suspekt ud i flerbruger sammenhaeng - kan du ikke bruge en IDENTITY kolonne?
Avatar billede pejsen Nybegynder
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')
Avatar billede arne_v Ekspert
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.
Avatar billede arne_v Ekspert
14. oktober 2009 - 02:18 #4
Kommet videre ?
Avatar billede pejsen Nybegynder
15. maj 2011 - 18:34 #5
LUKKET
Avatar billede Syska Mester
16. maj 2011 - 01:12 #6
Men arne_v kom jo med svaret ?
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

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