1 / 12
文档名称:

房地产名盘广告语.doc

格式:doc   大小:45KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

房地产名盘广告语.doc

上传人:ipod0a 2018/5/27 文件大小:45 KB

下载得到文件列表

房地产名盘广告语.doc

相关文档

文档介绍

文档介绍:Pro*C程序设计
Tiger Consultation Studio
2018/5/27
1

Email: Wangzhiyong512@ MSN: Wangzhiyong512@
目录
Pro*C概述
Pro*C基础知识
事务处理
动态SQL技术
总结
2018/5/27
2

Email: Wangzhiyong512@ MSN: Wangzhiyong512@
动态SQL技术
动态SQL 编程是Pro*C/C++中一种比较高级的编程方法,它增强了应用程序的灵活性和可扩展性,运行应用程序在运行状态时动态组织SQL 语句并执行和处理执行结果。
Oracle支持如下两种动态SQL语句
标准动态SQL语句
Oracle高级动态SQL 语句
Oracle 动态SQL不支持以下列表的数据类型:
CURSOR 类型
结构数组(arrays of struct)
DML 语句的返回子句( returning)
Unicode 变量
LOBS 类型
2018/5/27
3

Email: Wangzhiyong512@ MSN: Wangzhiyong512@
动态SQL含义
动态SQL 就是在应用程序执行期间组织、准备、执行SQL 语句的方法和技术。
在一些应用程序中需要根据业务逻辑特点接收应用程序外部传输过来的变量,在运行时决定执行什么结构的SQL 语句,例如:
根据用户输入的表名,删除该表对应的数据,由于SQL变量在静态SQL 语句时不能应用到DELETE 表名位置的,所以没有办法在执行过程中通过静态SQL 语句完成这样的功能。
而动态SQL 语句则可以接受用户输入,动态的组织SQL 语句,完成上述要求。
2018/5/27
4

Email: Wangzhiyong512@ MSN: Wangzhiyong512@
动态SQL 的优缺点
优点:
增强应用程序灵活性
增强应用程序扩展性
完成静态SQL 所不能完成的工作
缺点:
编码相对复杂
执行效率没有静态SQL 好
2018/5/27
5

Email: Wangzhiyong512@ MSN: Wangzhiyong512@
动态SQL 适用环境
在应用程序执行时,如果以下元素在编写代码时不确定就需要使用动态SQL:
SQL 语句书写方式
SQL变量/ 宿主变量数目
SQL变量/ 宿主变量数据类型
未知Oracle 数据库Objects(表、视图、索引、列等)属性
2018/5/27
6

Email: Wangzhiyong512@ MSN: Wangzhiyong512@
动态SQL 执行条件(1)
无论如何执行动态SQL 语句,都需要一个包含有效的SQL 语句(不包括EXEC SQL 语句)、或下面嵌入式SQL 指令的字符串:
ALLOCATE
CLOSE
DECLARE
DESCRIBE
EXECUTE
FETCH
FREE
GET
INCLUDE
OPEN
PREPARE
SET
WHENEVER
2018/5/27
7

Email: Wangzhiyong512@ MSN: Wangzhiyong512@
动态SQL 执行条件(2)
嵌入式SQL 指令的字符串中,通常包含假的宿主变量
这些假的宿主变量只为告诉预处理器在该位置需要进行变量替换
这些假宿主变量不需要声明,可以采用任意命名方式
如下两个语句对动态SQL来说是完全一样的,尽管有“:mgr_number、:job_title”和“:m、:j”在样式上的区别,这些假宿主变量通常称为占位符号。
“DELETE FROM EMP WHERE MGR = :mgr_number AND JOB = :job_title”
“DELETE FROM EMP WHERE MGR = :m AND JOB = :j”
2018/5/27
8

Email: Wangzhiyong512@ MSN: Wangzhiyong512@
动态语句执行过程
通常一个应用程序提示用户输入SQL语句组成要素到宿主变量中
应用程序根据宿主变量值组织SQL语句
提交SQL语句到Oracle数据库服务器进行语法检查
Oracle绑定(bind)宿主变量到准备好的SQL语句中,此时Oracle得到宿主变量的地址,以能对变量内容进行读写
Oracle执行(execute)准备好的SQL语句
随着宿主变量的变化,Oracle可以重复执行这条SQL语句。
2018/5/27
9
Tiger.