Oracle SQL: Comandos DDL y DML para Tablas

Ejemplos de comandos para buscar, otorgar permisos y manipular datos en tablas de Oracle.

Búsqueda de Tablas


-- Buscar una tabla si conoces el nombre exacto
SELECT * FROM CGA_GL_INTERFACE_STG;

-- Buscar en todo el diccionario de datos (si no estás seguro del schema)
SELECT * FROM all_tables WHERE table_name = 'CGA_GL_INTERFACE_STG';
    

Otorgar Permisos a Tablas (Grants)

Se debe ejecutar dentro del schema propietario de la tabla.


GRANT SELECT ON CGA_FIN.CGA_GL_INTERFACE_STG TO OCS_PROD;
GRANT SELECT, UPDATE ON CGA_FIN.EXP_IN_LINES TO OCS_PROD;
GRANT SELECT, INSERT, UPDATE, DELETE ON CGA_LOCAL.TAB_COLDVIEW_IN_CM_HD TO OCS_PROD;
    

Limpieza y Manipulación de Datos

Ejemplo de cómo hacer un backup, truncar y re-insertar datos de una tabla de logs.


-- 1. Crea una tabla de backup con los datos recientes (últimos 5 días)
create table XXCFA_LOGS
as SELECT * FROM XXCGA_LOGS_B 
where TO_DATE( TO_CHAR(CREATION_DATE, 'DD-MM-YYYY'), 'DD/MM/YYYY') > sysdate - 5;  
/

-- 2. Vacía la tabla original de forma rápida e irreversible
truncate table XXCGA_LOGS_B;
/

-- 3. Vuelve a insertar los datos desde el backup
insert into XXCGA_LOGS_B
 select * from  XXCFA_LOGS;
/
commit;
    

Eliminación de Registros


DELETE FROM ORDENES_PROCESAR_STG
WHERE INSTANCE IN ('CGA-ERP-1496960'
,'CGA-ERP-1496868'
,'CGA-ERP-1496777'
-- ... y más instancias
);