sql - PL/SQL 循环游标

标签 sql loops plsql cursor

我的问题并不过分复杂,但我是 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/

相关文章:

sql - SQL (Oracle) 中的递归计算

mysql - 来自多个数据库的 INNER JOIN 上的未知字段

mysql 将子查询保留在连接之外

mysql - 滞后函数中组函数的使用无效

javascript - 换行符不适用于 jQuery .text()

c - 数学 'pow' 函数 gcc 的 SSE 矢量化

MySQL 重复键

java - 如何将数组写入文件Java

oracle - 如何比较不同环境PROD、DEV中的同一张表

oracle - 错误(3,31): PL/SQL: ORA-00984: Column is not allowed here