oracle存储过程的基本结构包含哪些


oracle存储过程的结构包含三部分:1、过程声明;2、执行过程部分;3、存储过程异常,该部分可省略,如果要增强脚本的容错性和调试的方便性那就写上异常处理。

oracle存储过程的基本结构包含哪些

本教程操作环境:Windows7系统、Oracle 11g版、Dell G3电脑。

什么是存储过程

存储过程: 百度百科上是这样解释的,存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来调用存储过程。

简单的说就是专门干一件事一段sql语句。

可以由数据库自己去调用,也可以由j*a程序去调用。

在oracle数据库中存储过程是procedure。

存储过程结构

(1)基本结构

Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常(可写可不写,要增强脚本的容错性和调试的方便性那就写上异常处理)

(2)无参存储过程

/**
name_procedure就是自己自定义的存储过程名
*/
create or replace procedure name_procedure AS/IS
	变量名1  数据类型;
	变量名2  数据类型;
BEGIN
	--要处理的业务逻辑
	EXCEPTION    --存储过程异常
END name_procedure;

(3).有参存储过程

普通参数存储过程

/*
age 类型为number 初始化为20;
*/
CREATE OR REPLACE PROCEDURE name_procedure (param1 TYPE)
AS/IS
name varchar(20);
age number :=20;
BEGIN
  --业务处理.....
END ;

带参数的存储过程并且进行赋值

CREATE OR REPLACE PROCEDURE 存储过程名称(
       s_no in varchar,
       s_name out varchar,
       s_age number) AS
total NUMBER := 0;
BEGIN
  SELECT COUNT(1) INTO total FROM student s WHERE s.age=s_age;
  dbms_output.put_line('符合该年龄的学生有'||total||'人');
  EXCEPTION
    WHEN too_many_rows THEN 
    DBMS_OUTPUT.PUT_LINE('返回值多于1行'); 
END

其中参数IN表示输入参数,是参数的默认模式。

  • OUT表示返回值参数,类型可以使用任意Oracle中的合法类型。

  • OUT模式定义的参数只能在过程体内部赋值,表示该参数可以将某个值传递回调用他的过程

  • IN OUT表示该参数可以向该过程中传递值,也可以将某个值传出去

    WiseHome家政预约小程序 WiseHome家政预约小程序

    家政服务平台系统包含家用电器安装清洗、搬家、家电维修、管道疏通、月嫂保姆、育儿陪护、*开锁等多种服务项目,用户可以直接通过家政小程序咨询,在线预约服务类型,同时还设置有知识科普,给用户科普一些清洁保养小技巧,让用户能够足不出户就可以直接预约服务,方便又快捷。本项目使用微信小程序平台进行开发。使用腾讯专门的小程序云开发技术,云资源包含云函数,数据库,带宽,存储空间,定时器等,资源配额价格低廉,无需

    WiseHome家政预约小程序 0 查看详情 WiseHome家政预约小程序

第7行:查询语句,把参数s_age作为过滤条件,INTO关键字,把查到的结果赋给total变量。

第8行:输出查询结果,在数据库中“||”用来连接字符串

第9—11行:做异常处理

存储过程语法

(1)运算符

1.png

(2)SELECT INTO STATEMENT语句

  • 将查询结果赋值给一个变量或多个变量

需求:查出成绩为100分的那个学生的姓名,年龄,籍贯

CREATE OR REPLACE PROCEDURE DEMO_CDD1 IS
s_name VARCHAR2;   --学生名称
s_age NUMBER;      --学生年龄
s_address VARCHAR2; --学生籍贯
BEGIN
  --给单个变量赋值
  SELECT student_address INTO s_address
  FROM student where student_grade=100;
   --给多个变量赋值
  SELECT student_name,student_age INTO s_name,s_age
  FROM student where student_grade=100;
  --输出成绩为100分的那个学生信息
  dbms_output.put_line('姓名:'||s_name||',年龄:'||s_age||',籍贯:'||s_address);
END

(3)选择语句

//if 后面一定要添加THEN 相当于J*a中的 大括号
IF s_sex=1 THEN
  dbms_output.put_line('这个学生是男生');
ELSE IF THEN
  dbms_output.put_line('这个学生是女生');
ELSE
  dbms_output.put_line('这个学生性别错误');
END IF

(4)循环语句

a.基本循环

LOOP
  IF 表达式 THEN
    EXIT;
  END IF
END LOOP;

b.while循环

WHILE 表达式 LOOP
  dbms_output.put_line('haha');
END LOOP;

c.for循环

//a 1 到 20 范围
FOR a in 10 .. 20 LOOP
  dbms_output.put_line('value of a: ' || a);
END LOOP;

推荐教程:《Oracle教程》

以上就是oracle存储过程的基本结构包含哪些的详细内容,更多请关注其它相关文章!


# 存储过程  # 江苏科技项目网站建设  # 焦作质量好网站推广软件  # 重庆做网站建设优化推广  # 淘宝微信营销推广有用吗  # 推广购物网站视频怎么做  # 地产seo平台  # 客户端  # 返回值  # 查询结果  # 写上  # 怎么看  # 多个  # 那就  # 数据库中  # 默认值  # oracle  # 合肥庐阳区网站营销推广  # 赤城新营销模式推广  # 潍坊关键词排名案例  # seo推广优化建设 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 申通快递物流信息查询 申通快递包裹状态追踪  多闪APP官方下载安装入口_多闪最新版本获取入口  苹果手机怎么合并照片_苹果手机合并多张照片的操作方法  《密马》发布账号方法  自定义你的VS Code状态栏,监控关键信息  《百果园》充值余额方法  蛙漫2(台版)正版官网 2025免费网页版分享  QQ邮箱手机版网页版 QQ邮箱登录入口地址  Vue 3中独立响应式实例的创建与应用  Lar*el 中高效执行多列更新:单次查询实现  在PHP环境中正确加载HTML资源:CSS样式与图片路径指南  智慧职教mooc平台登录网址 智慧职教mooc官网直达  vivo浏览器怎么离线保存网页 vivo浏览器下载完整页面以便无网络时阅读  C#解析来自网络的XML流数据 实时错误处理与重试机制  红手指专业版app注册教程  网站体验不好=浪费钱:如何提升-用户体验效果差  苹果手机聊天记录删除了如何恢复  微信客户端怎么查看二维码_微信客户端个人二维码查看方法  谷歌浏览器如何查找和删除恶意软件 谷歌浏览器内置安全清理工具使用教程  快手极速版在线体验区 快手极速版网页体验入口  《三角洲行动》战斗步枪与机枪类改装代码分享  小红书网页版怎么进 小红书网页版通用入口  OPPO手机参数配置如何开启护眼模式_OPPO手机参数配置护眼模式开启指南  PHP与SQL实践:高效实现数据复制与特定列值修改  《波斯王子:失落的王冠》剑术大师打法攻略  j*a中ArrayBlockingQueue的使用  睡觉时心跳快是什么原因 夜间心悸如何应对  解决SQLAlchemy模型跨文件关联的Linter兼容性指南  韩剧圈正版官网入口_韩剧圈官方指定登录  《爱笔思画x》魔棒工具抠图教程  composer licenses 命令:如何检查项目依赖的许可证?  Google Drive API 认证:服务账户与OAuth 2.0的选择与实践  实时数据流中高效查找最小值与最大值  J*aScript二进制处理_ArrayBuffer与Blob  mysql如何回滚事务_mysql ROLLBACK事务回滚方法  微博网页版入口链接 微博网页版在线互动平台  使用 J*aScript 随机化 CSS Grid 布局中的元素顺序  键盘声音异常怎么回事_键盘异响怎么处理  企查查官网和爱企查 企查查企业查询官网入口  《漫蛙manwa2》防走失网页版链接2025  Windows自带的便笺数据如何备份_防止数据丢失的便利贴迁移教程【干货】  京东快递物流信息不更新怎么办_物流停滞原因与处理方法  c++20的指定初始化(Designated Initializers)怎么用_c++ C风格结构体初始化  解决Pandas DataFrame高度碎片化警告:高效创建多列的策略  如何取消数字签名  win11讲述人怎么关闭 Win11屏幕朗读辅助功能禁用方法【技巧】  J*aScript字符串_Unicode处理  iPhone 13 Pro Max如何设置桌面小组件_iPhone 13 Pro Max小组件添加指南  阿里旺旺电脑网页版入口 阿里旺旺电脑版网页登录入口  如何定制PrimeNG Sidebar的背景颜色 

 2022-03-02

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.