存储过程
00、查看存储过程
00、删除存储过程
drop procedure proc_name;
00、重新编译存储过程
alert procdure proc_name compile
00、给用户赋予执行权限
grant execute on proc_name to userName
00、调用存储过程
方法1:execute 模式名.proc_name
方法2:
begin
模式名.proc_name
end
00、声明变量
declare
var1 number(2); -- 仅声明
var2 char(2) := '11'; -- 在声明的同时初始化
1、在定义变量名字的时候,一定要注意变量名字不可以是关键字
2、创建存储过程的时候,参数的数据类型不可以指定精确数据类型。例如,只能使用number、varchar2,而不可以使用varchar2(4)
00、oracle语法
1、if
1、
IF ... THEN
...;
END IF;
2、
IF... THEN
...;
ELSE
...;
END IF;
3、
IF...THEN
...;
ELSEIF...THEN
...;
ELSE
...;
END IF;
2、case
CASE
WHEN...THEN...;
ELSE ...;
END CASE;
case语句如果作为分支控制语句,最后结束语句是end case,如果是作为select语句里的控制语句则只需要end
3、for循环
1、
FOR ... IN ...
LOOP
...;
END LOOP;
2、中止sp
for currow in (
select t.col1, t.col2
from tableName t
where ...
)
loop
if currow.col1 = 0 then
return; -- 中止sp,返回
end if;
end loop;
5、while循环
1、
WHILE ...
LOOP
IF ... THEN exit;-- 中止sp,返回
END IF;
END LOOP;
2、
declare
isok := 9;
while isok >= 0
loop
isok := isok - 1;
if isok = 8 then
continue; -- 与编程语言的 continue 语义一样,跳过当前循环的剩余语句,回到循环开始
end if;
if isok <= 0 then
exit; -- 与编程语言的 break 语义一样,跳出循环
end if;
dbms_output.put_line('isok:' || isok);
end loop;
00、创建存储过程
1、
create procedure proc_GradeCount
as
gradeCount number(10);
begin
select count(*) into gradeCount from grade a;
Dbms_Output.put_line(年级总数''||gradeCount);
end;
2、参数设置
create or replace procedure sp_name (
-- 入参、出参列表, 逗号分隔。
uid in varchar2, -- 不能带长度信息
startDate in date, -- 第二个输入参数
defaultVar in varchar2 default "", -- 默认参数,如果不传,要注意参数的顺序
isok out number, -- 输出参数
result out varchar2 -- 第二个输出参数
)
参数的定义形式和作用如下:
参数名 IN 数据类型 DEFAULT 值;
定义一个输入参数变量,用于传递参数给存储过程。在调用存储过程时,主程序的实际参数可以是常量、有值变量或表达式等。DEFAULT 关键字为可选项,用来设定参数的默认值。如果在调用存储过程时不指明参数,则参数变量取默认值。在存储过程中,输入变量接收主程序传递的值,但不能对其进行赋值。
参数名 OUT 数据类型;
定义一个输出参数变量,用于从存储过程获取数据,即变量从存储过程中返回值给主程序。
在调用存储过程时,主程序的实际参数只能是一个变量,而不能是常量或表达式。在存储过程中,参数变量只能被赋值而不能将其用于赋值,在存储过程中必须给输出变量至少赋值一次。
参数名 IN OUT 数据类型 DEFAULT 值;
定义一个输入、输出参数变量,兼有以上两者的功能。在调用存储过程时,主程序的实际参数只能是一个变量,而不能是常量或表达式。DEFAULT 关键字为可选项,用来设定参数的默认值。在存储过程中,变量接收主程序传递的值,同时可以参加赋值运算,也可以对其进行赋值。在存储过程中必须给变量至少赋值一次。
如果省略IN、OUT或IN OUT,则默认模式是IN。
00、
总结:
1、在定义变量名字的时候,一定要注意变量名字不可以是关键字
2、创建存储过程的时候,参数的数据类型不可以指定精确数据类型。例如,只能使用number、varchar2,而不可以使用varchar2(4)
- 浏览: 58860 次
- 性别:
文章分类
发表评论
-
mysql数据类型转换
2013-08-16 10:07 416001、char----date STR_TO_DATE ... -
oracle摘要
2013-04-24 15:39 51800、oracle默认测试表 select to_char ... -
orcale游标简介
2013-02-28 17:18 56000、游标的概念: ... -
总结:整理 oracle异常错误处理
2013-02-28 12:19 19705.1 异常处理概念 5.1.1 预定义的异常处理 5. ... -
oracle 视图创建和操作,创建简单,复杂的视图,创建基表不存在的视图,视图增删改,查看视图的结构
2013-02-27 14:23 841转载:http://heisetoufa.iteye.com ... -
oracle数据类型转换函数
2013-02-27 13:56 1143转换函数 Oracle的类型转换分为自动类型转换和强制类型 ... -
oracle 触发器的种类和触发事件,DML触发器,DDL事件触发器,替代触发器,查看触发器,
2013-02-27 11:04 878转载:http://heisetoufa.iteye.com ... -
oracle 创建,删除存储过程,参数传递,创建,删除存储函数,存储过程和函数的查看,包,系统包
2013-02-27 11:01 695转载:http://heisetoufa.iteye.com ... -
oracle 隐式游标,显示游标,游标循环,动态SELECT语句和动态游标,异常处理,自定义异常
2013-02-27 10:27 714转载:http://heisetoufa.iteye.com ... -
Oracle字符串处理函数
2013-01-30 10:47 619001、字符串连接 concat或|| se ... -
Oracle日期函数
2013-01-30 10:46 625获取当前日期 sysdate:to_char(sysdat ... -
MySql触发器
2013-01-29 13:52 988001、触发器 查看 ... -
MySql游标
2013-01-28 18:15 706001、 what 游标是指向查询结果集 ... -
MySql存储过程
2013-01-28 16:37 588001、查看存储过程show procedure stat ... -
MySql字符串处理函数
2013-01-28 10:55 499001、 字符串连接 CONCAT(str1,str2 ... -
MySql日期处理
2013-01-27 21:51 395获取当前时间:now( ) ... -
事务传播机制和隔离级别
2012-12-25 11:18 1244原帖:http://zhxing.iteye.com/blog ... -
MySql摘要
2013-01-14 09:45 748001、批量删除 public void deleteA ... -
MySql语句
2012-08-13 10:20 509--用户信息表 drop table if exists t ...
相关推荐
oracle 存储过程实例 oracle存储过程实例
oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel
Oracle存储过程基本语法,流程控制语句,动态sql介绍
本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法。分享给大家供大家参考,具体如下: 这里主要测试在Python中通过cx_Oracle调用PL/SQL。 首先,在数据库端创建简单的存储过程。 create or replace ...
oracle 存储过程 unwrap 图形解密 工具
oracle存储过程笔记oracle存储过程笔记oracle存储过程笔记oracle存储过程笔记oracle存储过程笔记oracle存储过程笔记oracle存储过程笔记oracle存储过程笔记oracle存储过程笔记oracle存储过程笔记
ibatis调用oracle存储过程分页
可以将SQL Server存储过程转为oracle存储过程的工具
oracle 存储过程批量提交
oracle存储过程学习经典入门 非常好的 初学者必看
帆软报表调用Oracle存储过程如果存储过程定义中没有参数,但是设计器中缺弹出一个storeParameter1参数的解决插件
Oracle存储过程分页代码 Oracle存储过程分页代码 Oracle存储过程分页代码 Oracle存储过程分页代码 Oracle存储过程分页代码
使用java实现oracle存储过程。 共有3个小例子。实现的功能 1、无返回值的存储过程 如 insert 2、有返回值的存储过程(非列表)select id from tab 3、返回列表 如:select * from tab 顺便鄙视下csdn,作为一个it...
oracle 存储过程实例 oracle 存储过程实例 oracle 存储过程实例 oracle 存储过程实例
oracle 存储过程 函数 dblink 绝对对工作和平时学习有价值的资料。针对个人具体情况做修改即可使用
vba 调用oracle 存储过程vba 调用oracle 存储过程vba 调用oracle 存储过程vba 调用oracle 存储过程vba 调用oracle 存储过程
oracle存储过程语法_oracle存储过程语法_oracle存储过程语法
行业内Oracle存储过程最基本的开法规范,适合oracle入门小白学习
oracle 存储过程示例oracle 存储过程示例oracle 存储过程示例oracle 存储过程示例oracle 存储过程示例oracle 存储过程示例oracle 存储过程示例oracle 存储过程示例
Oracle存储过程中使用临时表 会话级临时表 事务级临时表