SELECT COLUMN_NAME
, COLUMN_ID
FROM DBA_TAB_COLUMNS
WHERE TABLE_NAME = :P_TABLE_NAME
AND OWNER = :P_OWNER
AND COLUMN_NAME NOT IN (SELECT REGEXP_SUBSTR (:L_STRING
, '[^,]+'
, 1
, LEVEL
)
FROM DUAL
CONNECT BY REGEXP_SUBSTR (:L_STRING
, '[^,]+'
, 1
, LEVEL
) IS NOT NULL)
ORDER BY COLUMN_ID ASC
WHERE AS THE l_STRING CAN BE PASSED AS 'COLUMN1,COLUMN2,COLUMN3'
Use Below SQL to create comma separated string for multiple rows.
Limitations : The below SQL has String length Constraint. If the length of number of rows in a column getting converted into one row searating each other by using any separator, in that case the length should not exceed 2000 characters.
SELECT SUBSTR(SYS_CONNECT_BY_PATH(''''||lookup_code||''''
, ',')
, 2)
lookup_code
FROM (SELECT lookup_code
, ROW_NUMBER() OVER (ORDER BY lookup_code) rownumber
, COUNT( *) OVER () cunt
FROM fnd_lookup_values
WHERE lookup_type = 'ITEM_TYPE'
)
WHERE rownumber = cunt
START WITH rownumber = 1
CONNECT BY rownumber = PRIOR rownumber + 1
, COLUMN_ID
FROM DBA_TAB_COLUMNS
WHERE TABLE_NAME = :P_TABLE_NAME
AND OWNER = :P_OWNER
AND COLUMN_NAME NOT IN (SELECT REGEXP_SUBSTR (:L_STRING
, '[^,]+'
, 1
, LEVEL
)
FROM DUAL
CONNECT BY REGEXP_SUBSTR (:L_STRING
, '[^,]+'
, 1
, LEVEL
) IS NOT NULL)
ORDER BY COLUMN_ID ASC
WHERE AS THE l_STRING CAN BE PASSED AS 'COLUMN1,COLUMN2,COLUMN3'
Use Below SQL to create comma separated string for multiple rows.
Limitations : The below SQL has String length Constraint. If the length of number of rows in a column getting converted into one row searating each other by using any separator, in that case the length should not exceed 2000 characters.
SELECT SUBSTR(SYS_CONNECT_BY_PATH(''''||lookup_code||''''
, ',')
, 2)
lookup_code
FROM (SELECT lookup_code
, ROW_NUMBER() OVER (ORDER BY lookup_code) rownumber
, COUNT( *) OVER () cunt
FROM fnd_lookup_values
WHERE lookup_type = 'ITEM_TYPE'
)
WHERE rownumber = cunt
START WITH rownumber = 1
CONNECT BY rownumber = PRIOR rownumber + 1
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.