File indexing completed on 2024-04-06 12:22:59
0001
0002
0003
0004
0005
0006
0007
0008 CREATE OR REPLACE TYPE T_LMF_COLS AS OBJECT (
0009 COLUMN_NAME VARCHAR(25),
0010 DATA_TYPE VARCHAR(25)
0011 );
0012 /
0013
0014 CREATE OR REPLACE TYPE T_TABLE_LMF_COLS AS TABLE OF T_LMF_COLS;
0015 /
0016
0017
0018
0019
0020 CREATE OR REPLACE FUNCTION LMF_TAB_COLS
0021 (
0022 tblname IN VARCHAR2,
0023 iovFieldName IN VARCHAR2) RETURN T_TABLE_LMF_COLS PIPELINED IS
0024
0025 TYPE ref0 IS REF CURSOR;
0026
0027 sql_str VARCHAR(1000);
0028 cur0 ref0;
0029
0030 V_RET T_LMF_COLS
0031 := T_LMF_COLS(NULL, NULL);
0032
0033 BEGIN
0034 OPEN cur0 FOR
0035 'SELECT COLUMN_NAME, DATA_TYPE FROM USER_TAB_COLS WHERE ' ||
0036 'TABLE_NAME = :1 AND COLUMN_NAME != ''LOGIC_ID'' AND COLUMN_NAME != :2'
0037 USING tblname, iovFieldName;
0038 LOOP
0039 FETCH cur0 INTO V_RET.COLUMN_NAME, V_RET.DATA_TYPE;
0040 EXIT WHEN cur0%NOTFOUND;
0041 PIPE ROW(V_RET);
0042 END LOOP;
0043 CLOSE cur0;
0044 RETURN;
0045 END LMF_TAB_COLS;
0046 /
0047
0048 GRANT EXECUTE ON LMF_TAB_COLS TO CMS_ECAL_R
0049 /