【问题标题】:How to Schedule a trigger? [closed]如何安排触发器? [关闭]
【发布时间】:2014-07-23 09:04:29
【问题描述】:

我们创建了一个用于插入一组行的触发器。 我想自动安排这个触发器并将这些数据插入另一个表。即,它必须根据给定的时间段自动执行。 请为此建议可能的步骤。

这里我给你关于操作的清晰解释, 我的项目将数据从 MS SQL 数据库表传输到 MY SQL 数据库表。这个活动必须安排。我必须从 MS Sql 表中选择几个字段,然后根据计划自动将所选数据传输到 My Sql 表。

【问题讨论】:

  • 您无法安排触发器!它仅在与触发器关联的表上发生插入、更新或删除时执行!我的问题是错误的!
  • cron 工作是你要找的?

标签: mysql sql sql-server sql-server-2008 mysqldump


【解决方案1】:

您可以使用 mysql 事件调度程序来配置和运行您的作业。

请查看 http://dev.mysql.com/doc/refman/5.1/en/events-configuration.html

【讨论】:

  • 这里我给你解释一下操作,我的项目将数据从MS SQL数据库表传输到MY SQL数据库表。这个活动必须安排。我必须从 MS Sql 表中选择几个字段,然后根据计划自动将所选数据传输到 My Sql 表
  • 你给出了解释,这里的答案是使用MySQL事件调度器。如果这对您不起作用,请描述使用它的问题,包括显示您尝试过的内容和任何不正确的结果。答案中的链接指向调度程序的文档。
【解决方案2】:

首先,触发器是一个数据库对象,触发器是在任何物理表上创建的。这取决于表操作,因此表触发器的每个操作都会执行。 我们无法安排触发器在特定时间执行。 还有一个替代解决方案是:使用 schedule SQL Job 启用和禁用触发器。 脚本是:

--To Enalble Trigger
ENABLE TRIGGER [Trigger_Name] ON [TableName]
GO

--To Disable Trigger
DISABLE TRIGGER [Trigger_Name] ON [TableName]
GO

【讨论】:

    【解决方案3】:

    如果您使用的是 MS SQL,那么您可以使用 SQL Server 代理来安排作业/任务以执行您需要完成的任何事情。

    您可以在此处阅读更多信息http://msdn.microsoft.com/en-us/library/ms191439.aspx

    最好的办法是创建一个存储过程,然后在计划的作业中,只需执行该存储过程即可运行。

    或者,如果您没有 SQL Server 代理(需要完整版的 MS SQL 而不是 SQL Server Express),那么您可以考虑使用 Windows 计划任务来安排批处理文件定期运行,调用sqlcmd 实用程序http://technet.microsoft.com/en-us/library/ms165702(v=sql.105).aspx 您应该能够设置它来执行您的存储过程。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2013-07-13
      • 2020-08-30
      • 1970-01-01
      • 1970-01-01
      • 2013-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多