sql server 如何知道过去的一段时间中触发器是否执行过
时间: 2024-03-13 12:44:42 浏览: 26
SQL Server 中可以通过查询系统表 `sys.dm_exec_trigger_stats` 来获取过去一段时间内触发器是否执行过的相关信息。这个系统表返回了有关触发器执行统计信息的行集。
以下是查询过去一小时内触发器执行情况的 SQL 代码:
```
SELECT
OBJECT_NAME(object_id) AS trigger_name,
COALESCE(last_execution_time, 'N/A') AS last_executed_time,
execution_count
FROM
sys.dm_exec_trigger_stats
WHERE
database_id = DB_ID()
AND DATEDIFF(HOUR, last_execution_time, GETDATE()) <= 1;
```
上述代码将返回触发器的名称、最后一次执行时间以及执行次数。其中,`DB_ID()` 函数返回当前数据库的 ID,`DATEDIFF` 函数用于计算最后一次执行时间与当前时间之间的小时数。
相关问题
写一段sql server创建触发器的语句,功能是根据键值删除某一行
以下是 SQL Server 创建触发器的语句,用于根据键值删除某一行:
```sql
CREATE TRIGGER tr_DeleteRowByKey
ON [TableName]
FOR DELETE
AS
BEGIN
DELETE T
FROM [TableName] T
INNER JOIN deleted D ON T.[KeyColumn] = D.[KeyColumn]
END
```
其中,`[TableName]` 是需要被操作的表的名称,`[KeyColumn]` 是该表的主键列。这个触发器将在删除操作时触发,然后触发器中的代码将会执行。在本例中,触发器中的代码使用了 `INNER JOIN` 子句将被删除的行与原始表的指定列进行匹配,从而找到需要删除的行。然后,`DELETE` 语句将会删除这些行。这样,该触发器就可以根据键值删除某一行。
写一段sql server创建触发器的语句,功能是禁止对表进行删除操作
以下是 SQL Server 创建触发器的语句,用于禁止对表进行删除操作:
```sql
CREATE TRIGGER tr_PreventDelete
ON [TableName]
INSTEAD OF DELETE
AS
BEGIN
RAISERROR('Deleting from this table is not allowed!', 16, 1)
END
```
其中,`[TableName]` 是需要被保护的表的名称。`INSTEAD OF DELETE` 触发器将会在删除操作执行之前触发,然后触发器中的代码将会执行。在本例中,触发器中的代码使用 `RAISERROR` 语句抛出一个错误,从而阻止删除操作的继续执行。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)