同一个服务器上两个数据库之间做数据转移 求语句

zhangyuhan1984 2007-07-10 10:47:41
GC_DevUser库中gc_department表
dp_id int
dp_parentid int
dp_name varchar(100)
dp_sort_seq int


DevTrackerMy库中Organization表
Id int
Name nvarchar(50)
State bit
ParentId int
OrgTypeId int

dp_name与Name对应 dp_parentid与ParentId对应其他不用考虑



...全文
1481 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
wgqqgw 2007-07-12
  • 打赏
  • 举报
回复
如果用SSIS,能不能做到:根据主键,已存在的做update,不存在的做insert?
chuxue1342 2007-07-11
  • 打赏
  • 举报
回复
自动增长的不管!
jiahuafu 2007-07-11
  • 打赏
  • 举报
回复
insert ...select应该可以解决,id是自增的不用管他
qualylee 2007-07-11
  • 打赏
  • 举报
回复
mark .
采用“..",DTS.
还有用户权限问题。
echiynn 2007-07-10
  • 打赏
  • 举报
回复
既然Id是自增列並且是主鍵,那insert的時候就不要出現這一列了

insert DevTrackerMy.dbo.Organization(Name,Describe,State,ParentId,Email,OrgTypeId)
select dp_name,'1','False',dp_parentid,'1','1' from GC_DevUser.dbo.gc_department
zhangyuhan1984 2007-07-10
  • 打赏
  • 举报
回复
我是这么写的
Set Identity_Insert DevTrackerMy.dbo.Organization On
insert into DevTrackerMy.dbo.Organization(Id,Name,Describe,State,ParentId,Email,OrgTypeId )
select dp_id,dp_name,'1','False',dp_parentid,'1','1' from
GC_DevUser.dbo.gc_department
Set Identity_Insert DevTrackerMy.dbo.Organization OFF

把主见和自增去掉后报
Msg 8106, Level 16, State 1, Line 1
Table 'DevTrackerMy.dbo.Organization' does not have the identity property. Cannot perform SET operation.
zhangyuhan1984 2007-07-10
  • 打赏
  • 举报
回复
SSIS怎么实现?
zhangyuhan1984 2007-07-10
  • 打赏
  • 举报
回复
拿Id做的主建
CityBoy1984 2007-07-10
  • 打赏
  • 举报
回复
可以考虑用SSIS来实现!可以实现不同的数据库之间的数据的传递!
echiynn 2007-07-10
  • 打赏
  • 举报
回复
Organization表是拿哪些字段做主鍵的,樓主知道嗎
echiynn 2007-07-10
  • 打赏
  • 举报
回复
....

主鍵重複
zhangyuhan1984 2007-07-10
  • 打赏
  • 举报
回复
Msg 2627, Level 14, State 1, Line 2
Violation of PRIMARY KEY constraint 'PK__Organization__65370702'. Cannot insert duplicate key in object 'dbo.Organization'.
这个是什么问题?
echiynn 2007-07-10
  • 打赏
  • 举报
回复
Msg 339, Level 16, State 1, Line 1
DEFAULT or NULL are not allowed as explicit identity values
-----------------

說明Organization表的Id列是自增列


試試這個:
insert DevTrackerMy.dbo.Organization
select dp_name, null, dp_parentid, null
from GC_DevUser.dbo.gc_department
昵称被占用了 2007-07-10
  • 打赏
  • 举报
回复
如果随便取值,试下

insert GC_DevUser..gc_department(dp_parentid,dp_name,dp_sort_seq )
select ParentId,Name,0 from DevTrackerMy..Organization

或者

insert DevTrackerMy..Organization( ParentId,Name,State,OrgTypeId)
select dp_parentid,dp_name,0,0 from GC_DevUser..gc_department

昵称被占用了 2007-07-10
  • 打赏
  • 举报
回复
从错误看,其他字段有非空而且没有default的

你必须确定这些字段如何取值才能改好语句

echiynn 2007-07-10
  • 打赏
  • 举报
回复
用SQL比較牛X,嘿嘿
fa_ge 2007-07-10
  • 打赏
  • 举报
回复
為什么不用dts
zhangyuhan1984 2007-07-10
  • 打赏
  • 举报
回复
有这个错误啊
zhangyuhan1984 2007-07-10
  • 打赏
  • 举报
回复
Msg 339, Level 16, State 1, Line 1
DEFAULT or NULL are not allowed as explicit identity values.
hrb2008 2007-07-10
  • 打赏
  • 举报
回复
首先用户有权限:
insert into DevTrackerMy.dbo.Organization(Id,Name,State,ParentId,OrgTypeId )
select null,dp_name,null,dp_parentid,null from
GC_DevUser.dbo.gc_department

加载更多回复(2)

34,590

社区成员

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

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