CREATE OR REPLACE FUNCTION abc (
p_table_name IN VARCHAR2
)
RETURN VARCHAR2
IS
v_var varchar(200);
v_data VARCHAR2 (4000);
CURSOR cur_column_list
IS
SELECT column_name AS col_name
FROM all_tab_cols
WHERE table_name = p_table_name;
BEGIN
open cur_column_list;
loop
fetch cur_column_list into v_var;
exit when cur_column_list%notfound;
v_data := v_data || ' -- ' || v_var;
END LOOP;
RETURN v_data;
EXCEPTION
WHEN OTHERS
THEN
dbms_output.put_line(sqlerrm);
END;
/
致电时从select语句功能从select语句
select abc('pqr') FROM DUAL ;
abc('PQR')
1 row selected.
没有输出检索和PQR中有40列时调用返回空字符串。
当你从光标自己运行select时,它是否返回行? –
@Hallainzil:是的,它返回40条记录 – gaurav
为什么给消极的声誉? – gaurav