如何执行oracle存过 oracle存过调用存过

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 数据库 怎么执行存储过程

一。 概述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怎么执行存储过程

使用oracle调用存储过程得方式和plsql不一样,下面给你个调用例子

过程调用方式一

declare

realsal emp.sal%type;

realname varchar(40);

realjob varchar(40);

begin //存储过程调用开始

realsal:=1100;

realname:='';

realjob:='CLERK';

runbyparmeters(realsal,realname,realjob); --必须按顺序

DBMS_OUTPUT.PUT_LINE(REALNAME||' '||REALJOB);

END; //过程调用结束

过程调用方式二

declare

realsal emp.sal%type;

realname varchar(40);

realjob varchar(40);

begin //过程调用开始

realsal:=1100;

realname:='';

realjob:='CLERK';

runbyparmeters(sname=realname,isal=realsal,sjob=realjob); --指定值对应变量顺序可变

DBMS_OUTPUT.PUT_LINE(REALNAME||' '||REALJOB);

END; //过程调用结束

oracle 怎么执行存储过程跟函数

调用oracle存储过程用begin...end的方式。

基本语法:

begin

存储过程名(参数1,参数2……);--如果无参数则省略括号及括号内部分end;

如,有存储过程:

create

or

replace

procedure

p_testasv_begintime

varchar2(20);v_endtime

varchar2(20);v_str

varchar2(10);begin

v_begintime:=to_char(sysdate,'yyyy-mm-dd

hh24:mi:ss');

select

'badkano'

into

v_str

from

dual;

v_endtime:=to_char(sysdate,'yyyy-mm-dd

hh24:mi:ss');

dbms_output.put_line('开始时间为:'||v_begintime);

dbms_output.put_line('结束时间为:'||v_endtime);end;

执行:begin

p_test;end;

怎样实现每天自动执行oracle的存储过程一次?

用job

oracle定时器调用存储过程

1、创建一个表,为了能清楚看到定时器的运行情况我们创建一个带有日期字段的表

Sql代码  

create table job_table(run_time date);  

create table job_table(run_time date);

2、创建存储过程

Sql代码  

create or replace procedure job_proc is  

begin

insert into job_table (run_time) values (sysdate);  

end;  

create or replace procedure job_proc is

begin

insert into job_table (run_time) values (sysdate);

end;

3、创建job,并且指定为一分钟执行一次

Sql代码  

declare

job number;  

begin

dbms_job.submit(job, 'job_proc;', sysdate, 'TRUNC(sysdate,''mi'') + 1 / (24*60)');  

end/  

commit;  

declare

job number;

begin

dbms_job.submit(job, 'job_proc;', sysdate, 'TRUNC(sysdate,''mi'') + 1 / (24*60)');

end/

commit;

4.创建之后自动处于运行状态,我们查询job表,看看我们创建的job

Sql代码  

select job,broken,what,interval,t.* from user_jobs t;  

select job,broken,what,interval,t.* from user_jobs t;

job broken what interval ...

81 N job_proc; TRUNC(sysdate,'mi') + 1 / (24*60) ...

用job

oracle定时器调用存储过程

创建一个表,为了能清楚看到定时器的运行情况我们创建一个带有日期字段的表

Sql代码  

create table job_table(run_time date);  

create table job_table(run_time date);

2.创建存储过程

Sql代码  

create or replace procedure job_proc is  

begin

insert into job_table (run_time) values (sysdate);  

end;  

create or replace procedure job_proc is

begin

insert into job_table (run_time) values (sysdate);

end;

3.创建job,并且指定为一分钟执行一次

Sql代码  

declare

job number;  

begin

dbms_job.submit(job, 'job_proc;', sysdate, 'TRUNC(sysdate,''mi'') + 1 / (24*60)');  

end/  

commit;  

declare

job number;

begin

dbms_job.submit(job, 'job_proc;', sysdate, 'TRUNC(sysdate,''mi'') + 1 / (24*60)');

end/

commit;

4.创建之后自动处于运行状态,我们查询job表,看看我们创建的job

Sql代码  

select job,broken,what,interval,t.* from user_jobs t;  

select job,broken,what,interval,t.* from user_jobs t;

job broken what interval ...

81 N job_proc; TRUNC(sysdate,'mi') + 1 / (24*60) ...


网站栏目:如何执行oracle存过 oracle存过调用存过
链接分享:http://myzitong.com/article/hicphc.html