如何从sql server的多个表中复制和删除数据
我有一个这样的表:这个表名是Transaction\u tbl。像这样的领域:如何从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
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”附近的语法不正确。我不知道为什么,但我无法很好地格式化脚本。现在可以了吗?这是我第一次发布,请原谅我。