SQL триггер, вставьте в оператор

0

У меня две таблицы sql, называемые scan_sc и rescan_rsc. Таблица сканирования выглядит так:

CREATE TABLE scan_sc 
( 
   id_sc int(4), 
   Type_sc varchar(255), 
   ReScan_sc varchar(255), 
   PRIMARY KEY  (id_sc)
)

При сканировании документа я вставляю строку в таблицу сканирования. Если результат сканирования плох, я должен выполнить повторное сканирование, и поэтому у меня есть таблица повторного сканирования.

CREATE TABLE rescan_rsc 
(
   id_rsc int(4), 
   Scan_rsc varchar(255), 
   PRIMARY KEY  (id_rsc)
)

Проблема в том, что я хочу иметь триггер, который заполнит столбец ReScannet_sc "x" в таблице scan_sc, поэтому я вижу, что здесь были некоторые проблемы.

Триггер должен сделать это, когда идентификатор из таблицы повторного сканирования совпадает с идентификатором таблицы сканирования.

Надеюсь, вы все поймете мой вопрос.

Заранее спасибо.

  • 2
    Какую СУБД вы используете?
  • 4
    Какая база данных и какая версия ?? SQL - это просто язык структурированных запросов - язык, используемый во многих системах баз данных - SQL НЕ является продуктом баз данных ... подобные вещи очень часто зависят от поставщика - поэтому нам действительно нужно знать, какую систему базы данных вы используете .. ..
Показать ещё 2 комментария
Теги:
where
triggers
insert

1 ответ

1
Лучший ответ

Вам действительно нужен ReScan_sc и триггер?

С помощью простого JOIN вы можете узнать записи в вашей таблице scan_sc, которые были повторно просмотрены, без использования столбца ReScan_sc вообще.
Существует несколько возможностей:

Показать все сканирование, с дополнительным столбцом с идентификатором Rescan, если таковые имеются:

SELECT scan_sc.*, rescan_sc.id_rsc
FROM scan_sc
LEFT JOIN rescan_sc ON scan_sc.id_sc = rescan_sc.id_rsc

Покажите только те проверки, которые были повторно просмотрены:

SELECT scan_sc.*
FROM scan_sc
INNER JOIN rescan_sc ON scan_sc.id_sc = rescan_sc.id_rsc

(Я предполагаю, что id_sc и id_rsc являются первичными ключами и что PRIMARY KEY (id_sd) - это опечатка, например PRIMARY KEY (id_sd) в его комментарии)

  • 0
    Тогда у меня нет табеля, где пользователи могут вводить повторно отсканированные документы, если я правильно понимаю ваше решение.
  • 0
    У вас все равно будут обе таблицы. rescan_sc таблица будет оставаться как есть, только Rescan_sc столбец в scan_sc таблице уедет (и не будет нужен триггер на всех).
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню