powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / изменение только одной записи
25 сообщений из 35, страница 1 из 2
изменение только одной записи
    #39823647
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
интересно как в Оракле, например, можно дать пользователю возможность работать на изменение только одной записи
...
Рейтинг: 0 / 0
изменение только одной записи
    #39823648
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
триггеры не предлагать, таблиц много и, возможно, будет миграция
...
Рейтинг: 0 / 0
изменение только одной записи
    #39823656
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Cookinинтересно как в Оракле, например, можно дать пользователю возможность работать на изменение только одной записиgrant update on dual
...
Рейтинг: 0 / 0
изменение только одной записи
    #39823666
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Cookinкак в Оракле, например, можно дать пользователю возможность работать на изменение только
одной записи

"В соответствии с документацией на Row Level Security" не предлагать?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
изменение только одной записи
    #39823674
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

предлагать
...
Рейтинг: 0 / 0
изменение только одной записи
    #39823675
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
create table dropme_t(id number primary key, val varchar2(100)
    , usr varchar2(100) default sys_context('USERENV','SESSION_USER') check (usr=sys_context('USERENV','SESSION_USER'))
      unique
    )
;
...
Рейтинг: 0 / 0
изменение только одной записи
    #39823676
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov Row Level
Как на уровне строки узнать, что она не единственная?
...
Рейтинг: 0 / 0
изменение только одной записи
    #39823680
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Dimitry Sibiryakov Row Level
Как на уровне строки узнать, что она не единственная?
unique constraint не предлагать? :)
...
Рейтинг: 0 / 0
изменение только одной записи
    #39823681
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous
Код: plsql
1.
2.
3.
4.
5.
create table dropme_t(id number primary key, val varchar2(100)
    , usr varchar2(100) default sys_context('USERENV','SESSION_USER') check (usr=sys_context('USERENV','SESSION_USER'))
      unique
    )
;



Забыл дополнить:
Код: plsql
1.
create view dropme_v as select id, val from dropme_t where usr=sys_context('USERENV','SESSION_USER') with check option;



и грантуете пользователю dropme_v, она updatable
...
Рейтинг: 0 / 0
изменение только одной записи
    #39823686
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovRow Level Security" не предлагать?..


RLS не сработает если UPDATE с WHERE clause.

SY.
...
Рейтинг: 0 / 0
изменение только одной записи
    #39823922
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYDimitry SibiryakovRow Level Security" не предлагать?..


RLS не сработает если UPDATE с WHERE clause.

SY.дать права на вьюху
во вьюхе контекст
...
Рейтинг: 0 / 0
изменение только одной записи
    #39824027
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Cookinтриггеры не предлагать

Тем не менее, предложу триггер instead of. Генерация кода, в т.ч. миграционного, поддается автоматизации.

Кроме того, процедурный подход.
...
Рейтинг: 0 / 0
изменение только одной записи
    #39824043
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Cookinтриггеры не предлагать, таблиц много и, возможно, будет миграциямиграция вкуда?
...
Рейтинг: 0 / 0
изменение только одной записи
    #39824062
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxдать права на вьюху
во вьюхе контекст

И как контекст разрешит изменение только одной строки?

SY.
...
Рейтинг: 0 / 0
изменение только одной записи
    #39824064
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYandreymxдать права на вьюху
во вьюхе контекст

И как контекст разрешит изменение только одной строки?

SY.create UserView as
select * from businessTable
where id = sys_context(www, myId)
...
Рейтинг: 0 / 0
изменение только одной записи
    #39824076
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxcreate UserView as
select * from businessTable
where id = sys_context(www, myId)

21903932
...
Рейтинг: 0 / 0
изменение только одной записи
    #39824079
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxcreate UserView as
select * from businessTable
where id = sys_context(www, myId)

Как я понимаю задачу, юзер формирует любой запрос типа:

Код: plsql
1.
2.
3.
4.
UPDATE some_table
   SET some_column = some_value
   WHERE some_conditions
/



и его необходимо "зарубить" если изменяется > 1 строки.

SY.
...
Рейтинг: 0 / 0
изменение только одной записи
    #39824083
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousandreymxcreate UserView as
select * from businessTable
where id = sys_context(www, myId)

21903932

імхо
sys_context('USERENV','SESSION_USER') перебор. ограничение сработает для всех юсеров
надо выборочно (пользователю)


.....
stax
...
Рейтинг: 0 / 0
изменение только одной записи
    #39824094
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYКак я понимаю задачу,А как её понимает немногословный автор - неважно?
...
Рейтинг: 0 / 0
изменение только одной записи
    #39824161
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicSYКак я понимаю задачу,А как её понимает немногословный автор - неважно?поддержу предыдущего оратора
...
Рейтинг: 0 / 0
изменение только одной записи
    #39824210
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxмиграция вкуда?
Обсуждается в MS SQL Server. Но он не потятянет, начальница говорит.
...
Рейтинг: 0 / 0
изменение только одной записи
    #39824213
Фотография DВА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Cookinandreymxмиграция вкуда?
Обсуждается в MS SQL Server. Но он не потятянет, начальница говорит.
поэтому решили только по одной записи апдейтить?
...
Рейтинг: 0 / 0
изменение только одной записи
    #39824220
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SY,

Всё верно. Именно такая задача и стоит. Потому что через приложение юзер изменяет/добавляет.удаляет всегда только ОДНУ запись. А в RB ему дадена возможность исполнять любые скрипты в области своей видимости. И задача - не дать юзеру возможности делать UPRATE ... WHERE 1=1

Задача выросла из предыдущей (разрешить RB делать только селекты) - которая была решена путём создания спец. юзера RB_USER с возможностью только SELECT и создания для RB специального CONNECTION для этого RB_USER.
...
Рейтинг: 0 / 0
изменение только одной записи
    #39824222
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DВА,

Юзеры апдейтят по одной записи. Точка. Все BULK LOAD выполняются IT
...
Рейтинг: 0 / 0
изменение только одной записи
    #39824226
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmdmdm,

Похоже, единственный выход. Жаль, таблиц много.
Делать ENABLE/DISABLE триггеров перед BULK LOAD мы уже умеем
...
Рейтинг: 0 / 0
25 сообщений из 35, страница 1 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / изменение только одной записи
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]