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
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