,/* 调才能用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才能(坏蛋); 结束;