我有如下要求。
有70个表,我必须根据某些条件从这70个不同的表中构建70个查询。
假设表名为tab_1、tab_2、tab_3….、tab_70。每个表中的列数和列的数据类型不同。我将获得用户输入,并且必须将该值传递给oraclepl/sql函数或过程 GET_RESULT()
并以表格格式获取输出(与运行查询时获得的结果相同)。
另外,我必须在第一个数据行中显示列名。
例子:
我要两张table,第一张和第二张。
表1
ID Quarter
Risk 00001
Q0 2
00001 Q1
3 00001
Q2 1
00001 Q3
1 00001
Q4 2
表2
ID Status
00001 ACTIVE
00002 PURGED
00003 ACTIVE
00004 ACTIVE
如果我得到用户输入1,我会把它传递给一个过程的参数, GET_RESULTS(1)
得到如下输出: Col1
Col2 Col3
ID Quarter
Risk 00001
Q0 2
00001 Q1
3 00001
Q2 1
00001 Q3
1 00001
Q4 2
如果 GET_RESULTS(2)
然后:
Col1 Col2
ID STATUS
00001 ACTIVE
00002 PURGED
00003 ACTIVE
00004 ACTIVE
有人能帮忙吗?
1条答案
按热度按时间rqmkfv5c1#
使用数据字典构建选择正确列的sql语句。使用动态sql打开该语句的refcursor,并从函数返回游标。
示例架构
功能
调用函数
只要应用程序理解refcursors,函数就应该工作。下面是sql*plus最新版本中的一个示例: