在SQL Server 2014中自动插入的行

马西B

我是SQL Server的新手,所以我直接问我一个问题:

假设我有两个桌子

  • A (a1 type1,...,ai DATE,频率INT,...,aN typeN)
    • frequence 代表天数
  • B (b1 type1,...,bi typei,....,bN typeN)

我想做的是在表A上放置一种侦听器,该侦听器侦听每行的“ ai和frequence”属性,然后将行插入表B中,例如:

  1. (v1,....,“ 2016-03-01”,30,....,vN)表A的一行,因此从“ 2016- 03-01“

因此,在表B中的“ 2016-04-01”,“ 2016-05-01”,“ 2016-06-01”等上插入了新行。

  1. 可以根据表A中包含的信息来计算新插入的B行(插入只是过程的一个示例)

我已经找到了这个问题,找到的最相关的答案是使用触发器,但是触发器是在或之后触发的,而不是在触发INSERT/UPDATE/DELETE且这些操作是硬编码的,不是DBMS(或示例中的当前日期)上面的内容)启动了流程,是客户。

每句话都欢迎。

谢谢,稍后见。

亚伯拉罕

看来您需要预定的作业,因为您不希望将行插入表B时将它们插入表B。预定的作业可以调用存储过程或直接执行SQL查询。

这是创建存储过程的语法

CREATE PROCEDURE BuildBFromA
AS 
BEGIN
    DECLARE @Numbers TABLE
    (
         Number int Primary Key
    )

    --You get the idea
    INSERT into @Numbers
    VALUES (0),(1),(2),(3)

    --Put your insert query here.
    insert B (b1, bi, bN)
    Select a1, a1, aN
    from a
    join @Numbers n on 1=1
    where DATEADD(a.aN,n.Number,a.ai) = convert(date,getdate())
END
GO

这是添加预定作业的语法

USE msdb ;
GO
EXEC dbo.sp_add_job
    @job_name = N'Build B' ;
GO
EXEC sp_add_jobstep
    @job_name = N'Build B',
    @step_name = N'Insert Rows in B based on A',
    @subsystem = N'TSQL',
    @command = N'EXECUTE BuildBFromA', 
    @retry_attempts = 5,
    @retry_interval = 5 ;
GO
EXEC dbo.sp_add_schedule
    @schedule_name = N'RunEveryMinute',
    @freq_type = 4,
    @active_start_time = 233000;
USE msdb ;
GO
EXEC sp_attach_schedule
   @job_name = N'Build B',
   @schedule_name = N'RunEveryMinute';
GO
EXEC dbo.sp_add_jobserver
    @job_name = N'Build B';
GO

通常,我会在SQLFiddle.com上创建一个示例,但是该站点现在似乎无法正常工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从TEXT列插入SQL Server 2014中的XML列

来自分类Dev

在C#中自动递增非主键(SQL Server 2014)

来自分类Dev

SQL Server 2008中的自动行删除

来自分类Dev

当新行插入到SQL Server 2008 DB中时,将新行自动添加到Repeater Control中

来自分类Dev

SQL Server 2014中的NullReferenceException

来自分类Dev

SQL Server 2014 中的聚合

来自分类Dev

将(文本)行转换为SQL Server 2014中的列

来自分类Dev

在 SQL Server 2014 中执行批量插入和解密对称密钥

来自分类Dev

SQL Server 2014 Express中缺少SQL Server Management Studio

来自分类Dev

在SQL Server中插入XML

来自分类Dev

使用Java在SQL Server中插入大量行的更好方法?

来自分类Dev

SQL Server 2014内存中OLTP与Redis

来自分类Dev

SQL Server 2014中的窗口函数

来自分类Dev

在SQL Server 2014中查询XML

来自分类Dev

SQL Server 2014中的动态枢轴

来自分类Dev

在 SQL Server 2014 中查询 XML 数据

来自分类Dev

SQL Server 2014 中的列名称无效

来自分类Dev

SQL Server 2014和SQL Server 2012

来自分类Dev

批量插入到SQL Server 2014 DateTime格式的Python代码

来自分类Dev

SQL Server 2014 SSIS导入向导-如何插入GUID值

来自分类Dev

SQL Server 2014插入/更新带有秒数的smalldatetime值

来自分类Dev

熊猫插入SQL Server

来自分类Dev

SQL Server随机插入

来自分类Dev

SQL Server插入查询

来自分类Dev

SQL Server存储过程-插入新行

来自分类Dev

以指定顺序返回Sql Server插入的行

来自分类Dev

SQL Server:在未插入的行上触发

来自分类Dev

选择行并插入查询-SQL Server

来自分类Dev

在SQL Server中的查询中插入数据