dbms_sql使用,用于创建通用动态sql

  ,/*   调才能用dbms_sql需要执行五个步骤?   1 .打才能开一个游标吗?   2 .才能分析要执行的语句吗?   3 .绑才能定可能需要的任何输入变量?   4 .才能执行语句吗?   5 .关才能闭游标   */声明   CUR 才能,,,PLS_INTEGER :=, DBMS_SQL.OPEN_CURSOR;——为处理打开游标,,CUR 返回系统游标id   ,,COLS  DBMS_SQL.DESC_TAB;——DBMS_SQL.DESC_TAB:用于接收dbms_sql解析出的数据的集合类型   NCOLS 才能;PLS_INTEGER;   BEGIN    DBMS_SQL.PARSE才能(CUR, & # 39; select  *,得到ma_ctl& # 39;,, DBMS_SQL.NATIVE);——分析语句.DBMS_SQL.NATIVE:获取oracle  SQL版本   ——才能DBMS_OUTPUT.PUT_LINE (DBMS_SQL.NATIVE);,,   ,/*   解才能析sql语句要用的数据库sql版本,有V6, V7跟本地人,当不确定连接的甲骨文数据库版本时使用本地选项。   DBMS_SQL.NATIVE才能:常量名和值的关系。   Name 才能,,,,,Data  Type ,,,,的值   v6 才能,,,,,,,INTEGER ,,,,,, 0   native 才能,,,INTEGER ,,,,,, 1   v7 才能,,,,,,,INTEGER ,,,,,, 2   ,*/,,   ——才能检索出列的信息,字段数量赋值给第二个参数变量NCOLS,数据放到第三个参数关口集合变量里   DBMS_SQL.DESCRIBE_COLUMNS才能(CUR, NCOLS,,关口);   ,,   FOR 才能小姐:1,拷贝. .,NCOLS 循环   ,,,DBMS_OUTPUT.PUT_LINE(关口(我).COL_NAME);——COL_NAME 为关口的一个属性,存放字段名   最终获得才能;循环;   DBMS_SQL.CLOSE_CURSOR才能(坏蛋);   结束;


dbms_sql使用,用于创建通用动态sql