sql-server - 我制作了一个完美运行的 sp,但是当我创建触发器来执行它时,它给出了错误
问题描述
当表 EmpSalary 列 SubDiario 中的更改并且它有效时,SP 对 EmpAttendance 表列 SubDiario 进行更新,但是当我尝试触发 sp "EXEC [dbo]。[sp_SubMensal_update] 给出错误
超出最大存储过程、函数、触发器或视图嵌套级别(限制 32)。
SP
USE [MiniPayroll]
GO
/****** Object: StoredProcedure [dbo].[SubMensal_update] Script Date: 14-04-2021 15:46:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[SubMensal_update]
AS
BEGIN
update dbo.EmpAttendance set
EmpAttendance.SubDiario= EmpSalary.SubDiario
from dbo.EmpSalary
join EmpAttendance on EmpSalary.EmpId=EmpAttendance.EmpId
where EmpAttendance.time_registered > getdate() -1
END
触发
USE [MiniPayroll]
GO
/****** Object: Trigger [dbo].[update_SubMensal] Script Date: 14-04-2021 16:32:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER TRIGGER [dbo].[update_SubMensal]
ON [dbo].[EmpAttendance]
AFTER INSERT,UPDATE,DELETE AS BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
EXEC [dbo].[SubMensal_update]
END
谢谢
解决方案
推荐阅读
- python - Python 和 tkinter:我如何允许 python 中的函数创建一个 sqlite3 数据库
- excel - VBA Copying a Pasting to Sharepoint
- cordova - Ionic Android - 你如何重命名构建的输出文件?
- git - 在进行 git rebase 时,为什么 git 需要一个完全干净的工作目录,包括不受 rebase 影响的文件?
- html - thymeleaf 在源代码中呈现附加标签
- visual-studio - 使用 Visual Studio Web 项目进行变更集管理
- python-3.x - 接收文件名中带有时间戳的文件的适当方法是什么?
- mysql - 错误 ModuleNotFoundError:没有名为“pymysql”的模块
- android - 使用动态数据解析非常大的 JSON 文件
- python - 根据字典值打印单数/复数