webForumDet fria alternativet

SELECT @@IDENTITY i EM

Databaser & SQL

7 svar · 249 visningar · startad av kristoffer

Medlem sedan juni 20001 257 inlägg
Frågan#1

Jag behöver kopiera vissa poster i en tabell (firstTable) till nya poster i samma tabell. Därefter måste jag sätta in nya poster i en många-till-många-tabell som är relaterad till firstTable. Typ:

INSERT INTO firstTable (strName, intValue) SELECT strName, intValue FROM firstTable INNER JOIN first_link_secondTable ON firstTable.id = first_link_secondTable.id_firstTable WHERE first_link_secondTable.id_secondTable = 15;

INSERT INTO first_link_secondTable (id_firstTable, id_secondTable) [i]@@identity[/i], 16

Men hur får jag ut värdet på senast insatta posterna direkt i Enterprise Manager, de är ju flera stycken? Jag vill slippa göra det i asp.

Medlem sedan juni 200032 967 inlägg
#2

Det ska inte vara någon skillnad om du ställer frågan i asp eller i enterprise manager.

För att få allt himla bra kan du ju alltid göra en liten läcker stored procedure.

Mvh,

Medlem sedan juni 20001 257 inlägg
#3

Men när jag kör ovanstående får jag bara senaste id, ETT värde alltså. Jag vill ju ha identityt för varje insatt post, typ som i en loop.

Medlem sedan juni 200032 967 inlägg
#4

Du kan loopa i stored procedures också, men frågan är om det inte är enklare att göra det i asp...

Medlem sedan juni 20001 257 inlägg
#5

Jag måste alltså loopa?

Medlem sedan dec. 200012 464 inlägg
#6

declare  @id integer

select   @id = max(id) from firsttable
if @id is not null
begin
    INSERT INTO firstTable (strName, intValue) 
SELECT strName, intValue FROM firstTable INNER JOIN first_link_secondTable 
ON firstTable.id = first_link_secondTable.id_firstTable 
WHERE first_link_secondTable.id_secondTable = 15

INSERT INTO first_link_secondTable (id_firstTable, id_secondTable) 
select id, 16 from firstTable INNER JOIN first_link_secondTable 
ON firstTable.id = first_link_secondTable.id_firstTable 
WHERE first_link_secondTable.id_secondTable = 15
and id > @id

end
Medlem sedan jan. 20022 440 inlägg
#7

LarsG äger oss L1 :P

Medlem sedan juni 200032 967 inlägg
#8

:D

264 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
135 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)