plsql存储过程实例
Ⅰ plsql developer 里怎么写存储过程,和执行存储过程,怎么查看存储过程和出现什么情况算成功执行存储过程
--建立测试数据:
create table BOOK(编号 number(10),书名 varchar2(20),价格 varchar2(20))
insert into BOOK values(100,'aa','88.77')
select * from BOOK
--建立存储过程:
create or replace procere query_BOOK(name IN OUT NUMBER,MY_BOOK OUT VARCHAR2,MY_BOOK2 OUT VARCHAR2) is
begin
select 编号 ,书名,价格 INTO name,MY_BOOK,MY_BOOK2 from BOOK where 编号=name;
end query_BOOK;
--调用存储过程:
declare v_name number(10);
v_my_book varchar2(50);
v_my_book2 varchar2(20);
begin
v_name := 100;
query_BOOK(v_name,v_my_book,v_my_book2); --调用存储过程
dbms_output.put_line('v_name is: '||v_name);
dbms_output.put_line('v_my_book is: '||v_my_book);
dbms_output.put_line('v_my_book2 is: '||v_my_book2);
exception
when others then
dbms_output.put_line(sqlerrm);
end;
ps:
plsql developer -->File-->new--->SQL window-->然后就可以在弹出的空白窗口里写了.
存储过程写完后,是否有错,可以看plsql developer 的左边列表:
选"My objects"-->proceres-->展开-->看你对应的存储过程,如果存储过程前面有红色交叉,则表示存储过程有错.
Ⅱ 如何在plsql中执行存储过程
create or replace procere job_table asv_sql varchar2(2000);begin v_sql:='create table job_test2 as select * from job_test'; EXECUTE immediate v_sql; EXCEPTION WHEN OTHERS THEN rollback;end job_table; 存储过程内不能直接使用create或alter,需要使用EXECUTE执行动态语句才可以 还有执行存储过程,必须在命令窗口内执行
Ⅲ plsql中如何执行存储过程
实现的方法和详细的操作步骤如下:
1、第一步,双击plsql图标进入登录界面,输入用户名和密码,然后传输数据库实例名称,如下图所示,然后进入下一步。
Ⅳ plsql中怎么调用带输出参数的存储过程
1、首先打开一个的PLSQL Developer的界面中,点击左上角的工具,如下图所示。
Ⅳ 如何用plsql查看存储过程的源码!!!
1、首先双击plsql图标,进入登录界面,输入用户名和密码,输送数据库实例名。
2、点击左上角new,并点击sqlwindow,进入到数据库界面。
3、该图是数据库存储过程的简单布局。有存储过程的定义,包括输入变量、输出变量等,输入变量以in定义,输出以out定义;变量部分:可根据程序需求自行定义;数据处理逻辑部分:可加上增删改差表的操作;异常处理部分:当程序执行异常时处理。
4、当一个存储过程写好之后,需要点击左上角执行按钮,或者快捷键F8,编译通过后便可调试程序了。找到需要调试的存储过程,右键点击test进入到调试界面。
5、点击左上角调试按钮。
6、下图标识区域,分别是调试按钮,可以单步执行,可以跳过整段执行,也可以跳出。
Ⅵ 如何用plsql每隔5分钟自动执行一次存储过程
1,创建一个存储过程 bb 作用是往pig表中插入数据
SQL> create or replace procere JOB_PRO_TEST as
2 begin
3 insert into JOB_TEST values(sysdate);
4 end;
5 /
Procere created
2,创建一个job,名称为job2010 ;作用是每分钟(60×24=1440)执行一次存储过程JOB_PRO_TEST。
SQL> variable job2010 number;
SQL> begin
2 dbms_job.submit(:job2010,'JOB_PRO_TEST;',sysdate,'sysdate+1/1440');
3 end;
4 /