|
|
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
День добрый, Нужно сделать триггер на удаление из таблицы, который бы запрещал удалени из таблицы для чужого пользователя. Каким образом это можно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2007, 12:37 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
Есть такая переменная user ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2007, 12:38 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
2Jannny: Все правильно, нам надоело отвечать одинаково и мы теперь отвечаем "пополам" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2007, 12:40 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
А можно пример? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2007, 12:46 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
А grant на delete чужому пользователю не давать слишком просто? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2007, 12:49 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
Задача стоит именно сделать это через триггеры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2007, 12:51 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
sadginА можно пример? Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2007, 12:53 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
semenar sadginА можно пример? Код: plaintext 1. 2. 3. 4. 5. 6. 7. And why for each row? SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2007, 16:14 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
SY semenar sadginА можно пример? Код: plaintext 1. 2. 3. 4. 5. 6. 7. And why for each row? SY. Согласен, смостырил из того что было под рукой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2007, 16:22 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
SY semenar sadginА можно пример? Код: plaintext 1. 2. 3. 4. 5. 6. 7. And why for each row? SY. У меня просто в каждой строке службное поле usr и конструкция с ипользованием :new. or :old. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2007, 16:29 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
Вопрос в в тему: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2008, 12:25 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
Ещё правильнее сравнивать не со строкой (которая в случае с именем пользователя должна быть в апперкейсе) а с овнером таблицы имхо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2008, 12:29 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
alexiaВопрос в в тему: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2008, 12:31 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
alexiaВопрос в в тему: Код: plaintext PL/SQL User’s Guide and Reference Defining Your Own Error Messages: Procedure RAISE_APPLICATION_ERROR To call RAISE_APPLICATION_ERROR, use the syntax raise_application_error(error_number, message[, {TRUE | FALSE}]); where error_number is a negative integer in the range -20000 .. -20999 and message is a character string up to 2048 bytes long. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2008, 12:33 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
Про диапазон я знаю. Хорошо, вот пример: допустим, выбрал я число -20100. Где гарантия того, что это число уже где-то используется, но для других целей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2008, 12:38 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
ошибся немного: alexia Хорошо, вот пример: допустим, выбрал я число -20100. Где гарантия того, что это число уже где-то не используется для других целей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2008, 12:40 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
alexiaПро диапазон я знаю. Хорошо, вот пример: допустим, выбрал я число -20100. Где гарантия того, что это число уже где-то используется, но для других целей? Гарантии нет, это вопрос проектирования. Если ошибка выдается наружу и не перехватывается, вопрос числа - десятый. Если ты в своей процедуре (серверной или клиентской) обрабатываешь исключение, ты должен просмотреть все вызываемые процедуры... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2008, 12:42 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
Как запретить для определенной схемы удалять любую таблицу даже если эта таблица находится в этой же схеме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 06:12 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
SAS2014Как запретить для определенной схемы удалять любую таблицу даже если эта таблица находится в этой же схеме? Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 07:40 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
SAS2014, разместить все таблицы в другой схеме и пользоваться синонимами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 07:56 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
Alexander_TtlSAS2014, разместить все таблицы в другой схеме и пользоваться синонимами не вариант ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 08:01 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
база производственная информация привязана к схеме и таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 08:10 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
Создать системный триггер на drop table? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 08:20 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
MirnyiAtomСоздать системный триггер на drop table?Если в базе работают вредители, обойдут без проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 08:34 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
SAS2014база производственная информация привязана к схеме и таблицы И все ходят под владельцем схемы, явно знают его пароль и имеют возможность выполнить произвольный запрос в БД? Ах как вы себе заботливо грабли разложили-то! А вот и дробовичок для выстрела в свою ногу рядышком лежит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 11:43 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
env, для создания "системного триггера" не нужны особые права? ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 12:06 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
Stax, -2- уже ответил. Если есть желание навредить, то и это обойдут. Подойдёт в качестве защиты от дурака-разработчика, выдавшего объектные права в доступные рядовому пользователю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 12:12 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
env, я б не смог обойти ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 12:19 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
-2-MirnyiAtomСоздать системный триггер на drop table?Если в базе работают вредители, обойдут без проблем.В общем случае? Как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 14:24 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop-2-Если в базе работают вредители, обойдут без проблем.В общем случае? Как?Если триггер на схема.drop, именно дропнуть не получится. Получить схожий результат можно через rename, alterом удалить поля и накрыть truncateом. Может быть получится создать партиционную таблицу, сделать exchange и дроп партиции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 15:30 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
-2-, Оригинальный (ооочень древний) вопрос был про запрет удаления данных таблицы а вот сегодняшний про запрет удаления самих таблиц. Конечно, с точки зрения бизнеса те же яйца, но с технической... SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 15:52 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
SYОригинальный (ооочень древний) вопрос был про запрет удаления данных таблицы а вот сегодняшний про запрет удаления самих таблиц. Конечно, с точки зрения бизнеса те же яйца, но с технической...Виной тому, в немалой степени, косноязычие продолжателя: SAS2014удалять таблицу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 15:59 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
-2-Может быть получится создать партиционную таблицу, сделать exchange и дроп партиции.Ну да, 12.2 вроде позволяет ковертировать в секционированную Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 16:13 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopТак что, наверное, можно подропать секции и даже транкейт не пригодится. Последнюю сигарету не стреляют Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 16:29 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
столько слов столько много, а толку нет и ни один из типа "экспертов" так и не написал команду, которую я просил. А просил я просто, мне надо запретить определенному пользователю удалять таблицы пробовал не работает revoke drop any table from test ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2018, 09:51 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
причем любые таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2018, 09:51 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
SAS2014столько слов столько много, а толку нет и ни один из типа "экспертов" так и не написал команду, которую я просил. А просил я просто, мне надо запретить определенному пользователю удалять таблицыЧтобы дать команду кому-то, важны не конкретные слова, а командный голос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2018, 10:05 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
SAS2014и ни один из типа "экспертов" так и не написал команду, которую я просил. Берёшь доку и внимательно читаешь про права владельца схемы. Решение тебе уже дали - синонимов вполне хватит. Но, т.к. думать ты не желаешь, и продолжаешь ждать чуда в виде волшебной заплатки для кривой архитектуры, то окромя стёба дать тебе практически нечего. Вариант с системным триггером, защищающим от кривых рук разработчика, тоже уже предложили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2018, 11:01 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
SAS2014причем любые таблицы Чужие таблицы удалить можно только имея DROP ANY TABLE (хаки не обсуждаем). Свою таблицу мoжно грохнуть всегда. Поэтому таблицы которые юзер не должен грохать должны быть чужими таблицами. Можно конечно создать триггер (при уcловии юзер не имеет ADMINISTER DATABASE TRIGGER) или, например, создать дочернюю таблицу в другой схеме если таблицы которые юзер не должен грохать имеют PK/UK но все это плохая архитектура. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2018, 16:30 |
|
||
|
Запрет на удаление
|
|||
|---|---|---|---|
|
#18+
SYSAS2014причем любые таблицы Чужие таблицы удалить можно только имея DROP ANY TABLE (хаки не обсуждаем). Свою таблицу мoжно грохнуть всегда. Поэтому таблицы которые юзер не должен грохать должны быть чужими таблицами. Можно конечно создать триггер (при уcловии юзер не имеет ADMINISTER DATABASE TRIGGER) или, например, создать дочернюю таблицу в другой схеме если таблицы которые юзер не должен грохать имеют PK/UK но все это плохая архитектура. SY. значит как бы не замарачиватся то в своей схеме юзер может удалить все и запретить ему нельзя, кроме как писать pl\sql код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 01:10 |
|
||
|
|

start [/forum/topic.php?all=1&fid=52&tid=1883359]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
200ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 552ms |

| 0 / 0 |
