有没有办法在FUNCTION调用中使用FOR LOOP变量。例如,我有一个返回字符串的简单函数。我从一个过程调用该函数,并传递两个参数,其中一个参数是来自FOR LOOP的变量:
toolbar
我收到错误:必须声明组件'ID'。我还尝试将FOR LOOP值添加到局部变量,但得到相同的结果。有什么想法吗?
答案 0 :(得分:0)
如果它对某人有帮助,IOT解决了我必须删除围绕id As "id"
的双引号的问题。
答案 1 :(得分:0)
为什么不使用集合,而不是使用正则表达式来解析分隔列表:
create or replace package body TEST_JNS is
FUNCTION f_display_msg(var IN VARCHAR2,
num IN NUMBER)
RETURN VARCHAR2 IS
BEGIN
RETURN num || '#: ' || var || ' world';
END f_display_msg;
PROCEDURE main
AS
TYPE numberlist IS TABLE OF INTEGER;
l_name VARCHAR2(100) := 'hello';
v_list numberlist := numberlist( 1, 2, 3 );
BEGIN
l_name := 'hello';
FOR i IN 1 .. v_list.COUNT LOOP
dbms_output.put_line( f_display_msg( l_name, v_list(i) ));
END LOOP;
END main;
end TEST_JNS;