我创建了一个简单的Oracle类型:
create or replace TYPE MY_TYPE AS OBJECT (ID NUMBER(30), NAME VARCHAR2(20));
然后,我创建了第二个表类型:
create or replace TYPE MY_TYPE_TABLE AS TABLE OF MY_TYPE;
最后,我创建了一个简单的函数:
create or replace FUNCTION my_function(line_id IN NUMBER) RETURN MY_TYPE_TABLE
AS
return_data MY_TYPE_TABLE := MY_TYPE_TABLE();
BEGIN
return_data.EXTEND;
return_data(return_data.count) := (MY_TYPE(10, 'BOB')) ;
return_data.EXTEND;
return_data(return_data.count) := (MY_TYPE(11, 'ALAN')) ;
RETURN return_data;
END SETTLEMENT_NET_TRACKING;
我的问题:如何运行这样的结果:
10 BOB
11 ALAN
很热吗?
答案 0 :(得分:2)
如果您正在寻找登录该方法,您可以使用DBMS_OUTPUT登录标准输出或使用UTL_FILE登录到文件。我在之前的问题中建议,如果你设计的东西比一个简单的应用程序更大,你将需要创建一个自定义日志记录包。
对于你的问题,它看起来像这样:
dbms_output.enable;
for i in return_data.first..return_data.last loop
dbms_output.put_line(return_data(i).id || ' ' || return_data(i).name);
end loop;
您需要在客户端应用程序中启用输出。对于SQLPlus,在调用API之前,您将使用SET SERVEROUT ON。
答案 1 :(得分:1)
您也可以
select * from table(my_function(30))