oracle - 如何将 INSERT INTO 与此 PL/SQL 代码块一起使用?

标签 oracle for-loop plsql sql-insert sql-like

我对 PL/SQL 的过程语言方面相当陌生,所以如果这是基本的,请原谅我。

我试图将值放入我之前在此代码块之外创建的表中。该代码当前在第六行出现错误。知道为什么吗?

BEGIN
  FOR c IN (SELECT name FROM clients) LOOP
    FOR d IN (SELECT customer_id, alt_name FROM customers) LOOP 
      IF d.alt_name LIKE '%' || c.name || '%'
      THEN
            INSERT INTO previously_made_table(name, customer_id, alt_name, customer_code) VALUES(c.name, d.customer_id, d.alt_name, '101');
            COMMIT;
       END IF;
    END LOOP;
END LOOP;
END;

最佳答案

这里不需要 pl\sql

insert into previously_made_table
  (name, customer_id, alt_name, customer_code) 
 select c.name, d.customer_id, d.alt_name, '101'
 from   clients c , customers d
 where  d.alt_name LIKE '%' || c.name || '%'

关于oracle - 如何将 INSERT INTO 与此 PL/SQL 代码块一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18117180/

相关文章:

node.js - 如何等待带有异步请求的循环在 node.js 中完成?

plsql - PL/SQL 检查查询是否返回空

oracle - SQL Developer 中列的检查约束

python - 在带数字的列表中查找按字母顺序排列的第一项

java - 在维护表关系/约束的同时自动生成测试数据

javascript - "place"在此 for 循环中意味着什么

sql - 一个月的天数

java - 一种使用Maven构建工具将plsql部署到Oracle in Java项目中的方法

oracle - 是什么导致了这个 PL/SQL 函数中的数值溢出?

sql - 如何连接两个SELECT语句?