900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Oracle使用游标查询指定数据表的所有字段名称组合而成的字符串

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

时间:2023-03-05 16:27:52

相关推荐

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

数据库|mysql教程

Oracle游标,Oracle使用游标查询指定数据表的所字

数据库-mysql教程

php建站系统源码,vscode网络爬虫,ubuntu蓝灯,tomcat默认网址,sqlite读取多行数据,wordpress文章撰写插件,好看的卡片式前端框架,网络爬虫师需要学历吗,php date 转换,龙岩seo招商加盟,简洁的门户网站,一号店jquery网页特效,.net 模板 weblzw

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

新版教程网源码,vscode中文本自动对齐,ubuntu ssr设置,tomcat远程连接不了,爬虫 QQ用户,php在线文件编辑,泗阳谷歌seo营销公司,如何获取企业网站源码下载,模板默认风格不是defaultlzw

物流网站html源码下载,ubuntu 关闭触屏,爬虫定制图片,haitun php,seo和edmlzw

应用场合:参考网上查询数据表的所有字段名代码,,使用游标生成指定单个表的所有字段名跟逗号组成的用于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, ments table_comments, ucc.column_name column_name, ments 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;

本文永久更新链接地址:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。