博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle 存储过程
阅读量:5058 次
发布时间:2019-06-12

本文共 1128 字,大约阅读时间需要 3 分钟。

表)

CREATE OR REPLACE PROCEDURE 
[(
)] IS [declare section] BEGIN [
][EXCEPTION
];

1.无参数

create or replace procedure insertTbisbegin     insert into tb values('hongda',10);     commit;end call insertTb();

2.有参数

create or replace procedure insertTb2( country in varchar2 , people in number)isbegin   insert into tb values(country,people);   commit;end insertTb2;  call insertTb2('hongda',23);

3.输出参数

create or replace procedure insertTb3(  allpeople out number)as hongda varchar2(20);             //声明变量,begin   select sum(people) into allpeople from tb;   commit;end insertTb3;

4.调用

oracle中调用有两种,call,exec

exec是sqlplus的命令,只能在sqlplus中使用。和 set serveroutput on 一起用。

call是sql命令,任何工具都可以使用。

 

注意:

1.参数in代表输入,out代表输出

2.存储过程参数不带取值范围

3.变量带取值范围,后面接分号

4.用select 。。。into。。。给变量赋值

5.在代码中抛异常用 raise+异常名

经常错误:

1.在oracle中,数据表别名不能加as

select * from tb as b;        //错误

2.在存储过程中,select某一字段时,后面必须紧跟into,如果select整个记录,利用游标的话就另当别论了

3.在利用select...into...语法时,必须先确保数据库中有该条记录,否则会报出"no data found"异常

 

转载于:https://www.cnblogs.com/hongdada/archive/2012/12/27/2836034.html

你可能感兴趣的文章
Eclipse 调试的时候Tomcat报错启动不了
查看>>
【安卓5】高级控件——拖动条SeekBar
查看>>
ES6内置方法find 和 filter的区别在哪
查看>>
Android入门之文件系统操作(二)文件操作相关指令
查看>>
Android实现 ScrollView + ListView无滚动条滚动
查看>>
java学习笔记之String类
查看>>
UVA 11082 Matrix Decompressing 矩阵解压(最大流,经典)
查看>>
jdk从1.8降到jdk1.7失败
查看>>
一些关于IO流的问题
查看>>
mongo备份操作
查看>>
8 -- 深入使用Spring -- 3...1 Resource实现类InputStreamResource、ByteArrayResource
查看>>
硬件笔记之Thinkpad T470P更换2K屏幕
查看>>
一个关于vue+mysql+express的全栈项目(六)------ 聊天模型的设计
查看>>
【知识库】-数据库_MySQL 的七种 join
查看>>
.net 写文件上传下载webservice
查看>>
noSQL数据库相关软件介绍(大数据存储时候,必须使用)
查看>>
iOS开发——缩放图片
查看>>
HTTP之URL的快捷方式
查看>>
满世界都是图论
查看>>
配置链路聚合中极小错误——失之毫厘谬以千里
查看>>