¿Tablas temporales?

Trabajo en una aplicación sobre VB6 y SQLServer7.
Necesito seleccionar una serie de registros de una tabla pero, dependiendo de un determinado parámetro que identifica al usuario, he de mostrar al usuario unos registros y esconder otros... ¿Es apropiado en este caso el uso de una tabla temporal en la que vuelco todos los registros para ese usuario determinado?
Es decir, por ejemplo, dependiendo del usuario, si se trata del director sólo tendrá acceso a una serie de registros sobre los que podrá trabajar. Si se trata del subdirector, pues lo mismo, sobre la misma tabla sólo accederá a los que pueda tocar, etc...
Si alguien puede aclararme el tema se lo agradecería. Un saludo a todos.

1 respuesta

Respuesta
1
Lo que pretendes tiene una solución tremendamente sencilla, supongamos que tienes una tabla con tres campos
MIBD - es el nombre de la base de datos
TablaX - es el nombre de la tabla
Campo1,
Campo2,
Campo3
Y tienes dos usuarios Usu1 y Usu2
Usu1 puede ver los tres campos pero solamente de los que campo1 empiece por 'A'
Usu2 puede ver Campo2 y Campo3 de todo el mundo.
Solución, Lanza los script
Create View MIBD. USU1. VISTAX AS
SELECT * FROM TABLAX WHERE
CAMPO1 LIKE 'A%'
WITH CHECK OPTION
---------------
Create View MIBD.USU2.VISTAX AS
SELECT CAMPO2,CAMPO3 FROM TABLAX
WITH CHECK OPTION
---------------
Cuando el usuario haga una consulta solo le mostrará los datos que puede ver, es decir , la instrucción
select * from VistaX
traerá datos distintos para Usu1 y Usu2, incluso podrian ser tablas que no tuvieran que ver entre sí.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas