繁体   English   中英

每天自动创建触发器

Create A Trigger Automaticly Every Day

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个MSSQL GPS数据库,每个月创建一个数据库,每天创建一个表。 这是一个实时数据库,每3秒获取一次数据。 而且所有操作都是通过GPS程序进行的,我没有源代码或访问权限。

数据库看起来像这样:

      -Comms201502       (Database)
      -Comms201503       (Database)
      -Comms201504       (Database)
         -GPS20150401    (Database's Table)
         -GPS20150402    (Database's Table)
         -GPS20150403    (Database's Table)
         -GPS20150404    (Database's Table)
         -...

我有一个触发器,该触发器从表中接收数据,而我每天必须创建该触发器,然后将其写入数据库。

无论如何,每天都创建单个触发器还是创建一个自动创建触发器?

最好的祝福,

1 个回复

我将创建一个DDL触发器,每次执行CREATE TABLE语句时都会引发该触发器,然后将触发器添加到新表中以将记录记录到表中,例如:

CREATE TRIGGER trg_DDLCreateTrigger ON DATABASE 
    FOR  CREATE_TABLE
AS 
BEGIN
    SET NOCOUNT ON;
    DECLARE @EventData XML = EVENTDATA();

    DECLARE @Schema SYSNAME 
    DECLARE @TableName SYSNAME

    SELECT @Schema = EVENTDATA().value('(/EVENT_INSTANCE/SchemaName)[1]','nvarchar(max)'),
            @TableName = EVENTDATA().value('(/EVENT_INSTANCE/ObjectName)[1]','nvarchar(max)')

    DECLARE @sql VARCHAR(MAX)

    SET @sql = 'CREATE TRIGGER [trg_' + @TableName + '] ON [' + @Schema + '].[' + @TableName + ']' +
    ' AFTER INSERT AS ' +
    ' INSERT INTO MyTable SELECT * FROM inserted' --Change this as required

EXEC (@Sql)  

END
GO

您可能应该在触发器中添加一些验证,以检查该表是否是您有兴趣捕获的表。

您可能可以扩展它,以便在create database语句上有一个DDL触发器,它将此触发器添加到数据库中。

1 如何自动删除每天运行的 Google Script 触发器

我有这个触发器,我想每天早上 9 点运行。 问题是,几天后,我的触发器填满了,如果我不手动清除它们,它就无法运行了。 我知道有一种方法可以构建一个函数,该函数基本上每天用新触发器替换旧触发器(通过删除的方式)。 这里的这篇文章给出了一个如何做到这一点的例子,但我似乎无法让它工作。 有人能帮我 ...

2 Postgres创建触发器以清空表(每天)

我一直在研究,发现我们无法创建触发器来每天运行一次。 它需要像cron这样的东西。 还有其他办法吗? 我有一个临时表,用于存储仪表板页面的每日汇总数据(一天中的项目和总数量)。 禁食我的仪表板页面确实需要这样做。 如果没有该临时表每次都访问仪表板页面,则创建汇总数据的查询将花费90 ...

4 如何创建自动续订触发器

如何创建自动续订触发器? 我不知道如何创建自动续订触发器 这是我的桌子 就我而言,我需要在过期时自动更新VIP_expire。 [每到期30天更新一次] ...

5 如何从SQL触发器创建自动Web API

我写这篇文章的目的是为了寻求建议,以考虑使用什么方法和流程来创建一个Web api,当使用新的数据记录更新数据库表(db.data)时,该API从数据库表自动调用新的数据记录。 做完一些研究后,我只想到创建sql触发器,该触发器可以在表更新/插入后从db.data数据库表中获取数据。 之 ...

6 Oracle触发器创建自动编号

我之前从未在Oracle中创建过触发器,因此我正在寻找一些方向。 我想创建一个触发器,如果​​ID不在insert语句中,则将ID递增1。 ID应该从10000开始,当插入记录时,下一个ID应该是10001.如果insert语句包含ID,它应该覆盖自动增量。 即 应该是 ...

7 Google脚本。 自动创建触发器

我是js的新手,这是我的第一个脚本。 我的专案想法是,每当我编辑(写入值)到某些储存格时,我的Google calander中就会发生creat事件。 问题是我无法使用onEdit()函数,因为我需要权限(在工作表级别使用calander)。 所以我创建了这样的可安装触发器: 一切 ...

8 时间驱动的触发器(每天)不是每天都触发

我遇到了与如何确保每日时间触发器运行中描述的类似问题? . 我在其中一个 Google 工作表中有一个特定的脚本,带有每日触发器(时间驱动,应该每天早上触发,通过界面设置,而不是以编程方式设置)。 但是脚本并不是每天都执行。 我可以在执行报告中看到这一点,其中只有成功的执行,没有失败的执行。 我 ...

9 仅每天运行一次的触发器

此触发器将数据从dbo.node备份到dbo.nodearchive。 虽然备份很重要,但我每天只需要执行一次。 请注意,有一个名为dbo.NodeArchive.versionDate(smalldDatetime)的字段。 我希望备份更改,但每天不要超过一个备份版本。 如果没有 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM