SQL语句循环一张表的一个字段ID,根据这个字段的内容去修改另一张表,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL语句循环一张表的一个字段ID,根据这个字段的内容去修改另一张表,相关的知识,希望对你有一定的参考价值。

比如A表有5行记录,B表有5行记录,查出A表一条就去遍历修改B表中的某一行,
循环查询25次以下的,
SQL语句能实现吗?

参考技术A 不用循环,也不需要触发器。
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语句?

如何用标准SQL语句给一张表中添加多个字段

在SQL中统计一个字段 然后再更新到另一张表的一个字段

一张表怎么与一张表的一个字段的关联获取它的id值

oracle中一张表的字段数值应该是连续的,怎么找出中间中断的数值

sql查询的一个字段是另一张表的数量,怎么把查询到的数量直接在下一个字段使用