如何在sql中循环?

Mem*_*eak 0 oracle plsql

我不想使用"loop"相关的关键字,如何在oracle中使用基本的sql命令实现循环?
我有两张桌子:

A:  
ID, Color    
B,   
ID, AID, Type  
Run Code Online (Sandbox Code Playgroud)

我想循环B中的所有记录,如果ID = AID,则设置A.Color = B.Type
提前谢谢!

duf*_*ymo 9

根据定义,循环是一个程序结构.

SQL是声明性的:告诉数据库你想要做什么,而不是如何做.

如果你完全相信你需要编写这样的东西,那么用PL/SQL(Oracle的程序语言)来编写它.

我确信使用带有WHERE子句的UPDATE可以在SQL中执行您想要的操作.

像这样的东西(根据NullUserException校正):

UPDATE A SET A.Color = (SELECT B.Type FROM B WHERE A.ID = B.AID)
Run Code Online (Sandbox Code Playgroud)