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
);