求SQL表对表复制指定列的语句

擒兽 2006-01-20 11:29:37
表[A]为总表 SQLServer库,内有若干列。
表[B]为一个Excel中的表,有部分列与表[A]想同。

希望快速将表[B]中的大量数据快速 插入到表[A] 每条数据附带一个相同的变量 插入到[A]的一个字段。

谢谢,测试通过立即结帖。

-----------------------------------------------------
现在已经Conn1连了SQLServer和Conn2连了Excel。
...全文
242 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
擒兽 2006-01-21
  • 打赏
  • 举报
回复
WEB ASP 调用 DTS 麻烦
擒兽 2006-01-21
  • 打赏
  • 举报
回复
测试不通过

SQL 查询分析器 返回错误:插入错误: 列名或所提供值的数目与表定义不匹配。
zlp321002 2006-01-20
  • 打赏
  • 举报
回复
--用DTS,实现数据的导入,参考:

http://blog.csdn.net/zlp321002/archive/2005/11/19/533177.aspx
funsuzhou 2006-01-20
  • 打赏
  • 举报
回复
insert into 表A select ...... from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;IMEX=1;DATABASE=Excel的路径',Sheet名$)

例如表A有字段A、B、C、D,B的默认值是0,D的默认值是NULL
表B有字段A、C
Excel的Sheet名为“Sheet1”,路径在服务器上的“D:\DB_BACKUP\TEST.XLS”

可以这样:
insert into 表A select A,0,C,NULL from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;IMEX=1;DATABASE=D:\DB_BACKUP\TEST.XLS',Sheet1$)
-狙击手- 2006-01-20
  • 打赏
  • 举报
回复
insert into a(col......)
SELECT bb.col....
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'c:\MSOffice\Access\Samples\northwind.mdb';'admin';'mypwd', b)
AS bb
擒兽 2006-01-20
  • 打赏
  • 举报
回复
附加:

[B]中的字段相对应的插入到[A]中的字段。
擒兽 2006-01-20
  • 打赏
  • 举报
回复
to funsuzhou

insert into 表A select A,0,C,NULL from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;IMEX=1;DATABASE=D:\DB_BACKUP\TEST.XLS',Sheet1$)

需要考虑[A]的顺序不?
lvchy 2006-01-20
  • 打赏
  • 举报
回复
我也建议用DTS导入,对大量的数据操作速度很快。
擒兽 2006-01-20
  • 打赏
  • 举报
回复
开会去了... 不知几时回来,回来了再测试,希望有更全面的。
rfq 2006-01-20
  • 打赏
  • 举报
回复
学习

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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