Я довольно новичок во всем этом в отношении хранимых процедур. Я хочу выполнить запрос, а затем выполнить цикл по всем возвращаемым строкам. Я подумал о том, что вот так:
ALTER PROCEDURE usp_findDoor
@door int,
AS
DECLARE @foundId int
SELECT @foundId=Id FROM pd_orders WHERE door=@door
Для каждого идентификатора в вышеупомянутом запросе я хочу удалить в другой таблице, например,
DELETE FROM pd_md_detials WHERE order_id = @foundId
Теперь я делаю все это с помощью ASP-кода, и это выглядит так
Set db = con.execute("Select id from pd_orders WHERE door=1")
Do UNTIL db.EOF
Con.execute("DELETE FROM pd_md_details WHERE order_id="& db("id"))
db.movenext
LOOP
Возможно ли это?в SP или я должен переосмыслить?
Отредактированный раздел
Если у меня есть таблицы на трех уровнях, такие как
pd_order_ecolid -> pd_mounting_details -> pd_inventory
И соответствующие столбцы для вышеприведенных таблиц:
ID -> order_data -> pp_id
Тогда с этой строкой можно будет удалить все строки в таблице pd_inventory
DELETE FROM pd_inventory
WHERE pp_id IN
(
SELECT id FROM pd_mounting_details
WHERE order_data IN
(
SELECT id from pd_order_ecolid
WHERE order_head=@order_head AND order_line=@order_line
)
)
Я не могу попробовать это сам, я вижу, что я не нахожусь (но я не могу перестать думать о том, как это исправить)
С уважением