Как разрешить обновление результатов просмотра в Oracle? - PullRequest
0 голосов
/ 18 апреля 2009

Я понимаю, что представления базы данных доступны только для чтения или, по крайней мере, только для чтения по умолчанию.

Можно ли разрешить изменение данных, представленных представлением оракула?

Перефразируя: Если я сделаю вид только одной таблицы, просто чтобы скрыть некоторые столбцы, будут ли изменения в этих данных обновляться в таблице?

Ответы [ 3 ]

7 голосов
/ 18 апреля 2009

Да, представления Oracle могут быть изменены.

Однако существуют некоторые ограничения:

1 голос
/ 18 апреля 2009

Я не верю, что представления Oracle по умолчанию доступны только для чтения ... одно представление таблицы должно быть обновляемым при условии, что оно не содержит операций с несколькими строками, таких как DISTINCT или GROUP BY. Пользователь, о котором идет речь, должен был получить ОБНОВЛЕНИЕ ПРОСМОТРА privs.

Простое представление с удаленными столбцами, безусловно, должно быть обновляемым, если у вас есть привилегии для обновления рассматриваемого представления ...

GRANT UPDATE ON your_view_name TO your_user;

Какие ошибки вы получаете при попытке выполнить инструкцию UPDATE?

0 голосов
/ 19 апреля 2009

В oracle представление не содержит собственных базовых данных. Так что, если ваш взгляд разрешает обновления, то базовая таблица будет обновлена.

Если вам нужна дополнительная информация, стоит обратиться к разделу «Представления» в руководстве по концепциям Oracle.

http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/schema.htm#sthref787

Дополнительную информацию также можно найти в команде sql «Create View».

http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_8004.htm#SQLRF01504

Надеюсь, это поможет

Привет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...