2

我对 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;
4

2 回答 2

4

你不需要 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 || '%'
于 2013-08-08T06:42:28.763 回答
-1

这行得通。

INSERT INTO previously_made_table VALUES(c.name, d.customer_id, d.alt_name, '101');

我剪切了列名。希望有帮助。

于 2013-08-08T20:40:33.290 回答