WEB开发网
开发学院数据库DB2 DB2 9.5 SQL Procedure Developer 认证考试 735 准... 阅读

DB2 9.5 SQL Procedure Developer 认证考试 735 准备,第2部分

 2010-02-16 14:59:32 来源:WEB开发网   
核心提示:SQL过程中的SQL 访问级别对于SQL语句,有4 种 SQL 访问级别,DB2 9.5 SQL Procedure Developer 认证考试 735 准备,第2部分(9),它们控制 SQL过程可以定义什么类型的SQL语句,它们用于向数据库管理器提供信息,并展示了如何调用它们以及如何在过程之间共享数据,通过学习如何

SQL过程中的SQL 访问级别

对于SQL语句,有4 种 SQL 访问级别,它们控制 SQL过程可以定义什么类型的SQL语句。它们用于向数据库管理器提供信息,以便数据库管理器安全地执行语句。

可以使用的SQL 访问级别是:

NO SQL:存储过程中不能有SQL语句

CONTAINS SQL:存储过程中不能有可以修改或读数据的SQL语句

READS SQL:存储过程中不能有可以修改数据的SQL语句

MODIFIES SQL:存储过程中的SQL语句既可以修改数据,也可以读数据

SQL过程的默认设置是 MODIFIES SQL。

SQL 访问级别还可以确定可以从该存储过程中调用什么类型的存储过程。一个存储过程不能调用具有更高 SQL数据访问级别的其他存储过程。例如,被定义为CONTAINS SQL的存储过程可以调用被定义为CONTAINS SQL或NO SQL的存储过程。但是这个存储过程不能调用被定义为READS SQL DATA或MODIFIES SQL的其他存储过程。

SQL 访问级别可以在CREATE PROCEDURE语句中指定。

加密SQL过程

将SQL过程从一个服务器转移到另一个服务器是一项常见的任务。例如,一个供应商可能想将他们的SQL过程打包,并将那个包发送给他们的客户。如果供应商想对他们的客户隐藏或加密存储过程的内容,那么可以通过 PUT ROUTINE 和GET ROUTINE命令来实现。

GET ROUTINE是一个DB2命令,它从数据库中提取一个SQL过程,并将它转换成一个SAR(SQL Archive)文件,后者可以发送给客户。

清单 20. GET ROUTINE命令语法

>>-GET ROUTINE--INTO--file_name--FROM--+----------+------------->
                    '-SPECIFIC-'
>----PROCEDURE----routine_name--+-----------+------------------><
                '-HIDE BODY-'

GET ROUTINE命令上的HIDE BODY 子句确保 SQL过程的主体不被提取,从而加密存储过程。

PUT ROUTINE是一个DB2命令,它根据通过 GET ROUTINE 提取的SAR 文件,在数据库中创建SQL过程。

清单 21. PUT ROUTINE命令语法

>>-PUT ROUTINE--FROM--file-name--------------------------------->
>--+-------------------------------------+---------------------><
  '-OWNER--new-owner--+---------------+-'
            '-USE REGISTERS-'

结束语

本教程介绍了很多您将在DB2 9.5 SQL Procedure Developer Certification Exam(735)上见到的概念。本教程中的内容主要涵盖该考试第2部分 “SQL Procedures”中的目标。

在本教程中,您学习了 DB2 存储过程,以及应用程序如何受益于SQL过程。您看到了如何使用SQL PL设计存储过程,以及如何构建和测试它们。本教程还介绍了嵌套过程的概念,并展示了如何调用它们以及如何在过程之间共享数据。通过学习如何使用这些存储过程,您将可以将复杂的业务逻辑集成到整个数据库应用程序中。

上一页  4 5 6 7 8 9 

Tags:DB SQL Procedure

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接