--in 代表输入参数,out 代表输出参数create or replace procedure myproc(id in int, v_message  out varchar2) is--定义临时变量number a;
begin
  delete from emp where empno=id;
  commit;
EXCEPTION
 WHEN OTHERS
 THEN
 ROLLBACK;
v_message := '错误行号:' || DBMS_UTILITY.format_error_backtrace () || '错误代码:'|| SQLCODE|| '错误提示'|| SQLERRM;
DBMS_OUTPUT.put_line (v_message);
end myproc;

调用

declare
ids number:=1;
ma varchar(20):='';
begin
myproc(ids,ma);
dbms_output.put_line(ma);
end;

也可以在cmd中直接调用

如果要查询执行时间,可以先执行

set time on;

set timing on;

  

使用oracle 数据库自带表

scott 密码 tiger

如果不能登录

执行

alter user scott account unlock

oracle 包
create or replace package mypack is

  -- Author  : PC
  -- Created : 2018/4/25 10:23:03
  -- Purpose :
 procedure myproc(id in int, v_message  out varchar2);
end mypack;
/
create or replace package body mypack is

procedure myproc(id in int, v_message  out varchar2) is
  a number;
begin
  delete from emp where empno=id;
  commit;
 EXCEPTION
WHEN OTHERS
THEN
ROLLBACK;
v_message := '错误行号:' || DBMS_UTILITY.format_error_backtrace () || '错误代码:'|| SQLCODE|| '错误提示'|| SQLERRM;
DBMS_OUTPUT.put_line (v_message);
end myproc;

end mypack;
/

 执行包

 

declare
ids int:=7369;
ma varchar(20):='';
begin
mypack.myproc(ids,ma);
dbms_output.put_line(ma);
end;

  

												

oracle 存储过程(包)的写法和执行的更多相关文章

  1. oracle存储过程中使用execute immediate执行sql报ora-01031权限不足的问题

    oracle存储过程中使用execute immediate执行sql报ora-01031权限不足的问题 学习了:http://blog.csdn.net/royzhang7/article/deta ...

  2. Oracle 存储过程包(Package、Package Body)

    初出茅庐,不知原来存储过程还可以写得如此复杂,而且还竟然可以调试! 好吧,得整理一下存储过程的一些语法,以备以后用到时可以查阅. 使用数据库:Oracle 数据库工具:PL/SQL Developer ...

  3. oracle 存储过程 包 【转】

    一.为什么要用存储过程? 如果在应用程序中经常需要执行特定的操作,可以基于这些操作简历一个特定的过程.通过使用过程可以简化客户端程序的开发和维护,而且还能提高客户端程序的运行性能. 二.过程的优点? ...

  4. Oracle 存储过程包

    create or replace package body cuttoship_lots is procedure prod_run(p_w_day date) as begin delete cu ...

  5. oracle创建包后执行报错:object omgmig.test_package is invalid.

    今天学习了一下oracle的包的写法,然后碰到这么个问题.包声明和包主体都正确,但是就是执行报错:object omgmig.test_package is invalid. 这是会报错的sql,看起 ...

  6. Oracle存储过程(增、删、改)写法、oracle执行存储过程

    Oracle存储过程(增.删.改)写法 发布时间: 2010-3-24 11:07    作者: ZHF    来源: 51Testing软件测试网采编 字体:  小  中  大  | 上一篇 下一篇 ...

  7. Oracle存储过程详解(引用)+补充(转) dbms_output包 good

    执行存储过程时,execute和call的区别 EXEC is a sqlplus command that put its argument as an anonymous pl/sql block ...

  8. Oracle存储过程中跳出循环的写法

    注:本文来源于: <  Oracle存储过程中跳出循环的写法   > Oracle存储过程中跳出循环的写法 记录exit和return的用法 1:exit用来跳出循环 loop IF V_ ...

  9. oracle 存储过程调用 执行

    oracle 存储过程调用 博客分类: 数据库相关   oracle存储过程 2011年02月11日 星期五 14:47 SQL中调用存储过程语句: call procedure_name(); 调用 ...

  10. Oracle存储过程动态创建临时表/存储过程执行权限问题--AUTHID CURRENT_USER

    关于Oracle存储过程执行权限问题的解决 http://blog.sina.com.cn/s/blog_6ceed3280101hvlo.html (2014-04-02 04:06:28) 转载▼ ...

随机推荐

  1. Building Microservices with Spring Boot and Apache Thrift. Part 1 with servlet

    https://dzone.com/articles/building-microservices-spring In the modern world of microservices it's i ...

  2. 洛谷P3975 弦论

    题意:求一个串的字典序第k小的子串/本质不同第k小的子串. 解:一开始我的想法是在后缀树上找,但是不知道后缀树上的边对应的是哪些字符... 然而可以不用fail树转移,用转移边转移即可. 先建一个后缀 ...

  3. A1142. Maximal Clique

    A clique is a subset of vertices of an undirected graph such that every two distinct vertices in the ...

  4. A1021. Deepest Root

    A graph which is connected and acyclic can be considered a tree. The height of the tree depends on t ...

  5. Django(十三)ajax 与 Bootstrap,font-awesome

    prop,attr,val font-awesome:字体,图标库 对话框添加,删除,修改: 添加: Ajax偷偷向后台发请求: 1. 下载引入jQuery 2. $.ajax({ url: '/ad ...

  6. django模板中使用JQ代码实现瀑布流显示效果

    settings中的配置不再详细说明 一.路由代码 from django.contrib import admin from django.conf.urls import url from app ...

  7. quartz 每天0点5分开始,以后每隔15分钟启动一次,23:50停止

    quartz 每天0点5分开始,以后每隔15分钟启动一次,23:50停止,这个表达式怎么写? 5 用quartz做定时器,要求达到这样的效果每天0点5分开始,以后每隔15分钟启动一次,23:50停止不 ...

  8. Unity Shader基本例子

    Unity中,对于一个物体我们想要改变其的外观,就需要给其增加一个材质,即Matiral 一般的Matiral采用的是标准的Shader,而标准的Shader并不是最好的渲染物体表明的效果,那么我们就 ...

  9. sqlserver2008查看表记录或者修改存储过程出现目录名无效错误解决方法

    登陆数据库后,右键打开表提示:目录名无效,执行SQL语句也提示有错误,现在把解决方法分享给大家 1.新建查询 2.点工具栏中[显示估计的查询计划],结果提示Documents and Settings ...

  10. asp.net 获得伪静态网址解决微信sdk签名问题

    手机网站是asp.net c#编写的,前几天因为要使用微信SDK在手机网站页面使用分享功能,但是程序使用了伪静态功能.如果原地址是:http://ww.xx.com/news/show.aspx?id ...