webForumDet fria alternativet

SELECT @@IDENTITY i EM

7 svar · 249 visningar · startad av kristoffer

kristofferMedlem sedan juni 20001 266 inlägg
#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.

@ndersMedlem sedan juni 200026 914 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,

kristofferMedlem sedan juni 20001 266 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.

@ndersMedlem sedan juni 200026 914 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...

kristofferMedlem sedan juni 20001 266 inlägg
#5

Jag måste alltså loopa?

LarsGMedlem sedan dec. 200012 465 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
CatZMedlem sedan jan. 20022 341 inlägg
#7

LarsG äger oss L1 :P

@ndersMedlem sedan juni 200026 914 inlägg
#8

:D

Genererad på 385 ms · cache AV · v20260730165559-full.f96bc7eb