建立视图呗,这样你就不用自己union了。
创新互联公司专注于企业成都营销网站建设、网站重做改版、娄底网站定制设计、自适应品牌网站建设、成都h5网站建设、商城网站制作、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为娄底等各大城市提供网站开发制作服务。
建立视图的操作可以设定为每年的年初或年末自动运行,同时也可以删除旧视图,然后再查询只要查询视图就可以了,不用手动union了。
方法和详细的操作步骤如下:
1、第一步,查询该库中的所有表,测试sql,代码见下图,转到下面的步骤。
2、第二步,执行完上面的操作之后,查询有多少个数据表,见下图,转到下面的步骤。
3、第三步,执行完上面的操作之后,在TEST的开头编写一个查询表的脚本,每个表中的记录数,代码见下图,转到下面的步骤。
4、第四步,执行完上面的操作之后,执行sql,在输出窗口中,可以看到每个表的输出,见下图。这样,就解决了这个问题了。
PL/SQL中是没有数组的概念,他的集合数据类型和数组是相似的,所以可以用ARRAY来解决问题。
第一步:创建你所需的ARRAY类型
Create Type varray_answer as varray(10) of varchar2(50);
第二步:把你的sf_split_string
函数返回的类型设置为varray_answer
第三步:
select era_id, us_id, sf_split_string(answer, ':') as listanswer, tu.name
from evt_result_answer, tuser tu
where e_id = 37200
and ques_id = 94603
and tu.id = evt_result_answer.us_id
/**判断是否含有某个值*/
and listanswer.EXISTS('2');
集合方法
pl/sql预定义了在varray 和嵌套表实例上进行调用的方法。这些方法能在集合上执行一定的功能。
EXISTS
该函数返回集合中第一个元素的索引,如果集合为空,返回NULL
Collection.EXISTS(index)
COUNT
该函数集合元素的数目
Collection.COUNT
DELETE
该过程从嵌套表中删除一个或多个或合部元素
Table_name.DELETE 删除所有元素
Table_name.delete(index)删除指定索引的记录
Table_name.delete(start_index,end_index)删除区间内元素
等方法