我需要增加SQLite中递归触发器的最大深度。我知道我需要将SQLITE_MAX_TRIGGER_DEPTH设置为我想要的值,但我找不到这样的方法。
我试过PRAGMA SQLITE_MAX_TRIGGER_DEPTH = X,但没有用。
知道怎么设置这个变量吗?谢谢!
引用SQLite文档:
SQLite限制触发器递归的深度,以防止涉及递归触发器的语句使用无界内存量。 在SQLite版本3.6.18之前,触发器不是递归的,因此这个限制是没有意义的。从3.6.18版本开始,支持递归触发器,但必须使用PRAGMA recursive_triggers语句显式启用。从3.7.0版本开始,递归触发器默认启用,但可以使用PRAGMA recursive_triggers手动禁用。只有启用递归触发器时,SQLITE_MAX_TRIGGER_DEPTH才有意义。 默认的最大触发器递归深度为1000。
发布于 2012-10-03 17:44:30
PRAGMA recursive_triggers仅用于启用递归触发器。
SQLITE_MAX_TRIGGER_DEPTH参数是一个C预处理器符号,在编译SQLite本身时必须设置;在运行时增加它是不可能的。
https://stackoverflow.com/questions/12713188
复制相似问题