Buscar este blog

jueves, 26 de junio de 2014

TRIGGER ASIGNAR SECUENCIA A TABLA ORACLE

Para asignar secuencia a tabla, crearemos un Trigger:
create or replace TRIGGER xxNombreTriger

BEFORE INSERT ON xxNombreTabla REFERENCING

NEW AS NEW FOR EACH ROW BEGIN
 if(:new.campoID is null) then
 SELECT xxNombreSecuencia.nextval INTO :new.campoID FROM dual;
 end if;
END;

Posicionamiento web: Visítanos aquí Carlos Javier Martín Cano

miércoles, 25 de junio de 2014

Disabled/enabled CONSTRAINT de bd

Si queremos saber cuales son las sentencias a ejecutar para poner a disabled nuestras constraint, ejecuta:
select 'ALTER TABLE '||substr(c.table_name,1,35)|| ' DISABLE CONSTRAINT '||constraint_name||';'
 from user_constraints c, user_tables u where c.table_name = u.table_name;

 Si queremos saber cuales son las sentencias a ejecutar para poner a enabled nuestras constraint, ejecuta:
select 'ALTER TABLE '||substr(c.table_name,1,35)|| ' ENABLE CONSTRAINT '||constraint_name||' ;' from user_constraints c, user_tables u where c.table_name = u.table_name;

Posicionamiento web: Visítanos aquí Carlos Javier Martín Cano

Listar tablas de BD y ver número de registros

Para listar todas las tablas de nuestra BD, ejecutaremos:

 SELECT * FROM ( SELECT TABLE_NAME, to_number( extractvalue( xmltype( dbms_xmlgen.getxml('select count(*) c from '||TABLE_NAME)) ,'/ROWSET/ROW/C')) COUNT FROM user_tables ORDER BY TABLE_NAME ) c ORDER BY COUNT

Con la que obtendremos la tabla y el número de registros de dicha tabla.
Carlos Javier Martín Cano

Aumentar la secuencia de Oracle

Para incrementar la secuencia XXX_SEQUENCE en 100, tendremos que ejecutar la SQL que vemos a continuación: ALTER SEQUENCE XXX_SEQUENCE INCREMENT BY 100; Carlos Javier Martín Cano Un saludo