DB2 9.5 SQL Procedure Developer 认证考试 735 准备,第2部分
2010-02-16 14:59:32 来源:WEB开发网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设计存储过程,以及如何构建和测试它们。本教程还介绍了嵌套过程的概念,并展示了如何调用它们以及如何在过程之间共享数据。通过学习如何使用这些存储过程,您将可以将复杂的业务逻辑集成到整个数据库应用程序中。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接