- 浏览: 331329 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
longge424:
你好,可否将saml与spring security结合使用的 ...
SAML介绍 -
bnmnba:
mark
(转)Ant 学习笔记(一) -
redhacker:
写的还不错!谢谢!
SAML介绍 -
linluxian:
SAML介绍 -
hyj1254:
有效,good.
Linux创建目录与删除目录命令具体分析
子程序分类 过程:又叫存储过程,Stored Procedure,简称:sp。 函数:function 触发器:trigger 存储过程:strore procedure,所以用 sp_ 函数:function,所以用 fun_ 触发器:trigger,所以用 tr_ 包:package,所以用pkg 参数:parameter,所以用 p_ 变量:value,所以用 v_ 说明: 每个公司都有一些自定义开发规范。 子程序优点 模块化:一个过程完成一个模块 可重用性:一次编写,反复调用 易维护:谁出错,修改谁 易调试:可以单步调试,而匿名块不能(实用功能) 与块的关系 存储过程头定义+块 = 存储过程 调用存储过程 call 存储过程(变量):JDBC中调用sp标准方式 exec 存储过程(变量):PL/SQL中调用,支持控制台输出 案例一:删除指定名称表格 特点:无参数存储过程 CREATE OR REPLACE PROCEDURE sp_del_table 案例二:添加员工和部门(给出部门名,工号,姓名,工作日期) 特点:输入参数 CREATE OR REPLACE PROCEDURE sp_add_info SQL> exec sp_add_info('new1',2000,'javaboy',to_date('2008-4-5','yyyy.mm.dd')); 案例三:添加指定员工,并返回员工总数 特点:输入参数,输出参数 CREATE OR REPLACE PROCEDURE sp_add_emp 调用命令: 案例四:根据员工号更新员工姓名(最大10位),并返回新姓名 特点:输入输出参数 CREATE OR REPLACE PROCEDURE update_emp_info 调用: SQL> var emp_name varchar2(20); SQL> exec :emp_name :='01234567890123456789'; PL/SQL procedure successfully completed emp_name --------- 01234567890123456789 SQL> exec update_emp_info(3001,:emp_name); PL/SQL procedure successfully completed emp_name --------- 0123456789 SQL> begin 2 dbms_output.put_line(:emp_name); 3 end; 4 / 传递参数 根据位置传递(根据参数定义的顺序调用) 根据名称传递(根据参数的名称调用,顺序可与定义时不同) 混合传递(同时使用位置和名称传递)。 案例:添加部门信息,部门名称重复时要给出提示,然后通过三种方式调用。 CREATE OR REPLACE PROCEDURE add_dept 子程序
存储过程
AS
str_sql VARCHAR2(1000);
str_table_name VARCHAR2(100);
BEGIN
str_table_name := 't1';
str_sql := 'drop table '||str_table_name;
EXECUTE IMMEDIATE str_sql;
END;
(
p_dept_name IN dept.dname%TYPE,
p_empno emp.empno%TYPE,
p_ename emp.ename%TYPE,
p_hiredate emp.hiredate%TYPE
)
AS
v_max_deptno dept.deptno%TYPE;
BEGIN
SELECT nvl(MAX(dept.deptno),0) INTO v_max_deptno FROM dept;
INSERT INTO dept(deptno,dname) VALUES(v_max_deptno+1,p_dept_name);
INSERT INTO emp(empno,ename,hiredate,deptno) VALUES(p_empno,p_ename,p_hiredate,v_max_deptno+1);
COMMIT;
END;
(
p_emp_no emp.empno%TYPE,
p_emp_name emp.ename%TYPE,
p_emp_count OUT NUMBER
)
AS
BEGIN
INSERT INTO emp(empno,ename) VALUES(p_emp_no,p_emp_name);
COMMIT;
SELECT COUNT(*) INTO p_emp_count FROM emp;
END;
SQL> set serveroutput on
SQL> var emp_count number;
SQL> exec sp_add_emp('kk',2002,:emp_count);
SQL> begin
2 dbms_output.put_line(:emp_count);
3 end;
4 /
(
p_emp_no emp.empno%TYPE,
p_emp_name IN OUT emp.ename%TYPE
)
AS
len_name NUMBER(2);
BEGIN
len_name := length(p_emp_name);
IF(len_name>10)THEN
p_emp_name := substr(p_emp_name,1,10);
END IF;
INSERT INTO emp(empno,ename) VALUES(p_emp_no,p_emp_name);
COMMIT;
END;
( p_dept_no dept.deptno%TYPE,
p_dept_name dept.dname%TYPE
)
AS
dept_count NUMBER(1);
BEGIN
SELECT COUNT(*) INTO dept_count FROM dept
WHERE dept.dname=p_dept_name;
IF(dept_count>=2)THEN
raise_application_error(-20005,'部门名称不能重复!');
END IF;
INSERT INTO dept(deptno,dname)
VALUES(p_dept_no,p_dept_name);
COMMIT;
END;
发表评论
-
(分析比较到位)NoSql 分析 hbase,mongodb,redis
2015-07-16 18:15 7172hbase,mongodb,redis都属于nosql型存储 ... -
(分享)数据库与数据仓库的区别
2015-06-24 10:07 748简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。 ... -
数据库的范式及反范式
2015-06-12 15:10 848范式:英文名称是 Normal Form,它是英国人 E. ... -
SQL语言艺术学习总结(一)
2011-01-01 20:52 1150这几天看了《SQ ... -
Oracle中如何查找与解决SQL语句执行效率(转载)
2010-12-30 18:29 1724一、识别占用资源较多的语句的方法(4种方法) 1.测 ... -
(转)MySQL 命令指南
2010-12-06 22:48 9441、mysql服务的启动和停止 net stop my ... -
关于数据库的模式,外模式,内模式
2010-11-17 11:06 62391、外模式 外模式又称子模式,对应于用户级。它是某个或某几 ... -
SQL各种Join用法(Full,Left,Out,Inner)--转
2010-11-06 10:47 2757a. CROSS JOIN 笛卡尔积如果不带WHERE条件子句 ... -
使用on delete cascade和on delete set null建立外键(转)
2010-11-06 10:40 1750例如下面这两个表中分别存的时员工的基本信息和公司的部门信息 ... -
定义、修改、删除表(转)
2010-11-06 10:21 1509一、创建表(Creat Table) ... -
Oralce 编程需要修炼的内容
2010-10-28 21:18 941以下的文章,主要为大家在实际工作中提供一种解决方 ... -
针对大数据量表的优化查询
2010-10-28 21:02 17901:索引,我们最先想到的就是创建索引,创建索引可以成 ... -
select 语句的整体结构
2010-10-28 20:38 1507SELECT语句中的主要子句归纳如下: SELECT s ... -
关于数据表级联删除的问题
2010-10-28 20:20 1227今天在笔试过程中遇到 ... -
数据库集群原理
2010-08-14 20:02 5231对于应用服务器集群,应该是非常常见的。通过集群,可以很简 ... -
sqlplus常用命令使用 --转
2010-07-29 17:13 4926show和set命令是两条用于维护SQL*Plus系统变量 ... -
Oracle使用Profile对用户Session会话进行资源限制
2010-07-05 16:41 2519通过profile可以对用户会话进行一定的限制,比如IDLE时 ... -
Linux下删除oracle实例
2010-06-28 17:53 2100前两天远程重建oracle实例过程中遇到的问题,记录如下: ... -
在suse linux enterprise 10 中安装 oracle 10g (带图说明)
2010-06-26 15:29 3595Oracle10G 最低系统要求: ... -
oracle 启动遇到错误-- Connected to an idle instance
2010-06-25 18:21 7528现象及解决思路: 现象: 1)备份数据:exp c ...
相关推荐
Oracle 存储过程学习目录是 Oracle 存储过程学习的基础知识,了解 Oracle 存储过程的基本语法、基础知识和一些常见问题的解决方法是非常重要的。本文将从 Oracle 存储过程的基础知识开始,逐步深入到 Oracle 存储...
这个"ORACLE存储过程学习源码"集合包含了从基础到高级的30个示例,是学习和掌握Oracle存储过程的理想资源。下面,我们将深入探讨存储过程的基本概念、结构、类型,以及如何通过这些源码进行学习。 1. **存储过程的...
### Oracle存储过程学习经典 #### Oracle存储过程基础知识与实践 Oracle存储过程是SQL与PL/SQL结合的强大功能,用于封装复杂的数据操作逻辑于数据库内部,从而实现高效的事务处理和数据管理。以下是对Oracle存储...
这组学习资料涵盖了存储过程的基础操作和进阶知识,对于想要深入理解Oracle数据库管理和开发的人员来说非常有价值。 1. **存储过程的定义与类型** - 存储过程可以分为三种类型:简单存储过程(仅包含SQL语句)、带...
### Oracle存储过程学习经典知识点详解 #### 一、Oracle存储过程概述 - **定义**: 存储过程是在数据库中预编译并存储的一段SQL或PL/SQL代码块,它可以包含复杂的逻辑处理,用于实现特定的功能。存储过程提高了代码...
在本学习资料中,你将深入理解Oracle存储过程的创建、调用、调试以及优化等多个方面。 1. **存储过程的创建**: Oracle存储过程通过`CREATE PROCEDURE`语句来定义。你可以指定输入参数、输出参数、输入输出参数,...
### Oracle存储过程学习文档知识点详解 #### 一、Oracle存储过程概述 **1.1 存储过程定义:** Oracle存储过程是一种存储在数据库中的PL/SQL代码块,它可以接收输入参数并返回输出参数。存储过程能够执行复杂的业务...
《Oracle触发器与存储过程...通过对这本书的深入学习,读者不仅能掌握Oracle触发器和存储过程的基本概念,还能提升在实际项目中运用这些技术解决复杂问题的能力。无论是数据库管理员还是开发人员,都将从中受益匪浅。
本资源“Oracle学习开发常用的SQL和存储过程学习(内含SQL面试题目和存储过程,函数面试题目).zip”提供了全面的学习材料,旨在帮助初学者和求职者提升在Oracle数据库中的SQL查询和存储过程编写技能。 SQL...
这个"Oracle存储过程学习经典(实例)"资源显然是为初学者设计的,旨在帮助他们掌握如何创建、执行和管理存储过程。 存储过程在数据库管理中扮演着关键角色,它可以提升系统的性能,通过减少网络流量和提供预编译的...
`oracle procedure.chm`是一个帮助文件,通常包含详细的参考信息、示例和教程,供用户学习和查询Oracle存储过程的用法。CHM(Compiled HTML Help)格式是一种微软提供的离线帮助文档格式,用户可以通过搜索和导航来...
总的来说,"Oracle通过存储过程POST方式访问接口"涉及到数据库编程、网络通信和安全性等多个方面,需要综合运用PL/SQL和Oracle的网络工具。通过学习和实践,你可以构建出高效、安全的接口交互方案。
Oracle存储过程常用技巧 Oracle存储过程是一种强大的数据库对象,它可以帮助开发者简化复杂的业务逻辑,并提高数据库的安全...通过学习这些技巧,开发者可以更好地使用 Oracle 存储过程,提高开发效率和数据库性能。
通过学习本教程,你将能够熟练地创建、调用和管理Oracle存储过程,解决复杂的业务问题,提升数据库应用的效率和安全性。教程中的20篇文档将覆盖这些知识点的详细解释和示例,帮助你逐步成为Oracle存储过程的专家。
这个“Oracle存储过程案例”提供了丰富的学习材料,帮助用户从入门到精通掌握存储过程和游标的使用。下面我们将深入探讨这两个核心概念。 一、Oracle存储过程 存储过程是预编译的SQL语句集合,可以包含数据查询、...
Oracle存储过程学习总结涵盖了Oracle中存储过程的编写与应用,涉及到字符串处理、游标使用、PL/SQL编程等方面的知识点。 首先,字符串处理是存储过程中常见的操作。文章中提到了多个内置函数,如CONCAT用于连接字符...
Oracle数据库是世界上最广泛使用的数据库系统之一,其强大的功能和灵活性使得开发者可以利用各种特性来实现复杂的业务逻辑。在Oracle中,触发器和存储过程是两个关键的数据库编程元素,它们在数据管理和业务流程自动...
### C#调用Oracle方法(包括调用存储过程) 在.NET框架中,使用C#语言进行数据库操作是一项常见的任务。本文将详细介绍如何使用C#语言连接Oracle数据库,并演示如何调用Oracle存储过程,特别是带有输出参数的情况。...