1:我想实现如下思路:
数据库DB中有十几个表,我想将表A,B中的数据保存备份(就这2个表).有个要求是,这2个表可以随时还原回去,这里的还原是指不删除后来添加的数据的基础上。而是叠加上去。
比如今天我备份了A,B表,然后删掉其数据,又继续添加新的数据进去,明天我将备份还原回来,但新的数据也在,就是AB表的数据加到新数据上。该如何实现。谢谢。具体思路或代码是怎么样的。2:我有2个表,是主从表,比如A是顾客信息(一条),B表是顾客购买的商品(多条).我可以用select * from A取得顾客的信息,但是我想在这后面加上一列,就是该顾客所购买的产品的备注,也就是从B表中取出所有该顾客的信息做为一个字符串。又该怎么做呢。
谢谢。分不够可以再加.只为解决问题。
数据库DB中有十几个表,我想将表A,B中的数据保存备份(就这2个表).有个要求是,这2个表可以随时还原回去,这里的还原是指不删除后来添加的数据的基础上。而是叠加上去。
比如今天我备份了A,B表,然后删掉其数据,又继续添加新的数据进去,明天我将备份还原回来,但新的数据也在,就是AB表的数据加到新数据上。该如何实现。谢谢。具体思路或代码是怎么样的。2:我有2个表,是主从表,比如A是顾客信息(一条),B表是顾客购买的商品(多条).我可以用select * from A取得顾客的信息,但是我想在这后面加上一列,就是该顾客所购买的产品的备注,也就是从B表中取出所有该顾客的信息做为一个字符串。又该怎么做呢。
谢谢。分不够可以再加.只为解决问题。
insert into a select * from ##a where 主键 not (in select 主键 from a)
就是将主键不存在的记录添加进去.
然后删除临时表2,
create function getinfo(@custId varchar(20)) returns varchar(2000)
as
declare @info varchar(20) --要提取的信息
declare @rt varchar(2000) --返回信息集合
declare cur cursor for select info from 表b where custId =@custId
open cur
fetch next from cur into @info
while @@fetch_status=0
begin
set @rt=@rt+isnull(@info,'')
fetch next from cur into @info
end
close cur
deallocate cur
return isnull(@rt,'')
select a.*,dbo.getinfo(a.curId) from 表A
into 新表名
from 原表名
to2:select A.*, B.顾客信息 from A, B on A.id = B.id
第二个我考虑过游标,但是单纯sql语句可以实现么。谢谢,明天结贴。
如果需要很多其他信息,就需要设计上注意,可能需要增加guid类型字段或时间字段(这个根据需要)
第二个只能增加一个字定义函数来实现