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;


相关内容

热门资讯

中巴外长通话,王毅:希望巴方保... 2026年5月12日晚,中共中央政治局委员、外交部长王毅同巴基斯坦副总理兼外长达尔通电话。达尔介绍了...
美参议院投票批准凯文·沃什出任... △凯文·沃什(资料图)当地时间5月12日,美国参议院投票批准凯文·沃什出任美联储主席,目前相关投票程...
缺油!日本快撑不住了 日本零食巨头卡乐比为节省油墨竟将原本漂亮的包装改成了黑白两色,从“喜食”变得看上去像“丧食”。日本石...
英国首相斯塔默再遭逼宫,在内阁... 【文/观察者网 熊超然】在上周经历地方选举惨败后,作为执政党领袖的英国首相斯塔默于当地时间5月11日...
日防相声称:新西兰考虑进口日本... 据凤凰卫视报道,5月12日,日本防卫大臣小泉进次郎在记者会上表示,新西兰已将日本海上自卫队最上型改良...
小米YU7 GT“车厘子红”无... 5 月 12 日消息,博主 @王的男人、昨日晒出了小米 YU7 GT「车厘子红」实车照片。画面显示,...
中关村论坛重磅发布!大兴机场临... 3月27日,在中关村论坛数据跨境流动创新发展论坛上,北京大兴国际机场临空经济区(大兴)正式发布跨境可...
白宫公布随特朗普访华16位商界... 白宫11日公布了将随特朗普一同访华的商界领袖名单。据多家美媒报道,总共将有16位美国商界代表来到北京...
荣耀申请代码生成方法专利,提高... 国家知识产权局信息显示,南京荣耀软件技术有限公司申请一项名为“代码生成方法、电子设备及存储介质”的专...
凤凰连线:中美新一轮经贸磋商,... 中美双方将在韩国举行第七轮经贸磋商。美方的阵容和日程安排如何?在这轮磋商中有哪些关切?凤凰卫视驻韩国...