我们使用SQL2000企业版。
我们已经注意到,当我们使用Enterprise Manager进行数据更改时,触发器不会执行。也就是说,我们执行一个"Select“查询,然后直接在网格结果表中编辑结果。触发器是有效的,因为如果我们运行update查询,它将按预期执行。
我只是想知道这是否是意料之中的行为。Enterprise Manager如何在不执行触发器的情况下更新数据?
非常感谢。
发布于 2010-08-16 21:35:50
我刚刚在一个SQL2000数据库上测试了这个场景,它对我来说工作得很好。是否确实要按照此处所述方式保存更改(http://msdn.microsoft.com/en-us/library/aa275868(v=SQL.80%29.aspx)?
通过移动到网格中的另一行来保存更改。
注释:如果切换到其他窗格,查询设计器或视图设计器不会自动保存更改。如果编辑当前查询(例如,通过在“网格窗格”中进行更改),则“结果”窗格将变灰。但是,它仍然处于活动状态,并且您仍然可以编辑和保存您一直在处理的行。
发布于 2010-08-16 22:25:40
首先,您不应该在使用企业管理器时对数据进行更改。你可能会以这种方式制造可怕的问题。如果表很大,它可能会使用非常愚蠢的长度(比如创建新表并填充它,而不是更新记录)来获取数据。除非通过脚本,否则永远不要进行任何数据更改。
https://stackoverflow.com/questions/3492231
复制相似问题