Oracle存储过程基本语法格式

oracle 存储过程的基本语法

1.基本结构

CREATE OR REPLACE PROCEDURE 存储过程名字

(

参数1 IN NUMBER,

参数2 IN NUMBER

) IS

变量1 INTEGER :=0;

变量2 DATE;

BEGIN

END 存储过程名字

2.SELECT INTO STATEMENT

将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条

记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)

例子:

BEGIN

SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx;

EXCEPTION

WHEN NO_DATA_FOUND THEN

xxxx;

END;

...

3.IF 判断

IF V_TEST=1 THEN

BEGIN

do something

END;

END IF;

4.while 循环

WHILE V_TEST=1 LOOP

BEGIN

XXXX

END;

END LOOP;

5.变量赋值

V_TEST := 123;

6.用for in 使用cursor

...

IS

CURSOR cur IS SELECT * FROM xxx;

BEGIN

FOR cur_result in cur LOOP

BEGIN

V_SUM :=cur_result.列名1+cur_result.列名2

END;

END LOOP;

END;

7.带参数的cursor

CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;

OPEN C_USER(变量值);

LOOP

FETCH C_USER INTO V_NAME;

EXIT FETCH C_USER%NOTFOUND;

do something

END LOOP;

CLOSE C_USER;

8.用pl/sql developer debug

连接数据库后建立一个Test WINDOW

在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试

1.基本结构

CREATE OR REPLACE PROCEDURE 存储过程名字

(

参数1 IN NUMBER,

参数2 IN NUMBER

) IS

变量1 INTEGER :=0;

变量2 DATE;

BEGIN

END 存储过程名字

2.SELECT INTO STATEMENT

将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)

例子:

BEGIN

SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx;

EXCEPTION

WHEN NO_DATA_FOUND THEN

xxxx;

END;

...

3.IF 判断

IF V_TEST=1 THEN

BEGIN

do something

END;

END IF;

4.while 循环

WHILE V_TEST=1 LOOP

BEGIN

XXXX

END;

END LOOP;

5.变量赋值

V_TEST := 123;

6.用for in 使用cursor

...

IS

CURSOR cur IS SELECT * FROM xxx;

BEGIN

FOR cur_result in cur LOOP

BEGIN

V_SUM :=cur_result.列名1+cur_result.列名2

END;

END LOOP;

END;

7.带参数的cursor

CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;

OPEN C_USER(变量值);

LOOP

FETCH C_USER INTO V_NAME;

EXIT FETCH C_USER%NOTFOUND;

do something

END LOOP;

CLOSE C_USER;

oracle 存储过程的基本语法

1.基本结构

CREATE OR REPLACE PROCEDURE 存储过程名字

(

参数1 IN NUMBER,

参数2 IN NUMBER

) IS

变量1 INTEGER :=0;

变量2 DATE;

BEGIN

END 存储过程名字

2.SELECT INTO STATEMENT

将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条

记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)

例子:

BEGIN

SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx;

EXCEPTION

WHEN NO_DATA_FOUND THEN

xxxx;

END;

...

3.IF 判断

IF V_TEST=1 THEN

BEGIN

do something

END;

END IF;

4.while 循环

WHILE V_TEST=1 LOOP

BEGIN

XXXX

END;

END LOOP;

5.变量赋值

V_TEST := 123;

6.用for in 使用cursor

...

IS

CURSOR cur IS SELECT * FROM xxx;

BEGIN

FOR cur_result in cur LOOP

BEGIN

V_SUM :=cur_result.列名1+cur_result.列名2

END;

END LOOP;

END;

7.带参数的cursor

CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;

OPEN C_USER(变量值);

LOOP

FETCH C_USER INTO V_NAME;

EXIT FETCH C_USER%NOTFOUND;

do something

END LOOP;

CLOSE C_USER;

8.用pl/sql developer debug

连接数据库后建立一个Test WINDOW

在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试

1.基本结构

CREATE OR REPLACE PROCEDURE 存储过程名字

(

参数1 IN NUMBER,

参数2 IN NUMBER

) IS

变量1 INTEGER :=0;

变量2 DATE;

BEGIN

END 存储过程名字

2.SELECT INTO STATEMENT

将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)

例子:

BEGIN

SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx;

EXCEPTION

WHEN NO_DATA_FOUND THEN

xxxx;

END;

...

3.IF 判断

IF V_TEST=1 THEN

BEGIN

do something

END;

END IF;

4.while 循环

WHILE V_TEST=1 LOOP

BEGIN

XXXX

END;

END LOOP;

5.变量赋值

V_TEST := 123;

6.用for in 使用cursor

...

IS

CURSOR cur IS SELECT * FROM xxx;

BEGIN

FOR cur_result in cur LOOP

BEGIN

V_SUM :=cur_result.列名1+cur_result.列名2

END;

END LOOP;

END;

7.带参数的cursor

CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;

OPEN C_USER(变量值);

LOOP

FETCH C_USER INTO V_NAME;

EXIT FETCH C_USER%NOTFOUND;

do something

END LOOP;

CLOSE C_USER;


相关文章

  • 数据库设计规范
  • 修订历史记录 发放范围:产品研发部 1. 概述 2. 数据库设计的基本原则 3. 数据库建模 3.1 数据分析 3.2 数据关系分析 3.3 数据量分析 3.4 扩展性分析 3.5 数据字典(参考) 3.5.1 数据项 3.5.2 数据结构 ...查看


  • Oracle商务智能
  • Oracle商务智能在线研讨会 2010 年 10 月 20日 会议内容: Oracle 商务智能完整方案概述 Oracle 商务智能应用特点和价值 Oracle 商务智能基础平台11g新特性更新 1 2 3 Oracle甲骨文公司 全球最 ...查看


  • 数据产品规格说明书
  • 数据管控产品规格说明书 第一章 引言 1.1 编写目的 本文档作为数据管控产品体系(元数据和数据质量管理)的产品方案说明书,介绍元数据和数据质量的解决方案. 1.2 项目背景 经过多年建设,企业一般已经初步建成了各类管理信息系统,虽然在运用 ...查看


  • 数据库系统基础知识
  • 第一章 数据库系统基础知识 第一节 数据库概述 一 数据 1. 定义:是一种物理符号序列,用来记录事物的情况. 2. 表示方法:用类型和值,不同的数据类型记录的事物性质是不一样的. 如:数值1,2,3...可以记录事物多少.年龄等. 二 信 ...查看


  • oracle物理结构
  • 大型数据库管理系统 Oracle 体系结构 0 前言 目前,工程中常用数据库管理系统主要集中Oracle .SQL server .mySQL 等,其中Oracle 是大型关系型数据库管理系统,相对于其它DBMS 而言Oracle 主要有以 ...查看


  • ORACLE全面内容管理(PDF)
  • ORACLE 数据表 ORACLE 全面内容 管理 主要特性和优势 主要特性 · 以内部文件格式管理业务内容 · 自动转换为 Web 格式以便于查看 · 控制整个内容生命周期 · 简化了内容的查找.访问和重复使用 · 快速构建和管理多个网站 ...查看


  • oracle各个名字详解
  • 搞清概念: db_name,instance_name,ORACLE_SID,db_domain,global_name,service_name, 注:写作环境为Oracle 10g Release 2 (10.2)一.数据库名 1.数据 ...查看


  • JAVA软件工程师需要什么职业技能
  • 优秀的Java工程师需要掌握的技能 编程专业相对于计算机领域其他专业来讲,是一门比较难以修炼的专业,此专业如果想要大成,需要修行之人心性极佳,踏踏实实,耐得住寂寞,受得住冷落.所以一位优秀的软件开发工程师是非常难得的.新华IT培训营的老师总 ...查看


  • 常用的企业数据库
  • 数据是金──常用的企业数据库 信息时代的今天,随着信息传播速度越来越快,人们在认识到信息的重要性时,也为铺天盖地的海量信息所苦恼,如何有效管理越来越多的信息,从中挖掘有用信息,如何实现协调工作和协调管理,每一个企业都在不同程度地考虑这些问题 ...查看


热门内容