首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql2005报错,超出了存储过程、函数、触发器或视图的最大嵌套层数(最大层数替 32)

2012-12-16 
sql2005报错,超出了存储过程、函数、触发器或视图的最大嵌套层数(最大层数为 32)。我想建一个触发器自动填超

sql2005报错,超出了存储过程、函数、触发器或视图的最大嵌套层数(最大层数为 32)。
我想建一个触发器自动填超期天数如果实还日期不为空的话,另外我还有两个触发器,都很成功,这个只是把第二个的列名换了一下,运行显示成功,可是去填表的时候就出错,如题目所示代码如下:
create TRIGGER for_insert_jy2
ON dbo.借阅信息表
for INSERT , update
AS BEGIN
if('实还日期' is not null)
update  dbo.借阅信息表
    set 超期天数=(select datediff(day,(select 应还日期 from inserted),(select 实还日期 from inserted))) 
    where 图书编号=(select 图书编号 from inserted)
end
[解决办法]
把两个放在一个了,ok了
[解决办法]
你后面那句话是指解决了?不过你的代码有点.....先从inserted表直接用datediff把 应还日期和实还日期的天数差算出来,然后再拿去update就可以拉,何必每一列都要从新select一次呢
[解决办法]

引用:
你后面那句话是指解决了?不过你的代码有点.....先从inserted表直接用datediff把 应还日期和实还日期的天数差算出来,然后再拿去update就可以拉,何必每一列都要从新select一次呢

不太会
[解决办法]
select datediff(day,应还日期,实还日期)
from inserted
之类这样的格式。

热点排行