Miguel Angel Medina

bases de datos

  • ¿Cómo encontrar un valor de un campo en una base de datos Oracle?

    La forma más sencilla de localizar un valor en una base de datos es utilizar el siguiente código:
    DECLARE
    sql_str VARCHAR2(20000);
    sql_del VARCHAR2(20000);
    cadena_buscar VARCHAR(200);
    total_val number;
    CURSOR c1 IS 
        SELECT OWNER,TABLE_NAME,COLUMN_NAME,DATA_TYPE 
        FROM all_tab_columns 
        WHERE owner='[OWNER]' AND DATA_TYPE IN ('CHAR','VARCHAR2');
    BEGIN
        cadena_buscar:='CADENA_A_BUSCAR';
        FOR fila IN c1
        LOOP
            sql_str := 'SELECT COUNT(*) FROM '||fila.OWNER||'.'||fila.TABLE_NAME||' where '||fila.COLUMN_NAME||' like ''%'||cadena_buscar||'%''';
            EXECUTE IMMEDIATE sql_str INTO total_val;
            IF total_val > 0 then
                dbms_output.put_line(sql_str);
                dbms_output.put_line(fila.OWNER||'.'||fila.TABLE_NAME||'.'||fila.COLUMN_NAME||' Aciertos '||total_val);
                dbms_output.put_line(sql_del);
                dbms_output.put_line('*******************************************');
            END IF;
        END LOOP;
    END;
    

    Deberás sustituir el valor de la variable cadena_buscar por el valor que necesites

  • Cómo encontrar un campo en una base de datos Oracle

    Seguro que alguna vez has necesitado localizar un campo en una base de datos Oracle con multitud de tablas y lo único que conocías era el nombre del campo en cuestión. Pues aquí tienes la solución a tu problema. Con la siguiente query puedes localizar cualquier campo en una base de datos Oracle:

     

    SELECT OWNER,TABLE_NAME,COLUMN_NAME,DATA_TYPE,NULLABLE FROM ALL_TAB_COLUMNS WHERE (column_name = upper( 'NOMBRE_DEL_CAMPO'));

    Localizar un campo en una base de datos Oracle

     

Logo M4 ERP
Developer

Seguridad de la página de inicio

© 2018 Miguel Ángel Medina. Todos los derechos reservados

Please publish modules in offcanvas position.