oracle存储过程查询(oracle查找存储过程用到的表)
- 软件开发
- 2023-08-13
- 414
老铁们,大家好,相信还有很多朋友对于oracle存储过程查询和oracle查找存储过程用到的表的相关问题不太懂,没关系,今天就由我来为大家分享分享oracle存储过程查...
老铁们,大家好,相信还有很多朋友对于oracle存储过程查询和oracle查找存储过程用到的表的相关问题不太懂,没关系,今天就由我来为大家分享分享oracle存储过程查询以及oracle查找存储过程用到的表的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
oracle怎么执行存储过程跟函数
调用oracle存储过程用begin...end的方式。
基本语法:
begin存储过程名(参数1,参数2……);--如果无参数则省略括号及括号内部分end;
如,有存储过程:
createorreplaceprocedurep_testasv_begintimevarchar2(20);v_endtimevarchar2(20);v_strvarchar2(10);beginv_begintime:=to_char(sysdate,'yyyy-mm-ddhh24:mi:ss');select'badkano'intov_strfromdual;v_endtime:=to_char(sysdate,'yyyy-mm-ddhh24:mi:ss');dbms_output.put_line('开始时间为:'||v_begintime);dbms_output.put_line('结束时间为:'||v_endtime);end;
执行:beginp_test;end;
oracle存储过程,描述正确的
我的回答:oracle存储过程是编译好的并且存储在数据库服务器中的程序代码。存储过程有名字及自己的参数,但是存储过程没有返回值。一个存储过程就是一组命名的PL/SQL语句。
在oracle中如何查看存储过程创建信息
ELECT*FROMALL_SOURCEwhereTYPE='PROCEDURE'ANDTEXTLIKE'%0997500%';--查询ALL_SOURCE中,(脚本代码)内容与0997500模糊匹配的类型为PROCEDURE(存储过程)的信息。根据GROUPBYTYPE该ALL_SOURCE中只有以下5种类型1FUNCTION2JAVASOURCE3PACKAGE4PACKAGEBODY5PROCEDURE
oracle存储过程中查询动态表名
先建立结果表,也就是存放你最终结果的表
createtabletest
(avarchar2(100),
bvarchar2(100));
然后建立存储过程
createprocedurep_insert
as
cursorcur_tbnameis
select'insertintotestselectcol1,col2from'||table_name
fromuser_tableswheretable_namelike'AA____BB';--这个位置的表名必须大写的A和B,col1和col2换成你实际的字段名称
begin
opencur_tbname;
loop
fetchcur_tbnameintov_sql;
exitwhencur_tbname%notfound;
executeimmediatev_sql;
commit;
endloop;
end;
我最终没测试,你自己测试一下,看哪有问题吧
oracle的存储过程查询整张表返回结果
创建返回结果集的函数SQL>createorreplacepackagepkg_HelloWorldas2--定义refcursor类型3typemyrctypeisrefcursor;4--函数申明5functiongetHelloWorldreturnmyrctype;6endpkg_HelloWorld;7/程序包已创建。SQL>CREATEORREPLACEpackagebodypkg_HelloWorldas2functiongetHelloWorldreturnmyrctype3IS4return_cursormyrctype;5BEGIN6OPENreturn_cursorFOR7SELECT'Hello
1'ASa,'World1'ASBFROMdual8UNIONALL9SELECT'Hello
2'ASa,'World2'ASBFROMdual;10returnreturn_cursor;11ENDgetHelloWorld;12endpkg_HelloWorld;13/程序包体已创建。注:Oracle这里的函数,是一个返回游标类型的函数,不是像SQLServer的那种叫“表值函数”的东西。因此下面的写法会报错。SQL>SELECT*FROMpkg_HelloWorld.getHelloWorld();SELECT*FROMpkg_HelloWorld.getHelloWorld()*第1行出现错误:ORA-00933:SQL命令未正确结束SQL>SELECTpkg_HelloWorld.getHelloWorld()FROMdual;PKG_HELLOWORLD.GETHE--------------------CURSORSTATEMENT:1CURSORSTATEMENT:1AB--------------Hello1World1Hello2World2
OK,本文到此结束,希望对大家有所帮助。
本文链接:http://xinin56.com/ruanjian/986.html