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,
7 svar · 249 visningar · startad av kristoffer
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.
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,
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.
Du kan loopa i stored procedures också, men frågan är om det inte är enklare att göra det i asp...
Jag måste alltså loopa?
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
LarsG äger oss L1 :P
:D