SQL 数据写入问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 22:49:08
X数据库下A表有a,b,c三个字段,a,b字段有数值,c字段为空,
怎样把Y数据库下B表的d字段写入c字段
不是累加的,是直接写进去。。。
下面四个楼同学的回答我都试过了,不行啊。。。
SQL 2005 麻烦尽量详细点,我比较笨,哈哈

X数据库和Y数据库在一个服务器上,A表和B表要有关联,如果没有关联没法写
假设A表a字段和B表a字段有关联

user X
go
update X..A set X..A.c=Y..B.d
from X..A ,Y..B
WHERE X..A.a=Y..B.a

原则上分三大步实现:
1. use x --打开X数据库
2. select d into m from y..B --将Y数据库B表d字段保存为一个表m
3. update a set c=m.d --修改a表c字段数据
但必须对Y数据库的B表建立游标,因为要把其各个记录的值都插入,记录指针必须改变

重新建个表。
create table 新表名称
as
select a.a,a.b,b.d
from A表 a
left join B表 b
on (AB表关联的字段)

直接写进去,应该有条件的吧,至少应该有一个KEY值去。要不你怎么写。
无规则的写:
先循环 B表
在循环 A表
判断C字段是否为空
如果为空
把B表中D字段写入即可
如果写入成功
成功跳出循环
结束A表循环
结束B表循环

Update

是oracle还是mysql?