una tabla sesiones saber quien otra multiple monitorear modifico ejemplos dinamico developer datos create consultas consultar como comandos columns sql oracle sqlplus ora-00942

sql - tabla - oracle pivot dinamico



Como sistema en Sqlplus, ¿cómo consulto la tabla de otro usuario? (3)

Necesitas hacer:

SELECT * FROM schema_name.the_table;

O usa SYNONYMs ...

CREATE SYNONYM the_table FOR schema_name.the_table;

De acuerdo con el nombre seleccionado de system_privilege_map, el sistema ha sido otorgado:

SELECT ANY TABLE

... y muchas otras * CUALQUIER TABLA.

Simplemente corriendo

select * from the_table; select * from the_table;

... redes la respuesta dada:

ERROR en la línea 1: ORA-00942: tabla o vista no existe

Puedo iniciar sesión como ese usuario y ejecutar el mismo comando muy bien.

Me estoy ejecutando bajo la suposición de que debería ser capaz de ejecutar consultas (seleccionar en este caso) a cambio de una tabla DB de usuario general. ¿Mi suposición es correcta? De ser así, ¿cómo lo hago?


Si the_table es propiedad del usuario "some_user", entonces:

select * from some_user.the_table;


Como han dicho las respuestas anteriores, puede anteponer el nombre del objeto con el nombre del esquema:

SELECT * FROM schema_name.the_table;

O puede usar un sinónimo (privado o público):

CREATE (PUBLIC) SYNONYM the_table FOR schema_name.the_table;

O puede emitir un comando alter session para establecer el esquema predeterminado al que desea:

ALTER SESSION SET current_schema=schema_name;

Tenga en cuenta que esto solo establece el esquema predeterminado, y es el equivalente a poner todos los nombres de los objetos (no calificados) schema_name con schema_name . Todavía puede prefijar objetos con un nombre de esquema diferente para acceder a un objeto desde otro esquema. El uso de SET current_schema no afecta sus privilegios: usted todavía tiene los privilegios del usuario que inició sesión, no el esquema que ha establecido.