Кто рюхает SQL?

stm2477274

Люди как написать stored procedur'у, которая делает select, и для каждой строчки из результата делает insert в другую таблицу?

stm2477274

Более конкретно. Принимать она должна два параметра:

ALTER PROCEDURE sp_create_receipt_items
(
@location_id uniqueidentifier
,@shipping_receipt_id uniqueidentifier
)

Селект надо делать вот такой:

SELECT
purchase_order_item.product_item_id
FROM
purchase_order_item
WHERE
(
purchase_order_item.location_id = @location_id) OR (@location_id IS NULL
AND (purchase_order_item.ordered_quantity < purchase_order_item.receipt_quantity)
)

А insert потом для каждой строки вот такой:

INSERT INTO shipping_receipt_item
(
shipping_receipt_id
,product_item_id
,receipt_quantity
)
VALUES
(
@shipping_receipt_id
,@product_item_id
,0
)

JERRY

типа тебе надо курсор создать и потом из него читать. Как это делать, зависит от БД. См. документацию к ней.

Dasar

Так покатит?
ALTER PROCEDURE sp_create_receipt_items
(
@location_id uniqueidentifier
,@shipping_receipt_id uniqueidentifier
)
INSERT INTO shipping_receipt_item (shipping_receipt_id, product_item_id,receipt_quantity)
(
SELECT @shipping_receipt_id, purchase_order_item.product_item_id, 0
FROM purchase_order_item
WHERE
(
purchase_order_item.location_id = @location_id) OR (@location_id IS NULL
AND (purchase_order_item.ordered_quantity < purchase_order_item.receipt_quantity)
)
)

stm2477274

Покатило. Респект!
Оставить комментарий
Имя или ник:
Комментарий: