Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Тригер на удаление (универсальный?)
|
|||
|---|---|---|---|
|
#18+
Вопрос касается не столько собственно скрипта, сколько стиля написания. Итак, стандартное условие для тригера на удаление одной записи из таблицы справочника: Запрет на удаление если на данную запись есть ссылка из другой таблицы. Понятно, что надо пробежаться по всем таблицам где есть ссылка на данный справочник и проверить наличие кода удаляемой записи. Проблема в том, что база данных еще находится в стадии разработки. Т.е. могут добавлятся (удалятся) новые таблицы. И что, каждый раз править кучу кода? Может быть имеет смысл написать некоторую универсальную хранимую процедуру которую и вызывать из тригера? И еще один вопрос, тоже по стилю. Имеет ли смысл передавать значение в выходные параметры хранимых процедур. Или стоит жестко придерживаться правила - если OUTPUT, то этот параметр только возвращает (но не принимает) значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2002, 07:05 |
|
||
|
Тригер на удаление (универсальный?)
|
|||
|---|---|---|---|
|
#18+
Для SQL2000 есть каскадные обновления/удаления. В SQL7, если вы взялись организовывать ссылочную целостность на триггерах, то выигрышей от использования универсальной процедуры я не вижу, поскольку для универсализации придется создать какие дополнительные таблицы, хранящие те же связи PK-FK и вместо "кучи кода" придется следить за "кучей записей" на предмет их актуальности. Не думаю, что облегчит вам жизнь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2002, 09:08 |
|
||
|
Тригер на удаление (универсальный?)
|
|||
|---|---|---|---|
|
#18+
2 Glory У меня SQL7. Там что, можно установить (снять) связь PK-FK только через диаграммы? Других способов нет? Если бы ты не упомянул про эту связь я бы вообще про нее не вспомнил. Так бы и писал тригера. И как ты работаешь с параметрами OUTPUT ? Только на выдачу или и на прием тоже? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2002, 10:20 |
|
||
|
Тригер на удаление (универсальный?)
|
|||
|---|---|---|---|
|
#18+
Да нет, не только через диаграммы. В EM в режиме дизайна таблицы, а также через команды DDL. Использование параметров IMHO дело вкуса. По мне так проще помнить, что параметр только выходной, чем помнить(и возможно проверять в коде) что через него могут передаваться какие-то значения. тобишь я за - "разделяй и властвуй" IMHO логичнее для процедур в проектах, где твой код будут использовать другие разработчики, совершенно четко поределить: вот входные параметры, вот выходные, вот код завершения, т.е. in/out/return ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2002, 11:23 |
|
||
|
Тригер на удаление (универсальный?)
|
|||
|---|---|---|---|
|
#18+
Поскольку разработка находится в начальной стадии, IMHO наилучшее решение - перейти на SQL2K и использовать PK-FK связи с поддержкой каскадных операций. За одно получите множество других приятных удобств вроде UDF, sql_variant. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2002, 11:25 |
|
||
|
Тригер на удаление (универсальный?)
|
|||
|---|---|---|---|
|
#18+
В ЕМ я выхожу на закладку RelationShips, но не могу создать новую связь. Не понятно куда тыкаться. А по поводу SQL2K вопрос упирается в деньги и психологию руководства. SQL7 уже есть, причем лицензионный, а SQL2K еще покупать надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2002, 11:29 |
|
||
|
Тригер на удаление (универсальный?)
|
|||
|---|---|---|---|
|
#18+
BOL - Using the SQL Server Tools - User Interface Reference - Visual Database Tools - Developing Database Structure - Working with Relationships - Creating a Relationship Between Tables ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2002, 14:50 |
|
||
|
Тригер на удаление (универсальный?)
|
|||
|---|---|---|---|
|
#18+
Не удастся протянуть связь между таблицами, у которых нет PK. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2002, 17:28 |
|
||
|
Тригер на удаление (универсальный?)
|
|||
|---|---|---|---|
|
#18+
2 Glory У меня MS SQL7 и в его BOL нет таких пунктов. Все что я нашел в BOL относительно установок связи касается либо диаграммы, либо прямых команд с непонятными (для меня) объектами типа InterfaceDef 2 Garay Это понятно. И вопросов по созданию PK у меня нет. Все очевидно. Непонятно как ВИЗУАЛЬНО создавать FK и настраивать связь кроме как через диаграммы. Но, все-равно. Всем спасибо. Да и диаграммы - вещь полезная. Так что буду через них строить связи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2002, 07:10 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3484&tid=1823093]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 368ms |

| 0 / 0 |
