我不想使用"loop"相关的关键字,如何在oracle中使用基本的sql命令实现循环?
我有两张桌子:
A:
ID, Color
B,
ID, AID, Type
Run Code Online (Sandbox Code Playgroud)
我想循环B中的所有记录,如果ID = AID,则设置A.Color = B.Type
提前谢谢!
根据定义,循环是一个程序结构.
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)