`
qnzhl
  • 浏览: 29654 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

存储过程(sp)的应用

阅读更多
存储赋权
存储逻辑处理有返加值
存储有异常处理

create or replace procedure proc_grant(OWNER VARCHAR2,OWNERAPP VARCHAR2,OWNERREAD VARCHAR2)
  AS
  V_OBJECT VARCHAR(128);
  CURSOR BRANCH01 IS SELECT OBJECT_NAME FROM USER_OBJECTS T WHERE OBJECT_TYPE IN('TABLE','VIEW');
  CURSOR BRANCH02 IS SELECT OBJECT_NAME FROM USER_OBJECTS T WHERE OBJECT_TYPE IN('FUNCTION','FROCEDURE','PACKAGE');
  CURSOR BRANCH03 IS SELECT OBJECT_NAME FROM USER_OBJECTS T WHERE OBJECT_TYPE IN('SEQUENCE');
  BEGIN
   V_OBJCET :='';
   OPEN BRANCH01;
   LOOP
   FETCH CUR_BRANCH01
   INTO V_OBJECT;
   EXIT WHEN CUR_BRANCH01%NOTFOUND;
   IF LENGTH(TRIM(OWNERAPP))>0
   THEN
   EXECUTE IMMEDIATE 'GRANT SELECT,INSERT,DELETE,UPDATE ON '||V_OBJECT||' TO '||OWNERAPP;
   EXECUTE IMMEDIATE 'CREATE OR REPLACE SYNONYM '||OWNERAPP||'.'||V_OBJECT||' FOR '||OWNER||'.'||V_OBJECT;
 
    END IF;
   END LOOP;
   CLOSE BRANCH01
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE(SQLCODE || SQLERRM);
WHEN OTHERS THEN
INSERT INTO LOG(ECODE,EMESSAGE,EINFO) VALUES(V_ERRCODE,V_ERRMSG,V_INFORMATION);
COMMIT;
RETURN
  END proc_grant;
  




例2:
Connection conn=ConUtil.getConnectio n();
CallableStatement proc;
int res=0;
proc=conn.prepareCall("{call proc1(?)}");
proc.registerOutParameter(1,Types.NUMBERIC);
proc.execute();
res=proc.getInt(1);
con.close();




分享到:
评论

相关推荐

    存储过程扩展学习

    存储过程是数据库中预编译的SQL语句集合,它是一种可重复使用的...通过这些示例,我们可以理解存储过程在数据库管理和应用程序开发中的重要性,它们简化了数据库操作,提高了性能,同时提供了安全性和代码组织的便利。

    SQL存储过程解密代码-sp_Decrypt

    它的工作原理通常是通过内部机制获取到加密的存储过程二进制数据,然后应用解密算法还原出原始的T-SQL代码。这个过程可能涉及到对SQL Server的内部表和系统存储过程的直接操作。 在使用"sp_Decrypt"之前,你需要...

    存储过程的应用

    本文将详细讨论如何在Java程序中调用Oracle数据库的存储过程,以及其在实际项目中的应用。 首先,我们需要创建测试环境。在Oracle数据库中,我们以scott/tiger用户身份创建了两个表carl_test和carl_test1,并向carl...

    存储过程和触发器的应用

    ### 存储过程和触发器的应用 #### 一、存储过程概述 ##### 1.1 存储过程的概念 **存储过程(Stored Procedure)** 是一组为了完成特定功能的 SQL 语句集,它们经过编译后存储在数据库中。用户可以通过指定存储...

    SQLServer存储过程在系统开发中的应用

    ### SQL Server 存储过程在系统开发中的应用 #### 概述 在现代数据库系统开发过程中,SQL Server 存储过程被广泛应用于提高系统性能、简化应用程序开发以及增强安全性等方面。存储过程是一种预编译的SQL脚本,它...

    oracle存储过程应用实例

    ### Oracle存储过程应用实例 #### 一、存储过程概述 存储过程是一种预先编写并编译好,存储在数据库中的程序代码。它能够接受输入参数,并根据这些参数执行一系列操作,最终返回结果。存储过程的优势在于它能够...

    SQL Server常用的系统存储过程应用实例

    本篇文章将深入探讨一些常用的系统存储过程,并通过实例介绍它们的应用。 首先,我们来看`sp_attach_db`这个存储过程。它的主要作用是将已经分离的数据库重新附加到SQL Server实例上。在使用`sp_attach_db`时,我们...

    SQL Server存储过程的写法以及应用

    ### SQL Server 存储过程的写法及应用详解 #### 一、存储过程概述 存储过程(Stored Procedure)是在数据库中存储的一组预编译的 SQL 语句和控制流语句的集合,它们作为一个单元存储在数据库中,并可以通过一个...

    MFC在数据库应用程序开发中应用存储过程

    在SQL Server中,存储过程分为系统存储过程(例如,以sp_为前缀的存储在master数据库中的过程)和用户自定义存储过程。用户自定义存储过程允许开发人员根据需求创建定制的功能,如查询、更新或插入数据。 存储过程...

    实验9 存储过程的创建和使用

    实验9主要围绕存储过程的创建、使用、查看、修改和删除等核心概念展开,这是数据库管理系统中的重要组成部分,尤其在SQL Server中具有广泛的应用。存储过程是一组预先编写的SQL语句,它允许用户像调用函数一样重复...

    SQL Server中存储过程比直接运行SQL语句慢的原因

    系统存储过程以 sp_ 开头,用于进行系统的各项设定、取得信息和相关管理工作。扩展存储过程以 XP_ 开头,用于调用操作系统提供的功能。用户自定义的存储过程是我们所指的存储过程,常用格式为 Create procedure ...

    数据库查询的存储过程

    1. 在服务器上执行存储过程,可以改善应用程序的性能。这是因为服务器往往具有强大的计算能力和速度。 2. 避免把大量的数据下载到客户端,减少网络上的传输量。 系统存储过程: 1. sp_who:提供当前用户和进程的...

    Oracle存储过程应用实例

    ### Oracle存储过程应用实例 #### 一、存储过程概述 存储过程是一种预先编写并存储在数据库中的程序,它可以通过接收参数、执行SQL语句或PL/SQL代码块来完成特定的任务,并将结果返回给调用者。存储过程的主要优势...

    存储过程.pdf

    ### 存储过程基本知识点详解 #### 一、存储过程概览 ...无论是系统存储过程还是用户自定义存储过程,在实际开发中都有着广泛的应用场景。理解和掌握存储过程的基本语法和使用方法对于数据库开发者来说至关重要。

    解密SQL Server2000存储过程(可以选择存储过程查询)

    使用`SP_HELP`系统存储过程可以查看存储过程的详细信息。要修改存储过程,可以使用`ALTER PROCEDURE`语句。 7. **删除存储过程** 如果不再需要某个存储过程,可以使用`DROP PROCEDURE`语句进行删除。 8. **小...

    SQL SERVER扩展存储过程实现机制及应用方法初探.pdf

    SQL SERVER 扩展存储过程实现机制及应用方法初探 SQL Server 扩展存储过程是数据库对象中的一种,它驻留在数据库服务器中,一次解释,多次执行,运行存储过程不仅比在客户端运行 SQL 语句效率高,而且由于减少了...

    SQL Server 2000中几个系统存储过程的应用.pdf

    在备份和恢复方面,存储过程sp_attachdb允许用户将数据库文件附加到新的或原有的服务器,这对于迁移或者灾难恢复来说非常有用。当数据库文件丢失或损坏时,可以使用此存储过程从备份中恢复数据库。sp_addlogin用于...

    sql存储过程教程

    - **应用场景**: 在大型数据库系统中,特别是那些需要频繁执行相同或相似任务的环境中,存储过程因其高效率和灵活性而受到广泛使用。 - **特点**: - 预编译特性使得存储过程在执行时更快。 - 可以接收参数并返回...

    基于MS SQL Server的存储过程的研究与应用.pdf

    大部分可在用户数据库中使用系统存储过程的名字都以“sp_”为前缀。用户定义的存储过程是由用户为完成某一特定功能而编写的存储过程。扩展存储过程是对动态链接库(DLL)函数的调用。 3. 存储过程的用途 存储过程...

Global site tag (gtag.js) - Google Analytics