kristofferMedlem sedan juni 20001 266 inlägg
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
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
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
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
LarsGMedlem sedan dec. 200012 465 inlägg
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
@ndersMedlem sedan juni 200026 914 inlägg