Sql 使用级联向表中添加触发器

Sql 使用级联向表中添加触发器,sql,sql-server,tsql,Sql,Sql Server,Tsql,我正在尝试向表中添加一个简单的触发器—我遇到的第一个问题是该表有文本列—因此delete、insert和update触发器不会浮动而不是“尽管如此” 我现在面对的事实是,桌子上有瀑布。你知道有没有办法绕过那块小宝石,或者我基本上已经完蛋了吗?创建一个新表,每个人都使用它来代替级联表。然后在新表上构建“代替”触发器,并在触发器中更新旧表 旧表将按正常方式层叠,但新表没有任何层叠 更新: 您可以尝试添加一个视图,而不是创建另一个表。您甚至可以从视图中排除这些文本列。创建一个新表,每个人都使用它来代替

我正在尝试向表中添加一个简单的触发器—我遇到的第一个问题是该表有文本列—因此delete、insert和update触发器不会浮动而不是“尽管如此”


我现在面对的事实是,桌子上有瀑布。你知道有没有办法绕过那块小宝石,或者我基本上已经完蛋了吗?

创建一个新表,每个人都使用它来代替级联表。然后在新表上构建“代替”触发器,并在触发器中更新旧表

旧表将按正常方式层叠,但新表没有任何层叠

更新:


您可以尝试添加一个视图,而不是创建另一个表。您甚至可以从视图中排除这些文本列。

创建一个新表,每个人都使用它来代替级联表。然后在新表上构建“代替”触发器,并在触发器中更新旧表

旧表将按正常方式层叠,但新表没有任何层叠

更新:


您可以尝试添加一个视图,而不是创建另一个表。您甚至可以从视图中排除这些文本列。

我不知道您使用的是哪个版本的SQL Server,但文本列已被弃用-它们将不会出现在下一版本的SQL Server中。如果您使用的是高于2000的任何版本,我建议您立即将其设置为nvarchar(max)(您还需要更改使用CONTAINS、WRITETEXT和其他文本类型代码的代码)

也就是说,我总是通过在主键上将insert连接到实际表本身来获得触发器中text列的值


我不确定如何处理您的级联问题,因为出于性能原因,我们不允许级联删除或更新。据我所知,触发器仍然会触发(并且应该被写入以处理多个记录插入、更新或删除,但我强烈认为所有触发器都应该以这种方式编写)。您在使用级联时到底遇到了什么问题?

我不知道您使用的是哪个版本的SQL Server,但是文本列已被弃用,它们将不会出现在下一版本的SQL Server中。如果您使用的是高于2000的任何版本,我建议您立即将其设置为nvarchar(max)(您还需要更改使用CONTAINS、WRITETEXT和其他文本类型代码的代码)

也就是说,我总是通过在主键上将insert连接到实际表本身来获得触发器中text列的值


我不确定如何处理您的级联问题,因为出于性能原因,我们不允许级联删除或更新。据我所知,触发器仍然会触发(并且应该被写入以处理多个记录插入、更新或删除,但我强烈认为所有触发器都应该以这种方式编写)。您在使用cascades时到底遇到了什么问题?

我看到了这些词-但它们看起来像gilberts?!;)我应该引用引用,但是Gilbert的头没有URI:)对于视图,您甚至可以在schemabind的情况下对其进行索引:最终无法进入视图路径,因为表有复制和其他显示停止。最后,我创建了一个快照表,当需要增量时,可以通过BCP命令调用sp,该命令将实时表与快照进行比较,生成差异,重新加载快照以备下次使用-不理想,但jobI是否看到了这些词-但它们看起来像gilberts?!;)我应该引用引用,但是Gilbert的头没有URI:)对于视图,您甚至可以在schemabind的情况下对其进行索引:最终无法进入视图路径,因为表有复制和其他显示停止。最后,我创建了一个快照表,当需要增量时,可以从BCP命令调用一个sp,该命令将实时表与快照进行比较,生成差异,重新加载快照以备下次使用-这并不理想,但可以完成任务