oracle 返回业务表的列

本文介绍了一个Oracle SQL过程,用于根据指定的表名和排除的字段生成SQL查询语句。该过程考虑了表名可能存在的大小写变化,并能适应不同的表结构。

create or replace procedure sql_create( i_tbname varchar2, -- 默认大写(可以写成小写,但我会将其转换成大小去比较,这里可以按照你的需求去更改) i_except_columns varchar2, -- 要排除的字段名,多个字段用逗号(,)隔开(因为Oracle里面的字段默认均为大写,所以输入时要注意,当然可以用upper()函数,那是后话) o_sql out varchar2 ) is v_sqls varchar2(4000); i_except_columns2 varchar2(4000); v_sql varchar2(4000); v_cnt number(18,0); begin v_sql := ''; i_except_columns2 :=''''||replace(upper(i_except_columns),',',''',''')||''''; execute immediate 'select count(1) from user_tables where table_name=upper(:i_tbname)' into v_cnt using i_tbname; -- 看是否存在大写名字的表 if v_cnt = 1 then begin v_sqls := 'select trim(regexp_replace(wm_concat((case when m.column_name<>upper(m.column_name) then '' "''||m.column_name||''"'' else '' ''||m.column_name end)),'','','',''||chr(10))) as columnNames from user_tab_columns m where m.table_name=upper(:i_tbname) and m.column_name not in ('||i_except_columns2||') order by column_id asc'; execute immediate v_sqls into v_sql using i_tbname; o_sql := 'SELECT '||v_sql||chr(10)||' FROM '||i_tbname||';'; end; else begin execute immediate 'select count(1) from user_tables where table_name=:i_tbname' into v_cnt using i_tbname; -- 看是否存在小写名字的表 if v_cnt = 1 then begin v_sqls := 'select trim(regexp_replace(wm_concat((case when m.column_name<>upper(m.column_name) then '' "''||m.column_name||''"'' else '' ''||m.column_name end)),'','','',''||chr(10))) as columnNames from user_tab_columns m where m.table_name=:i_tbname and m.column_name not in ('||i_except_columns2||') order by column_id asc'; execute immediate v_sqls into v_sql using i_tbname; o_sql := 'SELECT '||v_sql||chr(10)||' FROM '||'"'||i_tbname||'"'; end; else o_sql := '对不起,表名为 '||i_tbname||'、'||upper(i_tbname)||' 在当前用户 '||user||' 下均不存在! '; end if; end; end if; end;

返回业务表的所有列。。。

电子公文传输系统就是为满足党政机关,行政职能部门,事业单位,大专院校,企业上报和下发公文需求,而开发的一套实用的系统。 电子公文传输管理系统实现无密级公文的网络传输、公文的签收,公文上报,实现网上会议签到,下载会议文件,通报发布等功能。整个系统技术成熟,安装配置简单,使用方便,系统稳定可靠,功能完善且灵活。从正常运行使用以来得到广大用户的支持和好评,以系统使用和维护简单,系统稳定为用户称道。 公文在各机关办公事务中是最繁杂又是最重要的事务,机关内部以及机关所属下级机关之间经常进行大量的公文接收传送,一份文件有时候要印刷几十份,甚至上百份。大量文件的转发、传阅、发送、签收、审核让办公室里文件堆积如山,杂乱如麻,在这种公文处理过程中,要耗费相当大的人力物力,而且重复劳动,量很大,办公效率较低。也许您现在以邮件方式来进行公文的传输,邮件发送公文的方式无法对公文进行统一备份,统一管理,也经常会出现文件感染病毒,接收反馈情况不能及时的获悉等弊端。 希望您借助电子公文传输管理系统来帮助您,让您从文件堆中解脱出来,相信您使用电子公文传输管理系统实现电子办公后,不仅减掉文件印刷程序,缩短公文分发、上报的时间,提高文件的传输效率,同时也减少大量纸张的浪费,提倡绿色办公,同时可以详细及时的了解文件发送签收情况,便于文件的统一管理和分类,让办公室里公文纸堆积如山的情景将成为历史。 欢迎登陆http://www.chinadoc.com.cn试用电子公文传输系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值