SQL语句循环一张表的一个字段ID,根据这个字段的内容去修改另一张表,
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL语句循环一张表的一个字段ID,根据这个字段的内容去修改另一张表,相关的知识,希望对你有一定的参考价值。
比如A表有5行记录,B表有5行记录,查出A表一条就去遍历修改B表中的某一行,
循环查询25次以下的,
SQL语句能实现吗?
T-SQL自己就可以搞定,这点比ORACLE的PL/SQL强大多了。
具体写法如下
update B set B.字段1 = A.字段1, B.字段2 = A.字段2 from A where a.id = b.id;
如果你非想写循环也可以,利用游标可以实现,不过需要2个游标
declare c_a cursor for select id from A;
declare @id int;
open c_a;
fetch next from c_a into @id;
while @@fetch_status=0
begin
declare c_b cursor for select id from B;
declare @id2 int;
open c_b;
fetch next from c-b into @id2;
while @@fetch_status=0
begin
if @id=@id2
begin
update b set 字段='具体值' where id=@id2;
end;
fetch next from c_b into @id2;
end;
close c_b;
deallocate c_b;
fetch next from c_a into @id;
end;
close c_a;
deallocate c_a; 参考技术B update a set a.字段=b.字段 from a,b where a.id=b.id追问
SQL2000可以啊,Oracle就不行了,还好,谢谢了
追答oracle 也是一样的
本回答被提问者采纳 参考技术C 触发器追问怎么做呢?SQL语句大概写下就行了
追答触发器不是查询出发的
需要通过insert delete update等
如果是触发器可以参考下面这个
http://zhidao.baidu.com/question/87812894.html
其他根据需求自行更改
一张表怎么与一张表的一个字段的关联获取它的id值
b表关联a表中的一个字段并获取的id值作为b表的一个字段该怎么写?直接用sql语句还是注解什么的?
一张表怎么与一张表的一个字段的关联获取它的id值的方法。
如下参考:
1.第一步是创建数百个不相关的表,但是请注意,必须对表使用与主键表相同的数据类型作为外键表。
2.设置可以唯一标识为主键的行,其他表与跟踪类似。
3.接下来,添加关系,如下所示。
4.通过拖动添加特殊关系,如下图。
5.创建表STUDENT()——SnoCHAR(10)主键,SnameCHAR(10)UNIQUE,SsexCHAR(2),SageSMALLINT,SdeptCHAR(10)。
参考技术A 例如:两个表中的news_type_id 跟 type_id是对应的,根据NEWS 表中的 news_type_id =1 查出 news_type 表中的 type_name根据 NEWS表中的 news_type_id = 1 查出 news_type表中的 “透明点评” 这条数据,“透明点评”是最后需要查出来的位置数据。
以上是关于SQL语句循环一张表的一个字段ID,根据这个字段的内容去修改另一张表,的主要内容,如果未能解决你的问题,请参考以下文章
SQL SERVER,一张表中,有多个字段关联另一张表,怎么写SQL语句?