在SQL SERVER BOOK ONLINE中有明确表示,对于在临时表,包括局部临时表和全局临时表不可以建立触发器。 “You cannot create a trigger on a view or on a temporary table, although triggers can reference views or temporary tables.” 但这里须知道临时表指的是以#和##开头临时表,如果在TEMPDB中明确建立一个表还是可以的。这个表应以普通命名方式来做。我做了实验。
本人现在在编一个MIS项目,遇到了一个这样的问题: 有两个表的结构是完全相同的 TABLE和TABLE_HISTORY是用来记录单据的明细信息的(字段包括 种类;数量;金额;进仓名称 等等) 当一张单据付款之后相对应的明细记录就从TABLE移到了TABLE_HISTORY中,但入库的操作与付款的操作没有前后之分,也就是说入库操作有时会对TABLE进行操作而有时又会对TABLE_HISTORY进行操作。 我原来想建一个VIEW用UNION把TABLE和TABLE_HISTORY连接然后把INSERT INTO到一个临时表中,并为此临时表建一个TRIGGER使得对临时表的UPDATE操作都能反映到TABLE或TABLE_HISTORY中,但经大家的讨论和SQL SERVER BOOK ONLINE还有我的反复实验,现已明确肯定:Cannot create a trigger on a temporary object. 请问大家还有其它折冲的办法吗(不能直接在TEMPDB中建表,因为我要求每个进程的临时表都是唯一的)? 谁能给我一个明确的解决方案,我马上将740分全部赠送(在我印象中还没有人出过那么高分呀!!!!!)谢谢各位
“You cannot create a trigger on a view or on a temporary table, although triggers can reference views or temporary tables.”
但这里须知道临时表指的是以#和##开头临时表,如果在TEMPDB中明确建立一个表还是可以的。这个表应以普通命名方式来做。我做了实验。
有两个表的结构是完全相同的 TABLE和TABLE_HISTORY是用来记录单据的明细信息的(字段包括 种类;数量;金额;进仓名称 等等)
当一张单据付款之后相对应的明细记录就从TABLE移到了TABLE_HISTORY中,但入库的操作与付款的操作没有前后之分,也就是说入库操作有时会对TABLE进行操作而有时又会对TABLE_HISTORY进行操作。
我原来想建一个VIEW用UNION把TABLE和TABLE_HISTORY连接然后把INSERT INTO到一个临时表中,并为此临时表建一个TRIGGER使得对临时表的UPDATE操作都能反映到TABLE或TABLE_HISTORY中,但经大家的讨论和SQL SERVER BOOK ONLINE还有我的反复实验,现已明确肯定:Cannot create a trigger on a temporary object.
请问大家还有其它折冲的办法吗(不能直接在TEMPDB中建表,因为我要求每个进程的临时表都是唯一的)?
谁能给我一个明确的解决方案,我马上将740分全部赠送(在我印象中还没有人出过那么高分呀!!!!!)谢谢各位
编写,调用,管理都很方便
你注册了多个帐户,并且做了...
so ,我不想回答了,也不想要分了
来进行管理,进在前台(C++Builder)的TStoredProc输入参数(单号和仓库ID),我的问题已经解决,谢谢!
虽然你说不要我的分了,但这分数绝非是我的非法所得(我用我的人格担保)我的非法所得已要求坛主删除并且我已写了检讨保证不再重犯,分数请笑纳。