oracle存储过程中的执行
Ⅰ oracle 中用什么命令执行一个带参数的存储过程
具体如下:
1、第一步,创建一个新的存储过程,见下图,转到下面的步骤。
Ⅱ oracle怎样查看正在执行的存储过程
1、在存储过程中加一个输出参数,执行完存储过程后,判断输出参数的值;
2、查看存储过程中处理数据后,你要的效果达到没有。
Ⅲ 请问oracle怎么执行存储过程
我试验过了,就是exec 存储过程名或者execute 存储过程名(参数),请你在仔细确认一下,你的存储过程名写没写对呀,或者你没有进入sqlplus中?
----
以上,希望对你能有帮助。
Ⅳ oracle存储过程中如何执行动态SQL语句
有时需要在oracle
存储过程
中执行动态SQL
语句
,例如表名是动态的,或字段是动态的,或查询命令是动态的,可用下面的方法:
set
serveroutput
on
declare
n
number;
sql_stmt
varchar2(50);
t
varchar2(20);
begin
execute
immediate
'alter
session
set
nls_date_format=''YYYYMMDD''';
t
:=
't_'
||
sysdate;
sql_stmt
:=
'select
count(*)
from
'
||
t;
execute
immediate
sql_stmt
into
n;
dbms_output.put_line('The
number
of
rows
of
'
||
t
||
'
is
'
||
n);
end;
如果动态SQL
语句
很长很复杂,则可用包装.
CREATE
OR
REPLACE
PACKAGE
test_pkg
IS
TYPE
cur_typ
IS
REF
CURSOR;
PROCEDURE
test_proc
(v_table
VARCHAR2,t_cur
OUT
cur_typ);
END;
/
CREATE
OR
REPLACE
PACKAGE
BODY
test_pkg
IS
PROCEDURE
test_proc
(v_table
VARCHAR2,t_cur
OUT
cur_typ)
IS
sqlstr
VARCHAR2(2000);
BEGIN
sqlstr
:=
'SELECT
*
FROM
'||v_table;
OPEN
t_cur
FOR
sqlstr;
END;
END;
/
在oracle
中批量导入,导出和删除表名以某些字符开头的表
spool
c:\a.sql
select
'drop
table
'
||
tname
||
';'
from
tab
where
tname
like
'T%';
spool
off
@c:\a
Ⅳ oracle 存储过程执行
发两个例子你仔细看。
--1.存储过程
create or replace procere print(msg varchar2)
is
begin
dbms_output.put_line(msg);
end;
--1.1 调用存储过程
execute print('helloworld');
--1.3 传递参数
create or replace procere myabs(p_num1 IN number,p_num2 OUT number)
is
begin
if p_num1 >0 then
p_num2 := p_num1;
else
p_num2 := (0 - p_num1);
end if;
end;
--调用
declare
v_result number;
begin
myabs(-987,v_result);
print(v_result);
end;
打字不易,如满意,望采纳。
Ⅵ 存储过程在oracle数据库内的执行情况
是不是没有做commit一类的工作,你执行测试时,是一个session,所以可以看到,如果全部执行执行,一定是通过另一个session在看,所以执行完要关闭命令窗口让系统自动commit一下或手工做一下commit,再试试吧
Ⅶ oracle 数据库 怎么执行存储过程
一。 概述Oracle存储过程开发的要点是:
1; 使用Notepad文本编辑器,用Oracle PL/SQL编程语言写一个存储过程;
2; 在Oracle数据库中创建一个存储过程;
3; 在Oracle数据库中使用SQL*Plus工具运行存储过程;
4; 在Oracle数据库中修改存储过程;
5; 通过编译错误调试存储过程;
6; 删除存储过程;二。环境配置
包括以下内容:
1; 一个文本编辑器Notepad;
2; Oracle SQL*Plus工具,提交Oracle SQL和PL/SQL 语句到Oracle database。
3; Oracle 10g express数据库,它是免费使用的版本;
需要的技巧:
4; SQL基础知识,包括插入、修改、删除等
5; 使用Oracle's SQL*Plus工具的基本技巧;
6; 使用Oracle's PL/SQL 编程语言的基本技巧;三。写一个存储过程
在Notepad, 写下:
CREATE OR REPLACE PROCEDURE skeletonISBEGINNULL;END;把文件存为skeleton.sql.
让我们一行行遍历这个存储过程:
1 CREATE OR REPLACE PROCEDURE skeleton2 IS3 BEGIN
4 NULL;5 END;行1:CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它;行2:IS关键词表明后面将跟随一个PL/SQL体。
行3:BEGIN关键词表明PL/SQL 体的开始。
四。创建一个存储过程
SQL语句CREATE OR REPLACE PROCEDURE在Oracle数据库中创建、编译和保存一个存储过程。
从Window打开SQL*Plus并且从SQL*Plus 登录到你的数据库;打开skeleton.sql文件。
在SQL命令提示符下输入以下命令:
SQL@skeletonSQL/SQL*Plus装载skeleton.sql文件的内容到 SQL*Plus缓冲区并且执行SQL*Plus语句;SQL*Plus 会通知你存储过程已经被成功地创建。
Ⅷ Oracle 存储过程怎么执行
DECLARE v_value VARCHAR2(100); --声明一个变量,用来存放返回的值BEGINP_MES_SB_JBEffectCheck('2010-01','2010-10',v_value); --执行存储过程P_MES_SB_JBEffectCheck,该存储过程接收2个时间值的参数,返回一个varchar类型的值 END;注:Oracle存储过程不能返回一张表结构,所以在存储过程里执行select 语句的时候,需要把查询的结果insert到一张表里,或者用一个变量来保存查询结果(此时查询结果必须是一行一列的值)
Ⅸ oracle怎么执行存储过程
sqlplus或者PL/SQL
SQL窗口
输入(单独调用存储过程):
无参数
EXEC
过程名;
或者
BEGIN
过程名
END;
IN
参数
EXEC
过程名(入参数..);
或者
BEGIN
过程名(入参数...)
END;
OUT参数,IN
OUT参数
variable
绑定变量名
数据类型;
//定义一个变量接收出参数的值;
EXEC
过程名(:绑定变量名);
Ⅹ oracle存储过程如何执行。
使用bat 去引用这些存储过程,然后再通过计划任务,掉用bat