Oracle中的语句级触发器

时间:2017-11-14 08:29:05

标签: oracle

我无法完全理解语句级触发器的工作原理。每次交易执行一次吧?如果我有这个AFTER INSERT触发器,它内部的作用是如果它满足条件,则更新一个特定的列(例如,列状态为public class TFSHTTPClientFactory extends DefaultHTTPClientFactory { public TFSHTTPClientFactory(final ConnectionInstanceData instanceData){ super(instanceData); } @Override public void configureClientProxy( final HttpClient httpClient, final HostConfiguration hostConfiguration, final HttpState httpState, final ConnectionInstanceData instanceData) { System.setProperty("com.microsoft.tfs.client.allowInsecureBasic", "true"); String proxyHost = null; int proxyPort; if(ProxyConfigurator.httpProxyHost!=null) { proxyHost = ProxyConfigurator.httpProxyHost; proxyPort = ProxyConfigurator.httpProxyPort; } else { proxyHost = ProxyConfigurator.httpsProxyHost; proxyPort = ProxyConfigurator.httpsProxyPort; } hostConfiguration.setProxy(proxyHost, proxyPort); } } )。

新插入的数据只会受到影响吗?或者表中的每个数据在列状态中具有此空值。我很高兴听到你对此的了解。

1 个答案:

答案 0 :(得分:0)

语句级触发器将在触发语句运行后触发一次,而不像为每个受影响的行触发的行级触发器。

语句触发器通常用于处理数据集 - 例如登录到表,或运行一些语句后处理(通常是一个过程)。

如果您想要更新每个受影响的行中的值,那么我建议使用前行级触发器。您问题中的更新语句将影响COLUMN列为空的所有行。

触发器实际上是否正确使用是值得商榷的。不过,我建议您查看the documentationthis Oracle-base article,以便更好地了解触发器的工作方式以及何时使用它们。