Avatar billede mick Nybegynder
03. juli 2004 - 16:07 Der er 8 kommentarer og
2 løsninger

Løbe igennem et udvalg i Query Analyzer

I ASP kan man:

SQL = "SELECT * FROM tabel"
set rs = conn.execute(SQL)
Do while not rs.eof
  SQL2 = "INSERT INTO tabel2"
  set rs2 = conn.execute(SQL2)
  rs.movenext
loop

Hvordan gør man tilsvarende i SQL Query Analyzer?

Jeg ønsker at løbe igennem alle poster i en tabel, beregne nogle nye verdier for hver post og sette disse ind i en ny post i en anden tabel
Avatar billede arne_v Ekspert
03. juli 2004 - 16:12 #1
Måske er det:

INSERT INTO tabel2 SELECT felt1,2*felt2,felt3-10 FROM tabel

du leder efter.
05. juli 2004 - 09:06 #2
Hej Mick,
Det du spørger efter er en "Cursor". De bruges f.eks. således


DECLARE authors_cursor CURSOR
  FOR SELECT * FROM authors
OPEN authors_cursor
FETCH NEXT FROM authors_cursor
...
CLOSE authors_cursor
DEALLOCATE authors_cursor

Men det anbefales normalt at undgå dem som pesten. De er mindst 10 gange langsommere end den metode "Arne V" anbefaler.
Mvh
Henrik
Avatar billede arne_v Ekspert
14. juli 2004 - 22:30 #3
Kommet videre ?
Avatar billede arne_v Ekspert
14. juli 2004 - 22:31 #4
Og et svar såfremt du måtte synes at min kommentar var noget værd
Avatar billede mick Nybegynder
14. juli 2004 - 23:20 #5
Beklager jeg havde helt glemt spørgsmålet.

Hvis hspoulsen også lige kommer med et svar så kan i dele poengene.

Tak for hjælpen
Avatar billede arne_v Ekspert
14. juli 2004 - 23:25 #6
Han har allerede svaret
Avatar billede mick Nybegynder
14. juli 2004 - 23:27 #7
Det begynder at blive sent :-)
Avatar billede arne_v Ekspert
14. juli 2004 - 23:29 #8
:-)
15. juli 2004 - 09:49 #9
Og hvad endte det så med?
En cursor eller et simpelt, hurtigt og solidt "Insert" script?
Avatar billede mick Nybegynder
15. juli 2004 - 15:37 #10
Den endte egentlig med en mellemting. Der hvor spøringerne ikke var alt for komplekse har jeg brugt INSERT, mens jeg et par steder brukte en CURSOR, bla. fordi det her skulle hentes fra 4-5 tabeller og gøres nogle udregninger vha. et par stored procedures
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