*、oracle之存储过程语法基础
create [or replace] procedure 存储过程名称 is|as 变量n 类型(范围); begin 操作 exception when others then rollback; end [存储过程名称]
*、oracle中的一个更新sequence的应用实例
create or replace procedure UpdateSeq is dropCurSeqSql varchar2(300); createCurSeqSql varchar2(300); curSeqSql varchar2(400); isExistSql varchar2(300); existTableNum number; curMaxIdSql varchar2(400); curSeqName varchar2(100); curSeqInCre number; curTableName varchar2(100); curMaxId number; begin for curSeqSql in (select * from user_sequences) loop curSeqName := curSeqSql.Sequence_Name; if(instr(curSeqName,'SEQ_')>0) then curTableName := substr(curSeqName,instr(curSeqName,'SEQ_')+4); else continue; end if; isExistSql := 'select count(1) from user_tables where table_name= '||chr(39)||curTableName||chr(39); execute immediate isExistSql into existTableNum; if (existTableNum <= 0) then continue; end if; if(instr(curTableName,'DC_')>0) then curMaxIdSql := 'select nvl(max(oid),0) from '|| curTableName; else curMaxIdSql := 'select nvl(max(id),0) from '|| curTableName; end if; dropCurSeqSql := 'drop sequence '||curSeqName; execute immediate dropCurSeqSql; execute immediate curMaxIdSql into curMaxId; curSeqInCre := curSeqSql.Increment_By; createCurSeqSql := 'create sequence '||curSeqName||' minvalue 1 maxvalue 99999999 start with '||concat((curMaxId+curSeqInCre),'')||' increment by '||concat(curSeqInCre,'')||' nocache order'; execute immediate createCurSeqSql; dbms_output.put_line(createCurSeqSql); end loop; dbms_output.put_line('over!'); exception when others then dbms_output.put_line(sqlcode||'----'||sqlerrm); Rollback; end UpdateSeq; 总结: 由于sequence和表名之间没有直接联系的表,所以在设计sequence的时候一定要先设计好某种规则 ,比如在表名前加SEQ_的前缀,规范大于设计理念。 然后根据该规则进行sequence的动态更新!
-----------------------------------------------------------资源列表------------------------------------------------------------------
*、零散的资源
https://www.cnblogs.com/goodbye305/archive/2008/06/23/1228073.html http://blog.csdn.net/u011704894/article/details/44976557 https://www.cnblogs.com/oraclestudy/articles/5779189.html http://blog.itpub.net/22678696/viewspace-1116535/ https://www.cnblogs.com/haldir/p/5533414.html
相关推荐
本文将从 Oracle 存储过程的基础知识开始,逐步深入到 Oracle 存储过程的高级应用,包括 Hibernate 调用 Oracle 存储过程和 Java 调用 Oracle 存储过程的方法。 Oracle 存储过程基础知识 Oracle 存储过程是 Oracle...
以下是对“oracle存储过程解锁”这一主题的深入解析。 ### 标题:“oracle存储过程解锁” #### 解析: 在Oracle数据库中,存储过程是一种预先编译并存储在数据库中的SQL代码块,用于执行复杂的业务逻辑或数据处理...
本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法。分享给大家供大家参考,具体如下: 这里主要测试在Python中通过cx_Oracle调用PL/SQL。 首先,在数据库端创建简单的存储过程。 create or replace ...
oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel
#### Oracle存储过程创建 首先,我们需要在Oracle数据库中创建一个存储过程。以下是一个示例存储过程`pkg_test`的创建脚本: ```sql CREATE OR REPLACE PACKAGE pkg_test AS TYPE myrctype IS REF CURSOR; ...
### Oracle存储过程 存储过程是在数据库中预编译的一组SQL语句,用于执行复杂的业务逻辑或数据操作。它们可以接受输入参数,执行一系列数据库操作,并返回结果。在Oracle中,存储过程使用PL/SQL编写,可以在数据库...
使用Spring的JdbcTemplate调用Oracle的存储过程
oracle分页存储过程,oracle分页存储过程
oracle存储过程加密破解 0
Oracle存储过程unwrap解密工具主要用于处理Oracle数据库中的加密存储过程。在Oracle数据库系统中,为了保护敏感代码或数据,开发人员有时会选择对存储过程进行加密。然而,当需要查看、调试或恢复这些加密的存储过程...
总的来说,"Oracle通过存储过程POST方式访问接口"涉及到数据库编程、网络通信和安全性等多个方面,需要综合运用PL/SQL和Oracle的网络工具。通过学习和实践,你可以构建出高效、安全的接口交互方案。
### Oracle存储过程返回结果集详解 #### 一、概述 在Oracle数据库中,存储过程是一种重要的编程组件,它能够执行一系列SQL语句并处理复杂的业务逻辑。存储过程的一个常见应用场景是返回结果集(Record Set),这有...
### Oracle存储过程、函数与DBLink详解 #### 一、Oracle存储过程简介 在Oracle数据库中,存储过程是一种预编译好的SQL代码集合,它可以接受输入参数、返回单个值或多个值,并能够执行复杂的数据库操作。存储过程...
以下是一个简单的示例,展示了如何调用一个不带参数的Oracle存储过程: ```java Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); session....
Oracle存储过程是数据库管理系统中的一种重要特性,它允许开发者编写一系列SQL语句和PL/SQL块,形成可重复使用的代码单元。这篇博客“oracle存储过程-帮助文档”可能提供了关于如何创建、调用和管理Oracle存储过程...
oracle 存储过程示例oracle 存储过程示例oracle 存储过程示例oracle 存储过程示例oracle 存储过程示例oracle 存储过程示例oracle 存储过程示例oracle 存储过程示例
总结起来,"帆软报表Oracle存储过程解决storeParameter1参数试用插件"主要是针对在调用无参数Oracle存储过程时出现的异常问题提供的一种解决方案。通过安装并配置这个插件,用户可以顺利地在帆软报表中调用不包含...
Delphi 中调用 Oracle 的存储过程返回数据集是指在 Delphi 应用程序中调用 Oracle 数据库中的存储过程,并将存储过程的返回结果集显示在 Delphi 应用程序中。这种方式可以将 Oracle 数据库中的数据实时同步到 Delphi...