Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
Как создать триггер, который проверяет, чтобы у каждого клиента не было открыто в одной валюте более одного банковского счета. Таблица: CREATE TABLE Account ( account_number bigint NOT NULL, c_identification_code bigint NOT NULL, account_type varchar (10) NOT NULL CHECK (account_type IN ('salary', 'depositary')), currency char (3) CHECK (currency IN ('UAH', 'USD', 'EUR')), opening_an_account date NOT NULL, account_balance money NOT NULL DEFAULT 0.00, snapshot_date date, PRIMARY KEY (snapshot_date, account_number), FOREIGN KEY (c_identification_code) REFERENCES Сustomers (identification_code)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 10:48 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
Нафига проверять? нафига триггер? уникальный индекс на (юзер, валюта) гарантированно исключит появления второй записи у юзера в той же валюте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 11:09 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
Akina, так поставлена задача ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 11:12 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
cglcz, проще всего создать уникальный индекс по этим полям. Это будет эффективнее триггера. Можно и констрейнт UNIQUE. Но и в этом случае сервер автоматически создаст уникальный индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 11:15 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
cglczAkina, так поставлена задачаПокажите, что вы уже сделали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 11:17 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
cglczКак создать триггер, который проверяетА теперь по буквам. Триггер по факту выполнения неких действий с данными выполняет некие действия либо дополнительно к тем, которые вызвали его срабатывание, либо вместо них. А вот к какой заднице прилепить "проверку"? ну проверили... дальше-то что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 11:19 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
Akina, ну поставили человеку такую задачу, чего упираться то? :) исходя из постановки, если пытаются добавить в таблицу счёт, а у клиента уже есть, то выводить сообщение об ошибке. делов то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 11:59 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
ДедушкаAkina, ну поставили человеку такую задачу, чего упираться то? :) исходя из постановки, если пытаются добавить в таблицу счёт, а у клиента уже есть, то выводить сообщение об ошибке. делов то...Можно не добавлять только "неправильные" счета, можно вообще отменить всю вставку, возможны и другие варианты. Кроме того, и в случае апдейта тоже придётся проверять. В общем, не хватает ясности в постановке. И всё-таки, cglcz, требуется для вас придумать постановку задачи и решить её "под ключ" или поправить какое-то ваше решение и реализацию? В таком случае покажите её нам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 12:21 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 12:50 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
Шыфл, FOR = AFTER FOR INSTEAD OF - такого не бывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 12:57 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
cglcz, а чем уникальный индекс не подходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 14:33 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
Гость, проходящий мимоcglcz, а чем уникальный индекс не подходит?Тем, что препод лабу не засчитает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 14:34 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
CREATE TRIGGER [dbo].[trg] ON [dbo].[Account] FOR INSERT, UPDATE as begin if exists ( select 1 from Account a inner join inserted i on a.c_identification_code = i.c_identification_code and a.account_type = i.account_type and a.currency = i.currency ) begin select 'Error' end end пока вот такой набросок получился, но подчеркивает красным всю первую строку CREATE TRIGGER [dbo].[trg] ON [dbo].[Account] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 14:37 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
cglczно подчеркивает красным всю первую строкуПеред ней в окне ничего нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 14:43 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
cglcz, так у Вас наверное уже есть такой триггер Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 14:56 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
xenix, нет, точно нету ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 15:01 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
все получилось, всем спасибо за помощь) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 15:03 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
cglczвсе получилось, всем спасибо за помощь) я канешно дико извеняюсь НО какой тайный смысл такого триггера ? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 15:10 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
cglcz, вы в курсе, что триггер FOR INSERT, UPDATE срабатывает после вставки/изменения? К этому моменту записи уже вставлены! Сравнивать inserted с таблицей бессмысленно! Оно всегда будет давать TRUE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 17:04 |
|
||
|
Как создать триггер, который проверяет запись на уникальность
|
|||
|---|---|---|---|
|
#18+
iapcglcz, вы в курсе, что триггер FOR INSERT, UPDATE срабатывает после вставки/изменения? К этому моменту записи уже вставлены! Сравнивать inserted с таблицей бессмысленно! Оно всегда будет давать TRUEА вот рассмотреть триггер INSTEAD OF INSERT, UPDATE очень даже стоит! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 17:05 |
|
||
|
|

start [/forum/topic.php?fid=46&gotonew=1&tid=1690144]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
10ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 412ms |

| 0 / 0 |
