CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

如何根据一个数据库中的表更新两一个数据库对应的表? 在线等 ...

楼主szztao(szztao)2005-03-04 11:47:19 在 MS-SQL Server / 应用实例 提问

两个数据库中有多个表结构完全相同,先需要通过数据库B更新数据库A中同名的表,  
  请问有没有简单的方法?要求:  
  1、更新语句最好除了主键字段外不涉及其他具体字段名  
  2、由于数据库A中的表存在外键,所以不能直接删除以免删除掉外键关联表的信息  
   
    请问有没有好方法? 问题点数:100、回复次数:7Top

1 楼pbsql(风云)回复于 2005-03-04 12:00:32 得分 10

类似这样:  
  update   a..table1   set   col=b..table1.col   from   b..table1   where   a..table1.id=b..table1.idTop

2 楼hdhai9451(☆新人类☆)回复于 2005-03-04 12:03:03 得分 10

update   tabA  
  set   col=a.col,col2=a.col2  
  from   tabB   a  
  where   id=a.idTop

3 楼szztao(szztao)回复于 2005-03-04 12:06:28 得分 0

上面两位的方案都涉及到具体的字段名了,不好   :(      
  我的要求类似于数据库表的同步,但希望自己用存储过程实现,同时表的字段都比较多(30多个)  
  有没有好方法???   谢了!!!Top

4 楼zheninchangjiang(徐若涵)回复于 2005-03-04 12:11:32 得分 40

update肯定是要涉及列的  
  alter   table   tablname   disable   constraint   all  
  go  
  delete   tablename  
  insert   into   tablename   select   *   from   b..tablename  
   
  alter   table   tablename   enable   constraint   all  
  goTop

5 楼pbsql(风云)回复于 2005-03-04 12:12:09 得分 10

你不涉及到具体的字段名又怎么更新呢,从系统表里取更麻烦Top

6 楼zjcxc(邹建)回复于 2005-03-04 12:12:40 得分 30

用sql的发布/订阅吧,存储过程要写的话,估计得累死  
   
  而且因为主键的关系,如果一个表的数据连主键值都改了,而且改的是多条记录的话,在触发器中就无法对应新/旧记录,这样就势必限制只允许修改一条记录,这在有外键的表中往往是不现实的  
   
  而且,要实现即时更新的话,必须用触发器来取得当前操作的记录情况,这就势必为所有要同步的表写触发咕嘟Top

7 楼szztao(szztao)回复于 2005-03-04 12:28:44 得分 0

zheninchangjiang(我爱燕子)   的方法也许不错,值得试试,先谢过了!  
   
    zjcxc(邹建)   老兄分析的也挺仔细的。  
   
    好好,多谢多谢各位!!!Top

相关问题

  • 数据库的多表更新问题?
  • 关于数据库表更新的问题,各位来来!!本人在线等!
  • 把DataSet表中的数据更新到数据库(急急急!!!在线等.....)
  • 多线程更新数据库问题
  • 数据库更新不了,在线等!!!!!
  • 数据库的更新(在线等待)
  • 更新数据库,在线等
  • 数据库更新
  • 数据库更新?
  • 数据库更新

关键词

  • 数据库
  • 表
  • 字段名
  • 更新
  • col
  • 涉及
  • 记录
  • table1
  • 方法
  • 具体

得分解答快速导航

  • 帖主:szztao
  • pbsql
  • hdhai9451
  • zheninchangjiang
  • pbsql
  • zjcxc

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo