Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
Создать триггер, запрещающий пользователю иван добавить строки в таблицу карта, если в колонке город встречается москва. Выручайте! Не знаю как(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2018, 11:19 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
Rustam0712, открывается любой текстовый редактор и в нем набирается запрос на создание триггера, начинающийся со слов Create trigger. Далее написанный код отправляется любым доступным способом на исполнению серверу и вуа ля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2018, 12:27 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
либо показывайте ваше решение и задавайте конкретные вопросы либо вам сюда: Студентам, желающим помощи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2018, 12:42 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
creat trigger on КАРТА after insert as begin if (select карта from город where End ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2018, 15:37 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
Дедушка,вот мои достижения...не могу понять какое условие необходимо creat trigger on КАРТА after insert as begin if (select карта from город where End ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2018, 15:41 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
Rustam0712, т.к. вам нужно "триггер, запрещающий пользователю добавить строки в таблицу", то вместо after insert нужно instead of читать тут и тут по первой ссылке обратите внимание на пример А (как на общее направление) "select карта from город where" у вас [карта] это таблица, а [город] это колонка напишите для начала просто селект выводящий 1 если в таблице уже есть город Москва читать про exists "запрещающий пользователю иван" - тут несколько неопределённо, но для начала читать про current_user ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2018, 16:13 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
ДедушкаRustam0712, т.к. вам нужно "триггер, запрещающий пользователю добавить строки в таблицу", то вместо after insert нужно instead of Зачем? Зачем лепить instead of там где он совсем не нужен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2018, 23:33 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
MindДедушкаRustam0712, т.к. вам нужно "триггер, запрещающий пользователю добавить строки в таблицу", то вместо after insert нужно instead of Зачем? Зачем лепить instead of там где он совсем не нужен?то, что человек изучает инструмент триггеров и получил вполне себе конкретное задание на закрепление пройденного материала - в твою голову не приходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 07:14 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
Добрый Э - ЭхMindпропущено... Зачем? Зачем лепить instead of там где он совсем не нужен?то, что человек изучает инструмент триггеров и получил вполне себе конкретное задание на закрепление пройденного материала - в твою голову не приходит? Конструирование триггеров INSTEAD OFГлавное преимущество триггеров INSTEAD OF в том, что они позволяют поддерживать обновления для таких представлений, которые обновлять невозможно. Чтобы представление на основе нескольких базовых таблиц поддерживало вставку, обновление и удаление данных в нескольких таблицах, следует использовать триггер INSTEAD OF. Другое преимущество триггера INSTEAD OF состоит в том, что он обеспечивает логику кода, при которой можно отвергать одни части пакета и принимать другие. Триггер INSTEAD OF может выполнять следующие действия: пропускать части пакета; не обрабатывать часть пакета и сохранять строки с неполадками в журнале; выполнять альтернативное действие в случае ошибки.Что именно из вышеперечисленного нужно было человеку? В следующий раз когда меня спросят как обновить поле A значением B где поле C = X я скажу что надо использовать курсор, а что, конеретное себе задание, пусть школяры поизучают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 21:52 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
Mind, смысл упираться и постить куски доки? конкретное задание ТСа в первом посте, приведите свой вариант триггера, мы обсудим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2018, 21:56 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
ДедушкаMind, смысл упираться и постить куски доки? конкретное задание ТСа в первом посте, приведите свой вариант триггера, мы обсудим. обсуди: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 08:56 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
Jaffar, т.е. вы предлагаете сначала вставить данные в таблицу (хотя задание НЕ вставлять) потом сделать некую проверку и если проверка не прошла откатить транзакцию я вас правильно понял? :) вопрос а если хитрый Петя в это время сделал селект с nolock? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 09:54 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
Дедушкавопрос а если хитрый Петя в это время сделал селект с nolock? То хитрый Петя ССЗБ, ибо сказано, что READ UNCOMMITTED может приводить к грязному чтению, т.е. чтению строк, которых в базе не было и не будет (в закоммиченном виде, понятное дело). Городить же instead of триггер для запрета вставки, с моей точки зрения, излишне, достаточно сделать постобработку с rollback при нарушении условий. Я бы задумался об instead of только в том случае, если бы в постановке явно было написано, что ошибочные данные не должны быть доступны иным транзакциям, читающим в READ UNCOMMITTED, только тогда бы требовалась предобработка в instead of триггере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 10:15 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
MinamotoДедушкавопрос а если хитрый Петя в это время сделал селект с nolock? То хитрый Петя ССЗБ, ибо сказано, что READ UNCOMMITTED может приводить к грязному чтению, т.е. чтению строк, которых в базе не было и не будет (в закоммиченном виде, понятное дело). Городить же instead of триггер для запрета вставки, с моей точки зрения, излишне, достаточно сделать постобработку с rollback при нарушении условий. Я бы задумался об instead of только в том случае, если бы в постановке явно было написано, что ошибочные данные не должны быть доступны иным транзакциям, читающим в READ UNCOMMITTED, только тогда бы требовалась предобработка в instead of триггере. Вставить, потом думать а можно ли было вставлять, это да решение, права кстати тоже есть в sql. Ну и вариант что вставить он может 1кк записей, а потом будем откатывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 10:20 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
Minamoto, Создать триггер, запрещающий пользователю иван добавить строки в таблицу карта, если в колонке город встречается москва. Данный триггер AFTER не запрещает вставку, он откатывает транзакцию. Формально задание не выполнено, тк вставка была произведена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 10:30 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
Зачем споритеMinamoto, Создать триггер, запрещающий пользователю иван добавить строки в таблицу карта, если в колонке город встречается москва. Данный триггер AFTER не запрещает вставку, он откатывает транзакцию. Формально задание не выполнено, тк вставка была произведена. Я бы сказал, что это на усмотрение преподавателя, который будет проверять выполнение задания. Один может сказать, что вставка завершена тогда, когда проведена операция изменения страниц, и тогда требуется instead of insert. Другой может сказать, что вставка завершена при завершении транзакции, содержащей операцию вставки, и тогда достаточно after insert. Третий вообще сам не понимает различия в триггерах, и ему любая реализация подойдет. С точки зрения реализации в реальной работе я чаще видел реализации с after insert - запрет на вставку в instead of ни разу не видел. Какой преподаватель будет проверять работу (и какую реализацию выбрать) - знает только ТС, поэтому спорить, действительно, не о чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 11:02 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
MinamotoГородить же instead of триггер для запрета вставки, с моей точки зрения, излишне, достаточно сделать постобработку с rollback при нарушении условий.ещё один молодой и горячий в компанию к Jaffar... :) и дело не в преподавателе, а в логике впрочем, если вам ближе "гланды череж ж*пу", то кто я такой, чтобы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 12:05 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
ДедушкаMinamotoГородить же instead of триггер для запрета вставки, с моей точки зрения, излишне, достаточно сделать постобработку с rollback при нарушении условий.ещё один молодой и горячий в компанию к Jaffar... :) и дело не в преподавателе, а в логике впрочем, если вам ближе "гланды череж ж*пу", то кто я такой, чтобы... и меня тогда запиши в молодые и горячие (хотя это, к сожалению, уже давно не так) в данной задаче абсолютно не нужен instead триггер. Кроме того, что на них существуют дополнительные ограничения, и того, что код будет длиннее, его придётся переписывать при добавлении/удалении полей в таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 12:16 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
ДедушкаMinamotoГородить же instead of триггер для запрета вставки, с моей точки зрения, излишне, достаточно сделать постобработку с rollback при нарушении условий.ещё один молодой и горячий в компанию к Jaffar... :) и дело не в преподавателе, а в логике впрочем, если вам ближе "гланды череж ж*пу", то кто я такой, чтобы...Если я молодой и горячий, то вы, по всей видимости, старый и холодный? :) Я обычно начинаю работать строго по формальной логике тогда, когда нужно испортить взаимодействие с определенным человеком - "как написали, так и сделал, а то, что не работает - так это вы так написали". Когда нужно сделать, чтобы работало, нужно выяснять, какой результат в итоге должен получиться, и реализовать, исходя из требуемого результата, осознавая (по возможности) ограничения и особенности выбранного подхода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 12:29 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
ДедушкаMinamotoГородить же instead of триггер для запрета вставки, с моей точки зрения, излишне, достаточно сделать постобработку с rollback при нарушении условий.ещё один молодой и горячий в компанию к Jaffar... :) и дело не в преподавателе, а в логике впрочем, если вам ближе "гланды череж ж*пу", то кто я такой, чтобы...Лепить на каждую таблицу INSTEAD OF это и есть гланды через ж*пу. С тем что триггер это костыль надеюсь все согласны? А INSTEAD OF триггер это костыль в квадрате. Применяется обычно когда вас чем то не устраивает стандартная вставка в таблицу, а код поменять нельзя, например исходников приложения нет. Для банального же запрета вставки подошел бы обычный CHECK Constraints, но препод придумывал задание на проверку знаний триггеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 21:42 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
MindДедушкапропущено... ещё один молодой и горячий в компанию к Jaffar... :) и дело не в преподавателе, а в логике впрочем, если вам ближе "гланды череж ж*пу", то кто я такой, чтобы...Лепить на каждую таблицу INSTEAD OF это и есть гланды через ж*пу. С тем что триггер это костыль надеюсь все согласны? А INSTEAD OF триггер это костыль в квадрате. Применяется обычно когда вас чем то не устраивает стандартная вставка в таблицу, а код поменять нельзя, например исходников приложения нет. Для банального же запрета вставки подошел бы обычный CHECK Constraints, но препод придумывал задание на проверку знаний триггеров. секста о сектанты подтянулись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 21:45 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
Зачем споритеДанный триггер AFTER не запрещает вставку, он откатывает транзакцию. Формально задание не выполнено, тк вставка была произведена.Так может рассуждать только человек не понимающий приципов работы транзакций. MinamotoЗачем споритеMinamoto, Создать триггер, запрещающий пользователю иван добавить строки в таблицу карта, если в колонке город встречается москва. Данный триггер AFTER не запрещает вставку, он откатывает транзакцию. Формально задание не выполнено, тк вставка была произведена. Я бы сказал, что это на усмотрение преподавателя, который будет проверять выполнение задания. Какой преподаватель будет проверять работу (и какую реализацию выбрать) - знает только ТС, поэтому спорить, действительно, не о чем.А еще задание ничего не говорит о случае если пользователь вставляет сразу две строки, где только одна не удовлетворяет условию, что должно произойти со второй? От ответа на этот вопрос по сути и будет зависеть какой триггер использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 21:48 |
|
||
|
SQL Задание
|
|||
|---|---|---|---|
|
#18+
Зачем споритеMinamoto, Создать триггер, запрещающий пользователю иван добавить строки в таблицу карта, если в колонке город встречается москва. Данный триггер AFTER не запрещает вставку, он откатывает транзакцию. Формально задание не выполнено, тк вставка была произведена. в колонке - какой? вставляемой или такая запись уже есть в таблице? Преподаватели - дятлы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2018, 10:43 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39603697&tid=1690207]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
85ms |
get tp. blocked users: |
2ms |
| others: | 267ms |
| total: | 455ms |

| 0 / 0 |
