oracle查询的存储过程
① oracle中的存储过程是什么
存储过程是用来简化数据查询和输入的,并且可以把判断语句写进去,但是在实际写程序的时候没有特别的要求千万不要写存储过程.
② 怎么才oracle中查看存储过程
可用语句查看或用第三方工具查看。
一、语句查看方法:
1、执行语句:
sql">SELECTtext
FROMuser_source
WHERENAME='ProcereName'
ORDERBYline;--其中ProcereName为存储过程名字,需要全部用大写英文。
2、如要查P_TEST的存储过程:
SELECTtext
FROMuser_source
WHERENAME='P_TEST'
ORDERBYline;
3、内容如下:
③ 如何查看ORACLE包体内的存储过程
1、打开PL/SQL,新建sql窗口
④ 如何查看oracle的存储过程
使用tode或者Navicat 或者navigtor等连接oracle的工具
找到procere的选项即可查看所有的存储过程,点击某个名字可以看到其中的定义
⑤ Oracle中简单的查询数据的存储过程怎么写
你说是应该通过视图实现,存储过程反而实现不了。语法:create or replace view 视图名 as
select * from 表a,表b
where 表a.关联字段=表b.关联字段;
⑥ 在Oracle中如何查询一个表空间下所有的存储过程啊或者是一个用户下面所有的存储过程
一个用户下面所有的存储过程:
如果有DBA权限
select * from DBA_objects where object_type='PROCEDURE' and owner='user_name'
否则就all_objects
一个表空间下所有的存储过程:
这个应该没有意义
⑦ 关于Oracle的存储过程
1.基本结构
CREATE OR REPLACE PROCEDURE 存储过程名字
(
参数1 IN NUMBER,
参数2 IN NUMBER
) IS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
END 存储过程名字
2.SELECT INTO STATEMENT
将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
例子:
BEGIN
SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx;
EXCEPTION
WHEN NO_DATA_FOUND THEN
xxxx;
END;
...
3.IF 判断
IF V_TEST=1 THEN
BEGIN
do something
END;
END IF;
4.while 循环
WHILE V_TEST=1 LOOP
BEGIN
XXXX
END;
END LOOP;
5.变量赋值
V_TEST := 123;
6.用for in 使用cursor
...
IS
CURSOR cur IS SELECT * FROM xxx;
BEGIN
FOR cur_result in cur LOOP
BEGIN
V_SUM :=cur_result.列名1+cur_result.列名2
END;
END LOOP;
END;
7.带参数的cursor
CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;
OPEN C_USER(变量值);
LOOP
FETCH C_USER INTO V_NAME;
EXIT FETCH C_USER%NOTFOUND;
do something
END LOOP;
CLOSE C_USER;
⑧ Oracle 的存储过程怎么写。
oracle 存储过程的基本语法
1.基本结构
CREATE OR REPLACE PROCEDURE 存储过程名字
(
参数1 IN NUMBER,
参数2 IN NUMBER
) IS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
END 存储过程名字
2.SELECT INTO STATEMENT
将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
例子:
BEGIN
SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx;
EXCEPTION
WHEN NO_DATA_FOUND THEN
xxxx;
END;
...
3.IF 判断
IF V_TEST=1 THEN
BEGIN
do something
END;
END IF;
4.while 循环
WHILE V_TEST=1 LOOP
BEGIN
XXXX
END;
END LOOP;
5.变量赋值
V_TEST := 123;
6.用for in 使用cursor
...
IS
CURSOR cur IS SELECT * FROM xxx;
BEGIN
FOR cur_result in cur LOOP
BEGIN
V_SUM :=cur_result.列名1+cur_result.列名2
END;
END LOOP;
END;
7.带参数的cursor
CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;
OPEN C_USER(变量值);
LOOP
FETCH C_USER INTO V_NAME;
EXIT FETCH C_USER%NOTFOUND;
do something
END LOOP;
CLOSE C_USER;
8.用pl/sql developer debug
连接数据库后建立一个Test WINDOW
在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试
⑨ oracle怎样查看正在执行的存储过程
1、在存储过程中加一个输出参数,执行完存储过程后,判断输出参数的值;
2、查看存储过程中处理数据后,你要的效果达到没有。
⑩ 如何查询oracle库中已经存在的存储过程
命令行:
sqlplus / as sysdba
select name from user_source where type='PROCEDURE';
可查看sys用户下所有存储过程名字
select text from user_source where name='XXX'
可查看该存储过程的内容
plSQLdevloper工具:
左侧找到‘Proceres’,点开之后即可查看当前用户的所有存储过程。
右键点击存储过程,选择‘view’可查看详细信息