PL/SQL中怎样使用动态游标

豆豆网   技术应用频道   2008年01月28日    社区交流

本文详细介绍PL/SQL中怎样使用动态游标

  dbms_sql可以实现

  --------------------

  动态SQL和静态SQL

  -------------------------------------------------- -----------

  1.静态SQL比动态SQL写起来要简单,代码量也少,执行效率也同,所以在可能的情况下还是用静态SQL.

  2.动态SQL一般是为了为了动态的数据源和动态的轮出以及动态的查询条件.

  3.动态SQL能执行DLL语句,而静态则不可以.

  -------------------------------------------------- -----------------------

  提供了DBMS_SQL包和ref cursor来执行动态SQL

  ref cursor执行效率更快

  -------------------------------------------------- ------

  以下情况应使用dbms_sql包来执行动态SQL

  1.不知道将使用列的个数和数据类型.DBMS_SQL包括"描述"结果集的过程,而本地动态SQL不需要.

  2.不知道可能要使用的绑定变更的个数或类型,DMBS_SQL允许在程序上将输入绑定到语句,而本地动态SQL要求编译时知道绑定变量的个数和类型

  3.将提取或插入上千个行并能够使用数据处理.DBMS_SQL允许使用数据处理.退在单个调中提取N行数据而不是一次提取一行数据

  4.在同一个对话中多次执行同一个语句,DBMS_SQL将允许分析这个语句一次但重复执行多次!

  =========================================

  以下情况应使用本地动态SQL

  -------------------------------------------------- --------

  1.知道将使用的列的个数和类型.

  2.知道绑定变量的个数和类型

  3.将执行DDL语句

  4.将执行这个语句很少次数(最好是一次)

责编:豆豆技术应用

正在加载评论...