Oracle Sql:怎样从进程输出表
发布时间:2021-01-19 01:41:28 所属栏目:站长百科 来源:网络整理
导读:我有一张桌子A(a1,a2,a3); 我想写一个这样的措施: CREATE OR REPLACE PROCEDURE BASBEGIN...................SELECT * FROM A;END 这样当我做EXECUTE B时; 它应该输出表A. 如在select * from A中所产生的那样; 看到我实行了其他谜底,但它不得当我,这就是我
我有一张桌子A(a1,a2,a3); 我想写一个这样的措施: CREATE OR REPLACE PROCEDURE B AS BEGIN ......... .......... SELECT * FROM A; END 这样当我做EXECUTE B时; 它应该输出表A. 如在select * from A中所产生的那样; 看到我实行了其他谜底,但它不得当我,这就是我宣布这个题目的缘故起因 办理要领SQL Server(我信托你暗示你来自另一个题目)与Oracle差异.您不能只有一个执行查询的进程.您可以将进程界说为具有SYS_REFCURSOR范例的OUT参数. CREATE OR REPLACE PROCEDURE b( p_rc OUT SYS_REFCURSOR ) AS BEGIN OPEN p_rc FOR SELECT * FROM a; END; 然后,您的进程的挪用者必要知道怎样从该引用游标获取并对功效执行故意义的操纵.假如您行使的是SQL * Plus SQL> variable rc refcursor; SQL> exec b( :rc ); SQL> print rc 假如您行使的不是SQL * Plus,代码也许会有所差异. 可能,您的进程可以返回PL / SQL荟萃.可能它可所以流水线表函数而不是进程,在这种环境下,您可以在查询的FROM子句中行使它. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |