写Oracle存储过程习惯用PL/Sql dev,里面有一些模版,我这里也记录一些目前经常使用的一些:
--基本例子
create or replace procedure TestProc as
begin
for c in (select fieldName from tableName)
loop
dbms_output.put_line(c.fieldName);
end loop;
endTestProc
;
--带异常处理
create or replace procedure test2 as
--局部变量
vc varchar2(2048);
begin
--过程体卸载这里
Raise cust_exception;
-- 异常处理
EXCEPTION
when cust_exception then
dbms_output.put_line('custom exception');
WHEN OTHERS THEN
--回滚
ROLLBACK;
dbms_output.put_line('Other Errors');
RETURN;
--END;
end test2;
--匿名过程,常用于临时处理数据
DECLARE
--局部变量
l_elem MDSYS.SDO_ELEM_INFO_ARRAY;
l_ord MDSYS.SDO_ORDINATE_ARRAY;
l_srid NUMBER := 262148; -- Arbritrary X-Y Meters
l_gtype NUMBER := 2002; -- 2d Line
j NUMBER;
x NUMBER;
y NUMBER;
BEGIN
l_elem := MDSYS.SDO_ELEM_INFO_ARRAY();
l_ord := MDSYS.SDO_ORDINATE_ARRAY();
l_elem.EXTEND(3);
l_elem(1) := 1;
l_elem(2) := 2; -- etype line
l_elem(3) := 1; -- interpretation straight segments
--for循环
for j in 1 .. 1500 LOOP
x := j;
y := mod(j, 2);
l_ord.EXTEND(2);
l_ord(l_ord.LAST - 1) := x;
l_ord(l_ord.LAST) := y;
END LOOP;
INSERT INTO SHAPELY (entid, coordinates)
values ('BINDVAR', MDSYS.SDO_GEOMETRY(l_gtype, l_srid, NULL,l_elem, l_ord) );
end;
--动态游标,带参数,返回值
create or replace function TestProc(v in varchar2) return varchar2 is
strSql varchar2(4056);--SQL语句
type rCursor is ref cursor; --游标类型
cur rCursor;--定义游标
begin
--拼装语句
strSql := 'select field1 from tabName where field2 = ' || v;
open cur for strSql;
LOOP
dbms_output.put_line(cur.field1);
END LOOP;
CLOSE cur; --关闭游标
return('OK');
end TestProc;
分享到:
相关推荐
Oracle存储过程是数据库管理系统Oracle中的一种重要特性,它允许开发者编写一组SQL和PL/SQL语句,形成一个可重用的程序单元。存储过程的概念类似于高级编程语言中的模块,通过参数传递来实现数据的交互,体现了模块...
1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN NUMBER, 参数2 IN NUMBER ) IS 变量1 INTEGER :=0; 变量2 DATE; BEGIN END 存储过程名字
在本篇“Oracle存储过程学习笔记(四)”中,我们将深入探讨存储过程的概念、创建、执行以及在实际应用中的优势。 1. **存储过程的概念** 存储过程是一组预先编译的SQL和PL/SQL语句,存储在数据库服务器中。当需要...
标题中提到的“ORACLE DBA工作笔记 运维数据迁移与性能调优”揭示了这本书籍主要围绕着Oracle数据库管理员(DBA)在日常工作中经常需要进行的两项关键任务:数据迁移和性能调优。作为一名Oracle DBA,不仅要负责...
oracle存储过程 基础知识大全 oracle存储过程分享 实用指数五颗星哈
Oracle 的 System Global Area(SGA)是 Oracle 实例的内存结构,用于存储数据库的各种信息。查看 SGA 信息可以帮助 DBA 了解数据库的当前状态,例如,查看 SGA 的大小、使用情况、共享池的大小等。 3. 查看命中率...
Oracle数据库是世界上最流行的数据库管理系统之一,广泛应用于企业级的数据存储和管理。韩顺平的“玩转Oracle”视频教程旨在帮助学习者掌握Oracle的核心概念和技术。以下是对视频教程笔记的详细解析: 首先,Oracle...
oracle笔记存储函数和存储过程,有具体的代码案例!存储函数和存储过程的知识笔记!
其次,笔记可能会深入到Oracle的高级特性,比如PL/SQL编程,这是一种专为Oracle设计的过程化编程语言,用于创建存储过程、函数、触发器等。此外,可能还会涵盖数据库事务处理、并发控制和锁机制,这些都是保证数据...
以下是对Oracle数据库课堂笔记的详细解析,涵盖了从基础到进阶的重要知识点。 第一讲:Oracle简介 Oracle数据库是由甲骨文公司开发的,提供了一整套数据存储、管理和检索解决方案。它支持多种操作系统和硬件平台,...
PL/SQL是Oracle的存储过程语言,结合了SQL和过程式编程。它可以创建存储过程、函数、触发器等,实现复杂的业务逻辑和数据库控制。 九、事务处理 在Oracle中,事务是一组SQL语句,被视为一个工作单元。事务处理包括...
### Oracle原厂培训笔记知识点概览 #### 一、Oracle认证体系介绍 - **OCA (Oracle Certified Associate)**: 入门级别的Oracle认证,适用于具备基本Oracle技能的专业人士。 - **OCP (Oracle Certified Professional)...
《涂抹Oracle - 三思笔记之一步步学Oracle》是一本旨在深入浅出地教授Oracle数据库技术的书籍。源代码部分提供了配合书本学习的实际操作示例,帮助读者更直观地理解Oracle数据库的工作原理和操作技巧。以下是根据...
这份"oracle笔记(存储过程函数触发器游标流程控制等)"涵盖了Oracle数据库管理中的关键知识点,包括但不限于以下几个方面: 1. **存储过程与函数**:存储过程是预编译的SQL语句集合,用于执行特定任务。它们可以提高...
存储过程是Oracle数据库中预编译的SQL语句集合,可以视为可重复使用的功能模块。通过创建存储过程,我们可以提高代码复用性,减少网络通信,提升系统性能。存储过程可以包含输入、输出参数,甚至可以有返回值。在...
### ORACLE经典学习笔记知识点概览 #### 第一章 ORACLE 命令 本章节主要介绍了Oracle数据库中常用的命令及其使用方法。 1. **查看参数文件**: `Desc v$parameter` - 这个命令用于查看Oracle的参数文件信息,通过...
标题“2011Oracle笔记(李兴华视屏教程笔记)”揭示了文档的用途,它是作为2011年李兴华Oracle教学视频课程的学习笔记。这种笔记通常包括了课程中的重点概念、Oracle数据库基础知识、实际操作案例以及配合视频教程的...
数据字典是Oracle数据库中的一个重要组成部分,用于存储关于数据库对象的信息。笔记中演示了查询`v$dba_users`、`user_tables`、`all_tables`和`dba_tables`等视图,这些都是获取用户、表和其他数据库对象信息的...