在数据库里有几十个表怎么拷贝其中二十个表到另一个新建的空数据库?

bugprophet 2008-03-25 08:51:45
在数据库里有几十个表怎么拷贝其中二十个表到另一个新建的空数据库?
因为有的表我不想要数据,有的又想要原来的数据,所以
要有原来的表结构,和有表结构也有数据,两种
...全文
113 点赞 收藏 17
写回复
17 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ojuju10 2008-03-26
[Quote=引用 15 楼 bugprophet 的回复:]
我什么都不懂,希望能学到点有用的东西, 哪天没有DTS了怎么办...
[/Quote]

手工导入

---有数据的
select * into 新库名.dbo.newtab from tab

--没有数据的
生成脚本后,再新库里面运行
回复
wlinglong 2008-03-26
用DTS吧 方便
回复
bugprophet 2008-03-26
我什么都不懂,希望能学到点有用的东西, 哪天没有DTS了怎么办...
回复
bugprophet 2008-03-26
直接使用DTS(2000)或SSIS(2005)导入导出.


我才不用那个呢, 那样什么都学不会
回复
wugao 2008-03-26
[Quote=引用 3 楼 dawugui 的回复:]
直接使用DTS(2000)或SSIS(2005)导入导出.
[/Quote]
回复
bugprophet 2008-03-26
我根据大家的提示写了下面这个,可转过去的表怎么都没有主键和默认值了啊,之前在表上建立的触发器也没有了, 怎么一起转过去啊?

declare @name varchar(40)

declare t_cursor cursor for
select name from sysobjects where type='U'

open t_cursor

fetch next from t_cursor into @name

while @@fetch_status=0
begin
if exists(select 1 from sysobjects where name=@name and name in ('OAInfo'))
exec('select * into test..'+@name+' from '+@name)
else if exists(select 1 from sysobjects where name=@name and name in ('Address'))
exec('select * into test..'+@name+' from '+@name+' where 1<>1')
fetch next from t_cursor into @name
end

close t_cursor
deallocate t_cursor

go
回复
hery2002 2008-03-25
[Quote=引用 6 楼 roy_88 的回复:]
因为有的表我不想要数据,有的又想要原来的数据?
-----------
SQL没有人工智能化
只有判断条件
[/Quote]
按照老乌龟说的,如果是2K,用DTS.如果是2K5,用SSIS.
导入有两种选择方式,一种是全表导入,一种是按照你需要的查询条件导入.都满足你的要求.
回复
cxmcxm 2008-03-25
在企业管理器中使用"导入/导出"数据功能
回复
中国风 2008-03-25
use 旧库
go
exec sp_msforeachtable 'select * into 新库.? from ? where exists(select 1 from tableName where Name=''?'')'--子查询里输入条件判断就行了
回复
bugprophet 2008-03-25
我的意思是我有一个列表,里面都是要数据的表,还有个列表,里面的表只要表结构,空数据就可以
回复
fcuandy 2008-03-25
[Quote=引用 6 楼 roy_88 的回复:]
因为有的表我不想要数据,有的又想要原来的数据?
-----------
SQL没有人工智能化
只有判断条件
[/Quote]
回复
中国风 2008-03-25
因为有的表我不想要数据,有的又想要原来的数据?
-----------
SQL没有人工智能化
只有判断条件
回复
中国风 2008-03-25
exec sp_msforeachtable 'select *  into web.?  from ?'
回复
internetroot 2008-03-25
select * into p..t2 from t1  --有结构有数据
select * into p..t2 from t1 where 1=2 --有结构无数据
回复
dawugui 2008-03-25
直接使用DTS(2000)或SSIS(2005)导入导出.
回复
中国风 2008-03-25
exec sp_msforeachtable 'select * into [web].[dbo].[?] from ?'
回复
liangCK 2008-03-25
使用游标循环表..

循环sysobjects的xtype='U'为用户表..
再判断name是否为你想保留数据的表..
如果是,,则select * into 新库.dbo.表 from 表
不是,,则.select * into 新库.dbo.表 from 表 where 1=2
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-03-25 08:51
社区公告
暂无公告