【发布时间】:2019-06-07 09:49:20
【问题描述】:
在 SQL Server 中创建触发器后出现以下错误,我研究了此错误并尝试了很多不同的方法,但没有任何效果。
Microsoft OLE DB Provider for SQL Server 错误“80040e14”最大值 超出存储过程、函数、触发器或视图嵌套级别 (限制 32)
USE [admin_W4F]
GO
/****** Object: Trigger [lee2121].[discount] Script Date: 6/7/2019 10:45:55 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [lee2121].[discount]
ON [lee2121].[Cart]
AFTER INSERT,DELETE,UPDATE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
update [lee2121].Cart
set totalprice2 = [lee2121].[Cart].[price] - ([lee2121].[Cart]. [price]/[lee2121].[Cart].[disc])
END
【问题讨论】:
-
看来您可能设置了
RECURSIVE_TRIGGERS数据库选项,因此更新会再次调用触发器。此外,您的UPDATE每次触发时都会更新表中的每一行。
标签: sql sql-server oledb