Oracle查询固定值查询

create PROCEDURE findCountryData(HeaderGuid IN VARCHAR2)
IS
v_found_it NUMBER;
BEGIN

DBMS_OUTPUT.put_line('start');
FOR x
    IN ( SELECT owner, table_name, column_name
         FROM all_tab_columns
         WHERE data_type not IN ('NUMBER', 'DATE', 'CLOB', 'NCLOB')
           AND owner IN ('IEMINT2')

– and TABLE_NAME = ‘CTCOUNTRYCODE’
and COLUMN_NAME not in (‘GUID’, ‘STCREATEDBY’, ‘STUPDATEDBY’, ‘STDATASTATUS’)
and COLUMN_NAME not like ‘GUID’
and TABLE_NAME not in
(‘COUNTRY_DATA’, ‘COUNTRY_DATA_TABLE_NAME’, ‘IFACELOG’, ‘STEXCELQUEUE’, ‘STEXPORTQUEUE’, ‘STJOB’,
‘STLOG’, ‘STLOGS’, ‘STNUMBERRANGE’, ‘STNUMBERRANGEMODELCONFIG’, ‘STPARAM’)
and TABLE_NAME not like ‘%BAK’
and TABLE_NAME not like 'QRTZ
%’
and TABLE_NAME not like ‘R_%’
and TABLE_NAME not like ‘%_TEMP’
and TABLE_NAME not in (select distinct TABLE_NAME from COUNTRY_DATA_TABLE_NAME)

         ORDER BY owner, table_name, column_name)
    LOOP
        EXECUTE IMMEDIATE
                'select count(0) from "'
                || x.owner
                || '"."'
                || x.table_name
                || '" where "'
                || x.column_name
                || '" like ''%'
                || 'XXXXXXXX'
                || '%'' '
                || ' and rownum = 1'
            INTO v_found_it;

        --             merge into COUNTRY_DATA_TABLE_NAME dest using(

– select x.table_name “TABLE_NAME” from dual
– ) source on (dest.TABLE_NAME = source.TABLE_NAME)
– when not matched then
– insert (table_name, dtcreatedtime) values (x.table_name, sysdate);
insert into COUNTRY_DATA_TABLE_NAME values (x.TABLE_NAME, x.COLUMN_NAME, sysdate);

        IF v_found_it > 0
        THEN
            insert into COUNTRY_DATA values (x.table_name, x.column_name);

            DBMS_OUTPUT.put_line(
                        '"' || x.owner || '"."' || x.table_name || '"."' || x.column_name || '"'
                );
        END IF;

        commit;
    END LOOP;
DBMS_OUTPUT.put_line('end');

END;
/

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值