`
zys08
  • 浏览: 142681 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

oracle存储过程、触发器、序列基本用法

 
阅读更多

使用存储过程的好处:
第一、大大提高效率。存储过程本身的执行速度非常快,而且,调用存储过程可以大大减少同数据库的交互次数。
第二、提高安全性。假如将SQL语句混合在ASP代码中,一旦代码失密,同时也就意味着库结构失密。
第三、有利于SQL语句的重用。

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;
 EXCEPTIONWHEN 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
  BEGINXXXXEND;
 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;

 

 

例子:

create table system.UserLogin

(

 u_id number primary key,

 uname varchar2(20) not null,

 upass varchar2(20) not null,

 sex number(2),

 hobby varchar2(50),

 beizhu nvarchar2(100),

 xieyi number(1)

)

 

create sequence system.seq_u_id

start with 1--以1开始

increment by 1--自动增长2

nomaxvalue

cache 10

 

select *from system.userlogin

--drop table system.userlogin

 

 

select system.seq_u_id.nextval from dual;

 

create or replace trigger system.seq_uid_bifer_trigger

before insert on system.UserLogin

for each row

when(new.u_id is null)

begin

select system.seq_u_id.nextval into:new.u_id from dual;

end;

 

insert into system.userlogin(uname,upass,sex) values('zys','zys',1)

分享到:
评论

相关推荐

    oracle存储过程各种写法

    此文档对oracle存储过程做了详细讲解,游标用法 变量定义,触发器,序列,DML DCL DDL

    Oracle 10g数据库管理、应用与开发标准教程

    Oracle数据库体系结构,SQL基本查询,修改SQL数据与SQL*Plus命令,PL/SQL编程基础,用户、模式和表,高级查询,过程、函数和程序包,表类型,索引,视图、序列和同义词,触发器,事务与并发控制,安全,管理存储结构...

    oracle database 10g 完整参考手册part1

    第39章 Java存储过程 第40章 Oracle真正应用群集 第41章 网格体系结构和管理 第Ⅷ部分 指南 第42章 Oracle数据字典指南 第43章 调整应用程序和SQL旅行者指南 第44章 调整中的案例分析 第45章 Oracle Application ...

    Oracle11g从入门到精通2

    7.2.3 使用序列实现 7.3 实现数据的完整性 7.3.1 域完整性 7.3.2 实体完整性 7.3.3 引用完整性 7.3.4 存储过程检查 7.3.5 使用触发器 7.4 避免更改引起的大量改动 7.4.1 使用视图 7.4.2 使用同义...

    21天学通Oracle

    第一篇 Oracle管理配置 第1章 Oracle安装配置(教学视频:10分钟) 23 1.1 Oracle简介 23 1.1.1 数据库术语 23 1.1.2 主流数据库简介 24 1.1.3 Oracle数据库的特点 24 1.2 安装Oracle数据库 25 1.2.1 Oracle...

    学生成绩管理系统Oracle全部SQL语句.txt

    选定某一主题,运用oracle数据库,以及相关技术方法设计和开发一个信息管理的数据库系统,实现数据库的开发应用以及日常管理维护等基本功能。 具体要求如下: (1)选定某一主题,创建一个oracle数据库,对其进行...

    Oracle11g从入门到精通

    7.2.3 使用序列实现 7.3 实现数据的完整性 7.3.1 域完整性 7.3.2 实体完整性 7.3.3 引用完整性 7.3.4 存储过程检查 7.3.5 使用触发器 7.4 避免更改引起的大量改动 7.4.1 使用视图 7.4.2 使用同义名 7.4.3 ...

    Oracle.11g.从入门到精通 (2/2)

    7.2.3 使用序列实现 7.3 实现数据的完整性 7.3.1 域完整性 7.3.2 实体完整性 7.3.3 引用完整性 7.3.4 存储过程检查 7.3.5 使用触发器 7.4 避免更改引起的大量改动 7.4.1 使用视图 7.4.2 使用同义名 7.4.3 使用光标 ...

    Oracle.11g.从入门到精通 (1/2)

    7.2.3 使用序列实现 7.3 实现数据的完整性 7.3.1 域完整性 7.3.2 实体完整性 7.3.3 引用完整性 7.3.4 存储过程检查 7.3.5 使用触发器 7.4 避免更改引起的大量改动 7.4.1 使用视图 7.4.2 使用同义名 7.4.3 使用光标 ...

    Oracle 10g 学习笔记

    这个笔记是学习oracle数据库过程中整理出来的,比较详细,适合于初学者。 │ oracle与tomcat端口冲突.txt │ Oracle学习笔记.pdf │ Oracle学习笔记.wps │ 安装Oracle后myEclipse不能正常使用.txt │ 手工配置...

    oracle database 11g 高清完整中文版part2

     第44章 java 存储过程 第ⅶ部分 指 南  第45章 oracle 数据字典指南  第46章 应用程序和sql 调整指南  第47章 sql 结果缓存和客户端查询缓存  第48章 关于调整的示例分析  第49章 高级体系结构选项—— db...

    oracle 示例代码

    包括触发器、序列、游标参数 游标、转出过程参数、游标的rowcount用法 用游标修改数据 用for使用游标、视图、存储过程、隐式游标、过程等

    oracle .

    Oracle数据库基础 查询基础 表及索引的定义操作 视图、同义词和序列 簇与分区 复杂查询语句的使用 一些高级的用法 安全管理 其它一些常见问题及技巧 常用技巧 Oracle PL/SQL基础 PL/SQL 块结构和组成元素 PL/SQL ...

    ORACLE11G宝典.rar 是光盘里面的内容,书太厚咧没法影印啊

     《Oracle11g宝典》以Oracle提供的示例数据库为背景,从基本原理、理论提高、实际操作、经验策略、应用开发等方面,结合命令行方式、开发工具的使用、管理工具的使用、Oracle与Windows之间的关系等知识点,按照学习...

    Oracle Database 11g初学者指南--详细书签版

    5.7 如何创建存储过程以及创建存储过程的原因 146 5.8 函数的创建和使用 149 5.9 调用PL/SQL程序 151 5.10 本章测验 152 第6章 数据库管理员 153 6.1 了解DBA的工作 154 6.2 执行日常操作 154 6.2.1 体系结构...

    Oracle_Database_11g完全参考手册.part3/3

    《Oracle Database 11g完全参考手册》全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有的新增功能和工具,如何执行功能强大的SOL查询,如何编写PL/SQL和SQL*Plus语句,如何使用大对象和对象,...

    Oracle_Database_11g完全参考手册.part2/3

    《Oracle Database 11g完全参考手册》全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有的新增功能和工具,如何执行功能强大的SOL查询,如何编写PL/SQL和SQL*Plus语句,如何使用大对象和对象,...

Global site tag (gtag.js) - Google Analytics