dbms_sql使用,用于创建通用动态sql
admin
2023-04-17 21:21:32
0
 
/*
  调用dbms_sql需要执行五个步骤 
  1.打开一个游标 
  2.分析要执行的语句 
  3.绑定可能需要的任何输入变量 
  4.执行语句 
  5.关闭游标
*/
DECLARE
  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, 'select * from ma_ctl', DBMS_SQL.NATIVE);--分析语句.DBMS_SQL.NATIVE:获取oracle SQL版本
  --DBMS_OUTPUT.PUT_LINE(DBMS_SQL.NATIVE);  
  /*
  解析sql语句要用的数据库SQL版本,有V6,V7跟native,当不确定连接的ORACLE数据库版本时使用native选项。
  DBMS_SQL.NATIVE:常量名和值的关系。
  Name     Data Type     Value
  v6       INTEGER       0
  native   INTEGER       1
  v7       INTEGER       2
  */
  
  --检索出列的信息,字段数量赋值给第二个参数变量NCOLS,数据放到第三个参数COLS集合变量里
  DBMS_SQL.DESCRIBE_COLUMNS(CUR, NCOLS, COLS);
  
  FOR I IN 1 .. NCOLS LOOP
    DBMS_OUTPUT.PUT_LINE(COLS(I).COL_NAME);--COL_NAME 为COLS的一个属性,存放字段名
  END LOOP;
  DBMS_SQL.CLOSE_CURSOR(CUR);
END;


相关内容

热门资讯

今日重大发现“山城麻将到底是不... 您好:山城麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游戏...
今日重大通报“新青鸟拼三张究竟... 有 亲,根据资深记者爆料新青鸟拼三张是可以开挂的,确实有挂(咨询软件无需...
终于明白“博雅地方棋牌有没有挂... 您好:博雅地方棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款...
【第一资讯】“微乐陕西三代是不... 您好:微乐陕西三代这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款...
玩家攻略科普“微信麻将到底是不... 家人们!今天小编来为大家解答微信麻将透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买很...
玩家攻略科普“红豆牛牛开挂神器... 家人们!今天小编来为大家解答红豆牛牛透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买很...
打冰球时被撞倒,卢卡申科回应 【环球网报道 记者 张江平】综合俄罗斯红星电视台、“今日俄罗斯”(RT)等媒体12月28日报道,白俄...
我来教教您“旺旺冲击麻将到底是... 有 亲,根据资深记者爆料旺旺冲击麻将是可以开挂的,确实有挂(咨询软件无需...
今日重大发现“卡农牛牛开挂神器... 网上科普关于“卡农牛牛有没有挂”话题很是火热,小编也是针对卡农牛牛作*弊开挂的方法以及开挂对应的知识...
大雪!暴雪!河南预报图“黑”成... 大河报·豫视频记者 张阳大家现在最关心的:这雪到底哪天得劲?元旦会不会冻哭?答案很明确:重头戏在31...