当前位置:网站首页 > 技术博客 > 正文

动态sql语句



拟解决问题:
1.SQL语句如何执行?
2.动态SQL,依据条件动态构造SQL语句,但欲访问的表名和字段名对编写者是已知的。

动态SQL是相对静态SQL而言的。
在这里插入图片描述

1.静态SQL语言特点:SQL语言在程序中已经按照要求写好,只需要通过一些参数通过变量(高级语言程序语句中不带冒号)传送给嵌入式SQL语句即可(嵌入式SQL语句带冒号)。在这里插入图片描述
动态SQL特点:SQL语句可以在程序中动态构造,形成一个字符串,如上例sqltext,然后再交给DBMS执行,交给DBMS执行时仍旧可以传递变量。
在这里插入图片描述

 
  

动态SQL,依据条件动态构造SQL语句,但欲访问的表名和字段名对编程者是未知的。

数据字典(Data dictionary),又称为系统目录。
系统中的一些表或视图的集合,这些表或视图存储了数据库中各类对象的定义信息,这些对象包括用Create语句定义的表,列,索引,视图,权限,约束等,这些信息又称数据库的元数据–关于数据的数据。

数据字典通常存储的是数据库和表的元数据,即模式本身的信息:
1.与关系相关的信息(关系名字,每个关系的属性名及其类型,视图的名字及其定义,完整性约束)。
2.用户与账户信息,包括密码。
3.统计与描述性数据:如每个关系中元组的数目
4.物理文件组织信息
5.索引相关的信息




数据字典的结构
也是存储在磁盘上的关系。
专为内存高效访问设计的特定的数据结构。
模式的含义是指某一用户所设计使用的表,索引及其他数据库有关的对象的集合,因此表的完整名:模式名.表名。


Oracle数据字典由视图组成,分为三种不同形式:
USER_:用户视图,用户所拥有的对象。
ALL_:扩展的用户视图,用户可访问的对象。
DBA_:DBA视图。


构造复杂的动态SQL需要了解的数据字典及SQLDA,以获知关系模式信息。
SQLDA:SQL Descriptor Area,SQL描述符区域:
1.SQLDA是一个内存数据结构,内可装载关系模式的定义信息,如列的数目,每一列的名字和类型等。
2.通过读取SQLDA信息可以进行更为复杂的动态SQL的处理。
3.不同的DBMS的SQLDA格式并不是一致的。



版权声明


相关文章:

  • nginx如何搭建网站2025-06-10 19:01:05
  • 算力1p等于多少t2025-06-10 19:01:05
  • oracle sysctl2025-06-10 19:01:05
  • waitpid函数作用2025-06-10 19:01:05
  • linux 磁盘分区格式2025-06-10 19:01:05
  • 服务器云监控系统2025-06-10 19:01:05
  • 基于opencv的图像识别2025-06-10 19:01:05
  • 蒙特卡洛算法主元素问题2025-06-10 19:01:05
  • 哈夫曼树及哈夫曼编码pta2025-06-10 19:01:05
  • ajax异步请求实例2025-06-10 19:01:05