|
|
1
3
如何根据插入的字符串确定整数? computed columns in SQL Server . 如果该匹配非常简单(例如,从字符串中提取字符10到14)或类似的内容,则可以自动创建一个计算列来执行此操作—无需触发器。 您甚至可以持久化这些计算列(物理存储为表的一部分),并在这些字段上创建索引!
|
|
|
2
6
可以使用存储过程、触发器或更复杂的insert语句来替代普通的旧insert。由于您无法控制insert语句,因此也无法使用存储过程。所以你唯一的选择就是触发器。 你所描述的正是触发器存在的原因。如果您需要完成此任务,则无法在您列出的约束条件下完成。 触发器是最好的选择。更改数据库标准(或至少允许此任务成为例外),因为它们有缺陷。 |
|
|
3
2
MSDN 介绍。另一种选择,但只有在2008年R2之后才有效,“变更跟踪” Setting up change tracking look here )改变了什么,这可能会也可能不会“解决”触发器的问题。 |
|
|
4
1
触发器是
SQL表上发生事件(插入、更新、删除)后执行操作的方式;事实上,他们的存在使得不可能有任何站得住脚的替代方案。遗憾的是,您所说的DB标准实际上阻止了您做您想做的事情,而没有运行一些进程来定期监视您的表,然后执行您需要它执行的操作,或者更改所有数据库CrUD操作以通过执行您想让它们做的存储过程。既然你说后者是不可能的,你就不能改变
|
|
|
5
1
SQLServer2005现在有一个名为OUTPUT子句的东西,它可以在插入(或其他操作)发生后执行额外的处理。这 article 涵盖更多细节。例如,如果需要在INSERT命令之后进行处理,可以执行以下操作。。。
您将拥有为它们创建的唯一ID。 |
|
6
-2
你的选择在这里是有限的。我认为您唯一的其他选择是通过存储过程调用进行插入,并将额外的代码放入存储过程中。 |
|
|
7
-4
我认为我们现在可以用hibernate事件系统实现触发器,尽管会对性能造成影响。我以前没有这样做过,但我认为它可以工作 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
Marc Guillot · 记录值时忽略冲突 1 年前 |
|
|
Fachry Dzaky · 正确使用ROW_NUMBER 1 年前 |
|
|
TriumphTruth · 从满足特定条件的数据集中选择1行 1 年前 |