将Oracle PL / SQL动态列值置于变量(通用过程)

时间:2014-11-04 12:07:14

标签: sql oracle plsql

我需要为几个具有不同类型列的表编写一个泛化过程。

在我通过的程序中

PROCEDURE DiffrencesIdentifyerProc(db_nameFirst IN VARCHAR2,
                                   db_nameSecond IN VARCHAR2,
                                   table_name IN VARCHAR2)

创建一个动态SQL语句,如下所示:

'SELECT '||columnNamesS||' from '||db_nameFirst||'.'|| table_name||' minus select '||columnNamesS||' from '||db_nameSecond||'.'||table_name|| '';

我现在需要的是;在一种情况下

  

columnNamesS = ColomnA和第二种情况相同columnNamesS = ColomnA,ColomnB

可以包含单个列名,其中包含varchar2变量,其他时间它可以是两个列,一个varchar,另一个数字,另一个情况下,两个可以是varchar,就像columnNamesS可以根据传递的参数动态地具有多个数据类型列用户,有没有办法在oracle / sql中获取这些值并打印如下

{"colomnName":"colomnValue"}  if multiliple colomns then
{"colomnName1":"colomnValue1","colomnName2":"colomnValue2"}

关键词:表名作为参数和列名提供,

0 个答案:

没有答案