
Columnas invisibles
Las columnas invisibles sirven para evitar mostrar ciertas columnas cuando se hace un select * , son útiles para ocultar información que no queremos que el usuario vea, y si las ponemos dentro de un select directamente si van a aparecer.
Yo en las tablas utilizo columnas de auditoria para vigilar los cambios que se han realizado por parte del usuario, es ahí donde más he sacado provecho.
Mejor vamos al ejemplo:
Creamos una tabla de ejemplo y un trigger
-- create tables create table tabla_ejemplo ( id number generated by default on null as identity constraint tabla_ejemplo_id_pk primary key, campo1 varchar2(4000), campo2 varchar2(20), created date invisible, created_by varchar2(255) invisible, updated date invisible, updated_by varchar2(255) invisible ) ; -- triggers create or replace trigger tabla_ejemplo_biu before insert or update on tabla_ejemplo for each row begin if inserting then :new.created := sysdate; :new.created_by := nvl(sys_context('APEX$SESSION','APP_USER'),user); end if; :new.updated := sysdate; :new.updated_by := nvl(sys_context('APEX$SESSION','APP_USER'),user); end tabla_ejemplo_biu; /
Llenamos la tabla
-- load data insert into tabla_ejemplo ( id, campo1, campo2 ) values ( 1, 'Sit amet lectus. Nulla placerat iaculis aliquam. Vestibulum lacinia arcu in massa pharetra, id mattis risus rhoncus. Cras vulputate porttitor ligula. Nam semper diam suscipit elementum sodales. Proin sit amet massa eu lorem commodo ullamcorper. Interdum et malesuada fames ac ante ipsum primis in faucibus. Ut id nulla ac sapien.', 'Luctus' ); insert into tabla_ejemplo ( id, campo1, campo2 ) values ( 2, 'Phasellus vitae ligula commodo, dictum lorem sit amet, imperdiet.', 'Interdum' ); insert into tabla_ejemplo ( id, campo1, campo2 ) values ( 3, 'Eget rhoncus non, molestie sit amet lectus. Nulla placerat iaculis aliquam. Vestibulum lacinia arcu in massa pharetra, id mattis risus rhoncus. Cras vulputate porttitor ligula. Nam semper.', 'Lectus' ); insert into tabla_ejemplo ( id, campo1, campo2 ) values ( 4, 'Proin viverra lacinia lectus, quis consectetur mi venenatis.', 'Id' ); commit;
Vemos los la tabla creada, los campos CREATED, CREATED_BY, UPDATED y UPDATED_BY no se muestran pero si existen.
Si hacemos un select * los datos no se muestran
Pero si consultamos campo por campo si los podremos ver
Espero te sirva esta información, si es así, no olvides darle clic a los anuncios que aparecen en el blog.
Si tienes una duda o comentarios por favor házmelo saber, me ayudaría muchísimo para poder crear más entradas. 😎
1 comment on “Columnas invisibles”