请问如何导出数据库所有表中的某个id的数据的?

lvyouxiaobu 2015-10-29 11:07:32
sql server
现在想从数据库中导出所有表的数据为sql脚本。 表有300个。
每个表都有C_id

怎样用一条sql把需要的数据导出来的? 谢谢
...全文
128 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2015-10-30
  • 打赏
  • 举报
回复

-- 动态SQL 可以考虑一下
create table x(C_id varchar(60) )
go
create table y(C_id varchar(60) ) 
go
insert into x 
select number from master..spt_values where type ='p' and number between 1 and 5
go
insert into y 
select number from master..spt_values where type ='p' and number between 11 and 15
go
select * from x 
select * from y 
go
declare @sql varchar(max) = ''
select @sql= @sql +' union all select c_id from ' + object_name(id)
  from syscolumns where name ='C_id'
select @sql = substring(@sql,11,len(@sql))
exec ( @sql )
go
drop table x , y
go


(5 行受影响)

(5 行受影响)
C_id
------------------------------------------------------------
1
2
3
4
5

(5 行受影响)

C_id
------------------------------------------------------------
11
12
13
14
15

(5 行受影响)

c_id
------------------------------------------------------------
1
2
3
4
5
11
12
13
14
15

(10 行受影响)


Tiger_Zhao 2015-10-30
  • 打赏
  • 举报
回复
先把表名贴到Excel的A列中,然后用公式在B列生成下面这样的文本
bcp "SELECT * FROM 表名 WHERE C_id = 1234" queryout 表名.txt -c -T

把整个B列文本复制成一个批处理文件,到命令行中执行批处理。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧