Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从sql server的多个表中复制和删除数据_Sql_Sql Server - Fatal编程技术网

如何从sql server的多个表中复制和删除数据

如何从sql server的多个表中复制和删除数据,sql,sql-server,Sql,Sql Server,我有一个这样的表:这个表名是Transaction\u tbl。像这样的领域: transactid Tbarcode dtime 1 100 2013-04-16 14:15:47.243 2 101 2013-05-10 10:15:47.243 3 102 2014-02-20 02:15:48.000 transactid Hbarcode 1

我有一个这样的表:这个表名是Transaction\u tbl。像这样的领域:

transactid   Tbarcode     dtime

1            100          2013-04-16 14:15:47.243
2            101          2013-05-10 10:15:47.243
3            102          2014-02-20 02:15:48.000
transactid   Hbarcode
1             21
2             22
3             23
select * into Transaction2013
    from Transaction_tbl
    where dtime <='2013-12-30'


    select k.transactid,k.tid,k.Requested,k.HBarcode,k.Reqloc,k.Delivered into Khanger2013
     from KHanger_tbl k
    inner join Transaction_tbl t
    on t.transactID=k.transactid
    where t.dtime <='2013-12-30'
在这张桌子上

 transactid   is primary key
我还有一个这样的表:这个表名是KHanger_tbl.field,如下所示:

transactid   Tbarcode     dtime

1            100          2013-04-16 14:15:47.243
2            101          2013-05-10 10:15:47.243
3            102          2014-02-20 02:15:48.000
transactid   Hbarcode
1             21
2             22
3             23
select * into Transaction2013
    from Transaction_tbl
    where dtime <='2013-12-30'


    select k.transactid,k.tid,k.Requested,k.HBarcode,k.Reqloc,k.Delivered into Khanger2013
     from KHanger_tbl k
    inner join Transaction_tbl t
    on t.transactID=k.transactid
    where t.dtime <='2013-12-30'
在我的KHanger_tbl中,此Transaction ID是foregin密钥


我想移动日期范围我认为您可以通过使用触发器来实现这一点,为事务表\u tbl创建delete触发器,因为您说过,同时对应的Khanger_表数据需要移动名为Khanger2013的表,在事务\u tbl上创建触发器[dbo].[trgTransaction\u tblForMove]

删除

作为


编写类似以下内容的查询:

transactid   Tbarcode     dtime

1            100          2013-04-16 14:15:47.243
2            101          2013-05-10 10:15:47.243
3            102          2014-02-20 02:15:48.000
transactid   Hbarcode
1             21
2             22
3             23
select * into Transaction2013
    from Transaction_tbl
    where dtime <='2013-12-30'


    select k.transactid,k.tid,k.Requested,k.HBarcode,k.Reqloc,k.Delivered into Khanger2013
     from KHanger_tbl k
    inner join Transaction_tbl t
    on t.transactID=k.transactid
    where t.dtime <='2013-12-30'

如果您的外键用on delete级联修饰,则从父表中删除行将自动删除子表中的行。关于数据副本,您尝试了什么?在这一行显示错误从KHanger_tbl内部加入事务\u tbl删除…关键字“inner”附近的语法不正确。我编写的查询不是这样的:在事务\u tbl上从KHanger_tbl内部加入事务\u tbl选择*进入Khanger2013。Transaction ID=KHanger_tbl.Transaction ID和Transaction_tbl.dtime先生..如果我在事务2013中插入select*from Transaction\u tbl where dtime,那么我可以这样给出:select*from Transaction2013 from Transaction\u tbl where dtime我想在执行QUERY时创建新表。很抱歉,脚本有点乱。请复制所有内容,然后格式化。我会检查并让你知道吗?在创建触发器之后,然后执行sql:delete from Transaction\u tbl where dtime在执行触发器时我得到错误:“trgTransaction\u tblForMove”附近的语法不正确。我不知道为什么,但我无法很好地格式化脚本。现在可以了吗?这是我第一次发布,请原谅我。