У меня есть TVP типа List_Of_Items, и я хочу вставить несколько строк одновременно, поэтому я выбрал использование хранимой процедуры с параметром TVP, как показано ниже. Является ли такая вставка безопасной, и я могу избавиться от транзакции? Или это потенциально опасно, так как вставка может сломаться посередине, так что транзакция должна быть?
CREATE PROC Insert_Order_With_Details
(
@Items List_Of_Items
)
AS
BEGIN
BEGIN TRANSACTION
INSERT INTO OrderDetails (OrderId, CustomerId, ItemId, Quantity)
SELECT @OrderID, @CustomerID, ItemID, Quantity
FROM @Items
COMMIT
END