webForumDet fria alternativet

Stored procedure with a loop?

2 svar · 406 visningar · startad av evilaid

evilaidMedlem sedan apr. 2009431 inlägg
#1

Hej

Försöker snabba upp lite batabas arbete som jag lägger över i en stored procedure nu..
Problemet är att jag behöver skapa en fråga och sen loopa igenom alla rader?
Googlade lite men det verkar inte som utbudet vad det gäller SP är så brett när det kommer till loopar?

Det jag skulle vilja ha är ju en "Do until db.eof"

Mvh

@ndersMedlem sedan juni 200026 914 inlägg
#2

Det beror lite på vad du vill göra, och vilken dbms du använder. Om du verkligen måste loopa kan du kolla in cursors om din dbms stöder det.

evilaidMedlem sedan apr. 2009431 inlägg
#3

Jag har sökt lite och hittat en annan lösning men jag har inteen aning om det funkar, kan inte pröva det förän jag är hemma..
Jag har tre tabeller:
pd_order_eco
pd_mounting_details
pd_inventory

dessa har också relationer i nedstigande ordning.
så pd_order_eco(id) -> pd_mounting_details(orderdata)(id) ->pd_inventory(pp_id)

Nu har jag gjort denna kod, vilket jag hoppas fungerar (sjukt nyfiken)

DELETE FROM pd_inventory WHERE pp_id IN (SELECT id FROM pd_mounting_details WHERE order_data IN (SELECT id from pd_order_eco WHERE order_head=@order_head AND order_line=@order_line))

Denna kod hoppas jag tar bort alla rader i pd_inventory som har en relation till pd_mounting_details som i sin tur har en relation till pd_order_eco. Villkoret bygger på kolumner i pd_order_ecol..

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