应用场合:参考网上查询数据表的所有字段名代码,使用游标生成指定单个表的所有字段名跟逗号组成的用于select 逗号隔开的字段名

应用场合:参考网上查询数据表的所有字段名代码,,使用游标生成指定单个表的所有字段名跟逗号组成的用于select 逗号隔开的字段名列表 from字符串等场合。

查询结果输出如下:

当前数据表TB_UD_USER的字段列表字符串为

AH,BIRTHPLACE,BM,CELLPHONE,CJGZRQ,DEPARTMENT2,DJJID,GZCX,GZKH,GZSFZH,HJDZ,HYZK,ID,JHRQ,JTZZ,LAFX_LD,LJDZ,LLY,LXDH,NAME,NXDH,POLICENUMBER,RESERVE1,RESERVE10,RESERVE9,SCCP,SEX,SFJH,SFQBY,SFZ,SPJB,YL_22,ZJ,ZW,ZZMM

当前数据表TB_UD_USER查询所有记录语句为

select AH,BIRTHPLACE,BM,CELLPHONE,CJGZRQ,DEPARTMENT2,DJJID,GZCX,GZKH,GZSFZH,HJDZ,HYZK,ID,JHRQ,JTZZ,LAFX_LD,LJDZ,LLY,LXDH,NAME,NXDH,POLICENUMBER,RESERVE1,RESERVE10,RESERVE9,SCCP,SEX,SFJH,SFQBY,SFZ,SPJB,YL_22,ZJ,ZW,ZZMM from TB_UD_USER

详细脚本代码如下:

--Oracle使用游标查询指定数据表的所有字段名称组合而成的字符串

declare

mytablename NVARCHAR2(200):='TB_UD_USER'; --定义要查询的数据表名称变量

mystring NVARCHAR2(1000):=' '; --定义要输出的字段名称列表字符串变量

selstring VARCHAR2(2000):=' '; --定义要输出的查询语句字符串变量

cursor mycursor is --定义游标

select distinct TABLE_COLUMN.*,TABLE_NALLABLE.DATA_TYPE,TABLE_NALLABLE.NULLABLE from (select distinct utc.table_name table_name, utc.comments table_comments, ucc.column_name column_name, ucc.comments column_comments from user_tab_comments utc, user_col_comments ucc where utc.table_name = ucc.table_name and utc.table_name not like '%_B' and utc.table_name not like '%_Z' and utc.table_name not like '%1%') TABLE_COLUMN, (select distinct table_name, column_name, nullable, DATA_TYPE from user_tab_cols where table_name not like '%_B' and table_name not like '%_Z' and table_name not like '%1%') TABLE_NALLABLE where TABLE_COLUMN.column_name = TABLE_NALLABLE.column_name and TABLE_COLUMN.TABLE_NAME = TABLE_NALLABLE.table_name and TABLE_COLUMN.TABLE_NAME=mytablename order by TABLE_COLUMN.TABLE_NAME,TABLE_COLUMN.column_name;

myrecord mycursor%rowtype; --定义游标记录类型

Counter int :=0;

begin

open mycursor; --打开游标

if mycursor%isopen then --判断打开成功

loop --循环获取记录集

fetch mycursor into myrecord; --获取游标中的记录

if mycursor%found then --游标的found属性判断是否有记录

begin

--如果是第一个字段

if(mystring=' ') then

mystring:=myrecord.column_name;

else

mystring:=mystring||','||myrecord.column_name;

end if;

end;

else

begin

dbms_output.put_line('当前数据表'||mytablename||'的字段列表字符串为');

dbms_output.put_line(mystring);

selstring:='select '||mystring||' from '||mytablename;

dbms_output.put_line('当前数据表'||mytablename||'查询所有记录语句为');

dbms_output.put_line(selstring);

exit;

end;

end if;

end loop;

else

dbms_output.put_line('游标没有打开');

end if;

close mycursor;

end;

本文永久更新链接地址:

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

oracle 游标取字段名称,Oracle使用游标查询指定数据表的所有字段名称组合而成的字符串...相关推荐

  1. mysql中通过sql语句查询指定数据表的字段信息

      mysql数据库在安装完成时,自动创建了information_schema.mysql.test这三个数据库.其中,information_schema记录了创建的所有数据库的相关信息,因此可以 ...

  2. MySQL数据通过SQL查询指定数据表的字段名及字段备注

    MySQL数据通过SQL查询指定数据表的字段名及字段备注 SELECT COLUMN_NAME,COLUMN_COMMENT FROM INFORMATION_SCHEMA.Columns WHERE ...

  3. mysql 字段操作_Mysql:数据库操作、数据表操作、字段操作整理

    mysql 登录本机 mysql -u root -p password 数据库操作 创建数据库 命令:create database 例如:mysql> create database xhk ...

  4. 站内搜索(ELK)之数据表字典类型字段的索引思路

    数据表字典类型的字段,如人员表中的"性别".流程表中的"处理状态",此类字段中的值高度重复,不建议放到可检索的索引字段中,原因如下: 若数据表字典类型字段的值索 ...

  5. 【MySQL】根据数据表中日期字段查询某个月每一天的数据量?查询数据表中所有日期每天的数据量?近三天每天数据量?

    前提这个table有一个日期字段date_time之类的 1.根据数据表中日期字段查询某个月每一天的数据量 如果要获取8月的数据,可以这么写: SELECT count(*), DATE_FORMAT ...

  6. Oracle使用游标查询所有数据表备注

    功能作用:应用对应的SQL语句,能方便快速的查询Oracle数据库指定用户的所有用户表说明,快速知道每个数据表是做什么的,方便写文档和方案. 运行环境:搭建好Oracle数据库,并使用PQ/SQL D ...

  7. oracle查表字段长度,oracle中查询某张表中的字段名,字段类型,字段长度等信息...

    oracle中查询某张表中的字段名,字段类型,是否为空,字段长度等信息 --更改某张表的字段类型长度 alter table bill_info modify IDCARD VARCHAR2 (30) ...

  8. access vba表字段_【Access】创建数据表并新增字段

    时 间:2016-08-02 13:29:20 作 者:摘 要:用代码创建数据表并新增字段 正 文: 在DAO中,可以通过CreateTableDef方法在数据库中创建新的数据表,其具体的语法格式如下 ...

  9. db2查询字段备注_通过逐浪数据精灵管理sqlserver数据表备注以及字段说明

    通过逐浪数据精灵管理sqlserver的数据表备注以及字段说明备注(附脚本方法) 基本介绍 逐浪数据精灵,是由逐浪软件团队提供的生成态产品,可以快速的方便的管理数据表,目前对商业用户开放. 管理数据库 ...

  10. MySQL修改数据表中的字段名

    MySQL修改数据表中的字段名 在一张数据表中只能设置一个唯一名称的字段名.在同一张数据表中,不能出现两个名称完全相同的字段名. 因此,数据库系统可以通过字段名来区分数据表中的不同字段. 在MySQL ...

最新文章

  1. python 调用 so 库 需要注意的地方
  2. 设置LD_LIBRARY_PATH不起作用解决
  3. java trie实现
  4. json与对象的互相转换
  5. 加密和解密盐的使用_码农吐糟面试官:居然问我md5是对称加密还是非对称,故意的吧?...
  6. java.lang.NoClassDefFoundError: org/apache/log4j/Priority的问题解决
  7. Fresco几处不太好的地方
  8. CentOS7镜像安装与下载
  9. WordPress模板制作教程
  10. 进程同步问题(二)——信号量机制
  11. windows常用快捷命令大全总结
  12. 1123581321递归算法java_【python 2】python 进阶
  13. java 输入一个时间,获取当前周的周一以及周五时间【自然周】
  14. Android5.0后外置SDCard读写
  15. UNIX网络编程:卷2-读书笔记
  16. 【codeforces 794B】Cutting Carrot
  17. 高速高精度直线电机模组运输存放及安装维护的注意事项
  18. 雷电模拟器的下载、安装与使用
  19. ios 融云 重写对话列表_iOS集成融云SDK part 1 小记
  20. 大型场地投影仪的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

热门文章

  1. JavaScript强化教程 —— 资源打包工具的使用及资源的异步加载处理
  2. IOS快速集成下拉上拉刷新
  3. 单机使用tungsten 同步mysql数据到mongodb
  4. 选工作是一个纠结而又痛苦的过程
  5. SpringCloud微服务(02):Ribbon和Feign组件,实现服务调用的负载均衡
  6. 机器学习系列-tensorflow-03-线性回归Linear Regression
  7. Python_代码练习_写一个判断是否为小数的函数
  8. PHP连接 SQLSERVER 注意事项(经典中的经典)
  9. java jtable 自动高度,自动调整JTable中行的高度
  10. python 映射网络驱动器_用Delphi实现网络驱动器的映射和断开