SQL3600N | Не е валидна опцията IMMEDIATE CHECKED на оператора SET INTEGRITY, тъй като таблицата "<table-name>" не е в състояние на изчакване при проверка. |
Обяснение: Данните се проверяват за нарушения на ограниченията на стойностите при актуализация само ако таблицата е в състояние на изчакване при проверка.
Отговор на потребителя: Използвайте оператора SET INTEGRITY с опцията OFF, за да поставите таблица в състояние на изчакване при проверка.
sqlcode: -3600
sqlstate: 51027
SQL3601W | Операторът е предизвикал автоматичното поставяне на една или повече таблици в състояние на изчакване при проверка. |
Обяснение: Има две ситуации, при които тази грешка възниква.
Отговор на потребителя: Това е предупредително съобщение. Потребителят трябва да изпълни оператора SET INTEGRITY с опцията IMMEDIATE CHECKED, за да валидира интегритета на всички зависими и произхождащи таблици.
sqlcode: +3601
sqlstate: 01586
SQL3602W | Обработката за проверка на данните е открила нарушение на ограниченията на стойности и ги е преместила в таблици за изключения. |
Обяснение: Има редове, които нарушават ограниченията, определени да се проверят от изпълнението на оператора SET INTEGRITY. Те са преместени в таблици на изключенията.
Отговор на потребителя: Проверете таблиците на изключенията за редове, които нарушават ограниченията. Редовете са изтрити от оригиналната таблица, но може да бъдат коригирани и преместени обратно от таблиците на изключенията.
sqlcode: +3602
sqlstate: 01603
SQL3603N | Обработката за проверка на данните чрез оператора SET INTEGRITY е открила нарушаване на интегритета, включващо ограничение с име "<име>". |
Обяснение: Открит е ред, който нарушава ограничение, дефинирано в таблица, определена да се провери от оператора SET INTEGRITY. Името "<име>" е име на ограничение или на генерирана колона.
Отговор на потребителя: Редът е изтрит от таблицата, тъй като е използвана опцията FOR EXCEPTION.
Препоръчително е при проверка на данни да се изпълни оператора SET INTEGRITY с използването на опцията FOR EXCEPTION. Данните може да бъдат коригирани с информация от таблиците на изключенията.
sqlcode: -3603
sqlstate: 23514
SQL3604N | Таблицата на изключения "<име-на-таблица>", съответстваща на таблицата "<име-на-таблица>" в оператора SET INTEGRITY или помощната програма LOAD, няма правилната структура, дефинирана е с уникални индекси, ограничения, генерирани колони или тригери или самата тя е в състояние на изчакване при проверка. |
Обяснение: Таблицата на изключенията, съответстваща на таблицата, трябва да има дефиниция, подобна на дефиницията на оригиналната таблица. Опционални колони за помощната програма са посочени в съответния раздел на документацията, описващ таблиците на изключенията. Възможно е в таблицата с изключения да няма генерирани колони. Не трябва да има никакви дефинирани ограничения или тригери за таблицата на изключенията. Самата таблица на изключенията не трябва да бъде в състояние на изчакване при проверка.
Отговор на потребителя: Създайте таблицата на изключенията така, както се казва в съответния раздел на документацията и изпълнете отново оператора или помощната програма.
sqlcode: -3604
sqlstate: 428A5
SQL3605N | Таблицата "<име-на-таблица>", посочена в оператора SET INTEGRITY или не е в списъка за проверка, или е таблица на изключенията, посочена повече от един път. |
Обяснение: Когато клаузата FOR EXCEPTION е посочена в оператора SET INTEGRITY, тази грешка може да бъде причинена от едно от следните:
Отговор на потребителя: Коригирайте имената на таблиците и изпълнете отново командата.
sqlcode: -3605
sqlstate: 428A6
SQL3606N | Съществува несъответствие в броя на претърсваните таблици и броя на таблиците с изключения, зададени в оператора SET INTEGRITY. |
Обяснение: Трябва да има съответствие едно към едно между оригиналните таблици и таблиците на изключенията, посочени в списъка.
Отговор на потребителя: Създайте липсващата таблица на изключенията, ако това още не е направено, и я посочете в списъка при повторното изпълнение на командата.
sqlcode: -3606
sqlstate: 428A7
SQL3608N | Не може да се провери или инициализира състоянието Check Pending на зависимата таблица "<име-на-таблица>" с използването на оператора SET INTEGRITY докато родителската таблица "<име-на-таблица>" е в състояние на изчакване при проверка. |
Обяснение: Родителската таблица трябва да бъде чиста (да не е в състояние на изчакване при проверка) или да бъде включена в списъка за извикване, за да
Отговор на потребителя: Уверете се, че родителската таблица не е в състояние на изчакване при проверка чрез изпълнение на оператора SET INTEGRITY за проверка на родителската таблица.
Препоръчва се първо да проверите родителската таблица. Възможно е също да проверите зависимата таблица и да включите родителската таблица в списъка за извикване. В този случай командата може все още да бъде неуспешна, ако има нарушение на ограниченията в родителската таблица и те не са изтрити (т.е. ако не се използва опцията FOR EXCEPTION). Това може да се случи, ако не е използвана опцията FOR EXCEPTION.
В този случай на референциален цикъл всички таблици трябва да бъдат включени в списъка за извикване.
sqlcode: -3608
sqlstate: 428A8