Мы запускаем SQL 6.5 через ADO, и у нас самая странная проблема.
Это предложение начнет генерировать тупики
insert clinical_notes ( NOTE_ID, CLIENT, MBR_ID, EPISODE, NOTE_DATE_TIME,
NOTE_TEXT, DEI, CARE_MGR, RELATED_EVT_ID, SERIES, EAP_CASE, TRIAGE, CATEGORY,
APPOINTMENT, PROVIDER_ID, PROVIDER_NAME )
VALUES ( 'NTPR3178042', 'HUMANA/PR', '999999999_001', 'EPPR915347',
'03-28-2011 11:25', 'We use á, é, í, ó, ú and ü (this is the least one we
use, but there''s a few words with it, like the city: Mayagüez).', 'APK', 'APK',
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL )
Триггером являются символы ú
и ü
. Если они находятся в столбце NOTE_TEXT.
NOTE_TEXT - текстовый столбец.
Есть индексы на
UNC_not_id
NT_CT_MBR_NDX
NT_REL_EVT_NDX
NT_SERIES_NDX
idx_clinical_notes_date_time
nt_ep_idx
NOTE_ID - это первичный ключ.
Что произойдет после того, как мы выпустим это утверждение, если мы выдадим идентичное, но с новым значением NOTE_ID, мы получим тупик.
Как уже упоминалось, это происходит только тогда, когда ú
или ü
находится в NOTE_TEXT.
Это тестовый сервер, и, как правило, только одна сессия обращается к этой таблице при возникновении ошибки.
Я уверен, что это как-то связано с наборами символов и тому подобным, но для жизни я не могу решить это.