我的问题并不过分复杂,但我是 PL/SQL 的新手。
我需要根据某些条件从 COMPANIES 表中进行选择。然后我需要遍历这些并将一些字段转换为不同的格式(我为此创建了函数),最后使用这个转换后的版本加入引用表以获得我需要的分数变量。所以基本上:
select id, total_empts, bank from COMPANIES where turnover > 100000
循环选择此选项
insert into MY_TABLE (select score from REF where conversion_func(MY_CURSOR.total_emps) = REF.total_emps)
这基本上就是我想要做的。它稍微复杂一些,但我只是在寻找基础知识以及如何开始使用它!
最佳答案
下面是 PL/SQL 中游标循环的基本语法:
BEGIN
FOR r_company IN (
SELECT
ID,
total_emps,
bank
FROM
companies
WHERE
turnover > 100000
) LOOP
INSERT INTO
my_table
SELECT
score
FROM
ref_table
WHERE
ref.total_emps = conversion_func( r_company.total_emps )
;
END LOOP;
END;
/
关于sql - PL/SQL 循环游标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9642078/