【发布时间】:2018-06-14 09:57:13
【问题描述】:
我尝试使用带参数的存储过程,在本例中为 OrderID。 但我收到错误消息:'超出最大存储过程、函数、触发器或视图嵌套级别(限制 32)。'
我的 C# 方法:
using (SqlCommand cmd = new SqlCommand("UpdateStock", con))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@OrderID", SqlDbType.Int).Value = OrderId;
cmd.ExecuteNonQuery();
}
我的存储过程:
CREATE PROCEDURE [dbo].[UpdateStock] @OrderID int
AS
BEGIN
UPDATE Products SET Stock = Stock -1 FROM Products INNER JOIN
OrderDetails ON
Products.ProductId = OrderDetails.ProductID WHERE OrderDetails.OrderID =
@OrderID
END
GO
也许你们能帮帮我?
【问题讨论】:
-
您在 Products 表上有一个触发器,该触发器正在触发自身或其他链接在一起的触发器。
-
你没有递归调用你的过程,所以
Products表上必须有一个触发器。你能把这个触发器的代码也显示一下吗? -
@EzLo 这是一个触发器,谢谢 :)
标签: c# sql stored-procedures