Справочник на съобщенията

SQL0500 - SQL0599

SQL0501NУказателят, зададен в оператора FETCH или CLOSE, не е отворен.

Обяснение: Програмата е направила опит да изпълни или: (1) FETCH, като използва указател, или (2) CLOSE указател по време, когато въпросният указател не е бил отворен.

Операторът не може да бъде обработен.

Отговор на потребителя: Проверете предишното съобщение (SQLCODE), което може да е затворило указателя. Обърнете внимание, че след като указателят е затворен, всички оператори за извличане или затваряне на указателя получават SQLCODE -501.

Ако няма предишни SQLCODE, коригирайте приложната програма така, че да е сигурно, че указателят е отворен, когато се изпълнява оператор FETCH или CLOSE.

sqlcode: -501

sqlstate: 24501

SQL0502NУказателят, зададен в оператор OPEN, вече е отворен.

Обяснение: Програмата е направила опит да изпълни оператор OPEN за отворен указател.

Операторът не може да бъде обработен. Указателят не е променен.

Отговор на потребителя: Коригирайте приложната програма така, че да е сигурно, че тя няма да прави опит да изпълнява оператор OPEN за вече отворен указател.

sqlcode: -502

sqlstate: 24502

SQL0503NКолона не може да бъде обновена, защото не е посочена в клаузата FOR UPDATE на оператора SELECT на указателя.

Обяснение: Като е използвала указателя, програмата е направила опит да обнови стойност в колона на таблица, която не е била посочена в клаузата FOR UPDATE в декларацията на указателя или в подготвения оператор SELECT.

За да бъде обновена, всяка колона трябва да бъде посочена в клаузата FOR UPDATE в декларацията на указателя.

Операторът не може да бъде обработен.

Отговор на потребителя: Коригирайте приложната програма. Ако колоната изисква обновяване, добавете името й в клаузата FOR UPDATE в декларацията на указателя.

sqlcode: -503

sqlstate: 42912

SQL0504NУказателят "<име>" не е дефиниран.

Обяснение: Зададен е UPDATE или DELETE WHERE CURRENT OF "<име>", но указателят "<име>" не е деклариран в приложната програма.

Операторът не може да бъде обработен.

Отговор на потребителя: Довършете приложната програма и коригирайте грешките при изписването на имената на указателите.

sqlcode: -504

sqlstate: 34000

SQL0505NУказателят "<име>" вече е дефиниран.

Обяснение: Името на указателя, зададено в оператора DECLARE, вече е декларирано.

Операторът не може да бъде обработен.

Отговор на потребителя: Уверете се, че името е изписано правилно.

SQL0507NУказателят, зададен в оператора UPDATE или DELETE, не е отворен.

Обяснение: Програмата е направила опит да изпълни оператор UPDATE или DELETE WHERE CURRENT OF, в който зададеният указател не е бил отворен.

Операторът не може да бъде обработен. Не е изпълнено нито обновяване, нито изтриване.

Отговор на потребителя: Проверете предишното съобщение (SQLCODE), което може да е затворило указателя. Обърнете внимание, че след като указателят е затворен, всички оператори за извличане или затваряне на указателя получават SQLCODE -501 и всички обновявания или изтривания получават SQLCODE -507. Коригирайте логиката на приложната програма, за да е сигурно, че зададеният указател е отворен в момента, в който се изпълнява оператор UPDATE или DELETE.

sqlcode: -507

sqlstate: 24501

SQL0508NУказателят, зададен в оператор UPDATE или DELETE, не е позициониран на ред.

Обяснение: Програмата е направила опит да изпълни оператор UPDATE или DELETE WHERE CURRENT OF, в който зададеният указател не е бил позициониран на ред на обектна таблица. Указателят трябва да бъде позициониран на реда, който ще бъде обновен или изтрит.

Указателят вече не е позициониран на ред, ако редът е изтрит. Това включва използване на всякакви указатели в рамките на точката за съхранение, когато се изпълнява ROLLBACK TO SAVEPOINT.

Потребители на обединени системи: записът в отдалечения източник на данни е бил обновен и/или изтрит от друго приложение (или друг указател в рамките на същото приложение) и записът вече не съществува.

Операторът не може да бъде обработен. Няма обновени или изтрити данни.

Отговор на потребителя: Коригирайте логиката на приложната програма, за да е сигурно, че указателят е позициониран правилно на желания ред на обектната таблица, преди да се изпълнява оператор UPDATE или DELETE. Обърнете внимание, че указателят не е позициониран на ред, ако след FETCH е върнато съобщение SQL0100W (SQLCODE = 100).

sqlcode: -508

sqlstate: 24504

SQL0509NТаблицата, зададена в оператор UPDATE или DELETE, не е същата като зададената в SELECT за указателя.

Обяснение: Програмата е направила опит да изпълни оператор UPDATE или DELETE WHERE CURRENT OF, в който именуваната таблица не съответства на името на таблицата, зададена в оператора SELECT, който декларира указателя.

Операторът не може да бъде обработен.

Отговор на потребителя: Коригирайте приложната програма, за да е сигурно, че таблицата, посочена в оператора UPDATE или DELETE, е същата като таблицата, посочена в декларацията на указателя.

sqlcode: -509

sqlstate: 42827

SQL0510NНе е разрешен UPDATE или DELETE за зададения указател.

Обяснение: Програмата е направила опит да изпълни оператор UPDATE или DELETE WHERE CURRENT OF за дефиниция на таблица или производна таблица, за която не е разрешена исканата операция обновяване или изтриване. Тази грешка може да възникне например при триене от производна таблица само за четене или при обновяване, за което указателят не е дефиниран с клаузата FOR UPDATE.

За мениджъра на базата данни производната таблица е само за четене, ако операторът SELECT съдържа

Обърнете внимание, че тези условия не се прилагат за подзапитвания на оператора SELECT.

Указателят е деклариран с клауза FOR FETCH ONLY или ORDER BY.

Указателят е неопределен и е зададена опция за свързване BLOCKING ALL.

Операторът не може да бъде обработен.

Отговор на потребителя: Ако мениджърът на базата данни не може да изпълни оператора и указателят е базиран на оператор SELECT или VALUES, който е само за четене, не подавайте за него никакви оператори за изтриване или обновяване.

Ако мениджърът на базата данни не може да изпълни оператора и указателят не е базиран на оператор SELECT или VALUES, който е само за четене, и е дефиниран с клауза FOR FETCH ONLY или ORDER BY, отстранете тази клауза от дефиницията на указателя или не подавайте никакви оператори за обновяване или изтриване.

Ако мениджърът на базата данни не може да изпълни оператора и указателят не може да бъде определен от дефиницията си или от контекста дали е само за извличане или е обновяем, свържете повторно програмата с опция за свързване BLOCKING NO или BLOCKING UNAMBIG.

Потребители на обединени системи: изолирайте проблема в източник на данни, отказващ заявката (вижте ръководството за откриване на проблеми за процедурите за определяне на неуспешния източник на данни). Ако източникът на данни не може да изпълни заявката, проверете ограниченията за този източник на данни, за да определите причината за проблема и неговото решение. Ако ограничението съществува за източника на данни, вижте Справочника за SQL за този източник на данни, за да определите защо обектът не е обновяем.

sqlcode: -510

sqlstate: 42828

SQL0511NНе е разрешена клаузата FOR UPDATE, защото таблицата, посочена чрез указателя, не може да бъде модифицирана.

Обяснение: Резултатната таблица от оператор SELECT или VALUES не може да бъде обновявана.

За мениджъра на базата данни резултатната таблица е само за четене, ако указателят е базиран на оператор VALUES или операторът SELECT съдържа една от следните спецификации:

Обърнете внимание, че тези условия не се прилагат за подзапитвания на оператора SELECT.

Операторът не може да бъде обработен.

Отговор на потребителя: Не изпълнявайте обновявания на резултатната таблица така, както е зададена.

Потребители на обединени системи: изолирайте проблема в източник на данни, отказващ заявката (вижте ръководството за откриване на проблеми за процедурите за определяне на неуспешния източник на данни). Ако източникът на данни не може да изпълни заявката, проверете ограниченията за този източник на данни, за да определите причината за проблема и неговото решение. Ако ограничението съществува за източника на данни, вижте Справочника за SQL за този източник на данни, за да определите защо обектът не е обновяем.

sqlcode: -511

sqlstate: 42829

SQL0513WSQL операторът ще модифицира цялата таблица или производна таблица.

Обяснение: Операторът UPDATE или DELETE не съдържа клауза WHERE, така че ако този оператор се изпълни, ще бъдат модифицирани всички редове на таблицата или производната таблица.

Операторът може да се приеме.

Потребители на обединени системи: не всички източници на данни издават това предупреждение. обединен сървър прави опит да издаде това предупреждение винаги, когато съществува въпросната ситуация, но няма гаранция, че обединен сървър може винаги да я открие. Не разчитайте на това предупреждение, за да предотвратите изпълнението на операциите UPDATE/DELETE върху цялата таблица или производна таблица.

Отговор на потребителя: Уверете се, че искате да модифицирате цялата таблица или производна таблица.

SQL0514NУказателят "<име>" не е в подготвено състояние.

Обяснение: Приложната програма е направила опит да използва указател "<име>", който не е в готово състояние. Указателят е асоцииран с оператор, който или (1) никога не е бил подготвен; (2) или е направен невалиден от ROLLBACK; (3) или е направен невалиден от явно или неявно повторно свързване на пакета.

Операторът не може да бъде обработен.

Отговор на потребителя: При случай (1) преди да опитате да отворите указателя, подгответе оператора, именуван в DECLARE CURSOR за "<име>". При случай (2) не издавайте команда за ролбек (ROLLBACK), докато не завършите използването на указателя. При случай (3) подготовката за указателя трябва да бъде извършена отново.

sqlcode: -514

sqlstate: 26501

SQL0516NОператорът DESCRIBE не задава подготвен оператор.

Обяснение: Името на оператора в оператора DESCRIBE трябва да задава оператор, който е подготвен в същата транзакция на базата данни.

Операторът не може да бъде обработен.

Отговор на потребителя: Проверете дали името на оператора задава оператор, който е бил подготвен.

sqlcode: -516

sqlstate: 26501

SQL0517NУказателят "<име>" указва подготвен оператора, който не е оператор SELECT или VALUES.

Обяснение: Указателят "<име>" не може да се използва като зададен, защото подготвеният оператор, именуван в декларацията на указателя, не е оператор SELECT или VALUES.

Операторът не може да бъде обработен.

Отговор на потребителя: Проверете дали името на оператора е зададено коректно в операторите PREPARE и DECLARE CURSOR за указателя "<име>". Или коригирайте програмата така, че да е сигурно, че само подготвени оператори SELECT или VALUES се използват във връзка с декларации на указатели.

sqlcode: -517

sqlstate: 07005

SQL0518NОператорът, посочен в оператора EXECUTE, или не е в състояние на готовност, или е оператор SELECT или VALUES.

Обяснение: Приложната програма се е опитала да изпълни оператор EXECUTE, (1) който никога не е бил подготвен, (2) не е бил валидиран чрез команда за ролбек (ROLLBACK), (3) представлява оператор SELECT или VALUES, или (4) не е бил валидиран нито чрез явно (експлицитно), нито чрез неявно (имплицитно) повторно свързване на пакета.

Операторът не може да бъде обработен.

Отговор на потребителя: При случай (1) подгответе оператора, преди да опитате EXECUTE. При случай (2) или не издавайте команда за ролбек (ROLLBACK), докато не завършите използването на подготвения оператор, или подгответе оператора отново след ролбек. При случай (3) се уверете, че операторът не е SELECT или VALUES. При случай (4) подготовката за указателя трябва да бъде извършена отново.

sqlcode: -518

sqlstate: 07003

SQL0519NОператор PREPARE идентифицира оператора SELECT или VALUES на отворения указател "<име>".

Обяснение: Приложната програма се е опитала да подготви оператор SELECT или VALUES за зададения указател, когато указателят е вече отворен.

Операторът не може да бъде подготвен. Указателят не е бил променен.

Отговор на потребителя: Коригирайте приложната програма, така че да не прави опити да подготви оператора SELECT или VALUES за отворения указател.

sqlcode: -519

sqlstate: 24506

SQL0525NSQL операторът не може да бъде изпълнен, защото има грешка по време на свързването за секция = "<номер-на-секция>" пакет = "<име-на-пакет>" токен за консистентност = X"<токен>".

Обяснение: Причината е една от следните:

Променливите са:

sectno
Номер на секция

pkgname
locid.collid.pkgid

contoken
Токен за консистенция в шестнадесетичен вид

Изразът не може да бъде изпълнен.

Отговор на потребителя: Ако SQL изразът не е предназначен за изпълнение на посоченото разположение, коригирайте програмата така, че грешният израз да не се изпълнява от това разположение. Предкомпилирайте, компилирайте, свържете и заменете пакета. Ако SQL изразът е предназначен а изпълнение на посоченото разположение, коригирайте проблема, възникнал при свързването, и свържете пакета отново, използвайки BIND с ACTION(REPLACE). Ако са свързани много версии на пакета, подайте SELECT, за да определите коя версия причинява грешката: SELECT VERSION FROM locid.SYSIBM.SYSPACKAGE WHERE LOCATION = ' ' AND COLLID = 'collid' AND NAME = 'pkgid' AND HEX(CONTOKEN) = 'contoken'

Където:

locid
Име на разположението

collid
ID на колекция

pkgid
Име на програмата

sqlcode: -525

sqlstate: 51015

SQL0526NЗаявената функция не се прилага за декларирани временни таблици.

Обяснение: Изпълняваният SQL оператор се обръща към декларирана временна таблица. Декларирана временна таблица не може да се използва в дадения контекст.

Операторът не може да бъде обработен.

Отговор на потребителя: Модифицирайте SQL оператора, за да е сигурно, че препратките към обекти не са към декларирани временни таблици.

sqlcode: -526

sqlstate: 42995

SQL0528NТаблицата "<име-на-таблица>" вече притежава ограничение за уникалност, което е дубликат на ограничение "<име>".

Обяснение: Клауза UNIQUE използва същия списък на колони като клауза PRIMARY KEY, друга клауза UNIQUE или PRIMARY KEY или ограничение UNIQUE, което вече съществува за таблица "<име-на-таблица>". Не се разрешават дубликати на ограниченията за уникалност.

"<име>" е името на ограничението, ако е то е зададено или съществува. Ако не е зададено име на ограничение, "<име>" е първото име на колона, указано в списъка на колони от клауза UNIQUE, следвано от три точки.

Операторът не може да бъде обработен.

Отговор на потребителя: Премахнете дублираната клауза UNIQUE или променете списъка колони с набор колони, които не са вече част от ограничение за уникалност.

sqlcode: -528

sqlstate: 42891

SQL0530NСтойността за вмъкване или обновяване на FOREIGN KEY "<име-на-ограничение>" не е равна на никоя стойност на ключа родител от таблицата родител.

Обяснение: Настройва се стойност за външен ключ от обектната таблица, но тази стойност не е равна на никоя стойност на ключа родител от таблицата родител.

Когато се вмъкне ред в таблица, зависима от ограничение, стойността за вмъкване на външния ключ трябва да е равна на някоя стойност от ключа родител на който и да е ред от таблицата родител в асоциираната връзка.

По подобие на това, когато стойността на външен ключ се обнови, обновената стойност на външния ключ трябва да бъде равна на стойността на ключа родител от който и да е ред на таблицата родител на асоциираната връзка при приключване на оператора.

Потребители на обединени системи: ограничението на стойности при актуализация може да съществува в източник на данни (ако дъщерната таблица и таблицата родител съществуват на източник на данни).

Някои източници на данни не предоставят правилните стойности за "<име-на-ограничение>". В тези случаи токенът на съобщението ще има следният формат: "<източник на данни>:UNKNOWN", показващ, че действителната стойност за указания източник на данни е неизвестна.

Операторът не може да бъде изпълнен. Съдържанието на обектната таблица е непроменено.

Отговор на потребителя: Вижте първо стойността на външния ключ за вмъкване или обновяване, а след това я сравнете с всяка от стойностите на ключовете родител от таблицата родител, за да определите и коригирате проблема.

sqlcode: -530

sqlstate: 23503

SQL0531NКлючът-родител в ред-родител на взаимоотношение "<име-на-ограничение>" не може да бъде обновен.

Обяснение: Имаше опит за обновяване на ключ родител в реда от таблицата родител, но ключът родител в зададения ред има зависими редове в зависимата таблица, асоциирана с него в ограничението "<име-на-ограничение>".

Когато правилото за обновяване на ограничение "<име-на-ограничение>" е NO ACTION, стойността на ключа-родител в ред-родител не може да бъде обновена, ако при приключването на този оператор редът родител има зависими редове.

Когато правилото за обновяване на ограничение "<име-на-ограничение>" е RESTRICT, стойността на ключ родител в ред родител не може да бъде обновена, ако редът родител има зависими редове, когато се прави опитът за обновяване на ключа родител.

Потребители на обединени системи: ограничението на стойности при актуализация може да съществува в източник на данни (ако дъщерната таблица и таблицата родител съществуват на източник на данни).

Някои източници на данни не предоставят правилните стойности за "<име-на-ограничение>". В тези случаи токенът на съобщението ще има следният формат: "<източник на данни>:UNKNOWN", показващ, че действителната стойност за указания източник на данни е неизвестна.

Операторът не може да бъде изпълнен. Съдържанието на таблицата-родител е непроменено.

Отговор на потребителя: Изследвайте ключа родител на обектната таблица и външния ключ на таблицата, зависима от ограничение, за да определите дали стойността на зададения ред на ключа родител трябва да бъде променена. Ако това не води до изясняване на проблема, изследвайте съдържанието на обектната таблица и на зависимата таблица, за да определите и коригирате проблема.

sqlcode: -531

sqlstate: 23001, 23504

SQL0532NРед родител не може да бъде изтрит, тъй като връзката "<име-на-ограничение>" не допуска изтриването.

Обяснение: Една операция направи опит да изтрие даден ред от таблицата родител, но ключът родител на този ред има зависими редове в референциалното ограничение "<име-на-ограничение>" и за тази връзка е зададено правило за изтриване NO ACTION или RESTRICT.

Когато правилото за изтриване на ограничение на стойности при актуализация "<име-на-ограничение>" е NO ACTION, не може да се изтрие ред от таблицата родител, ако зависимите редове са все още зависими от ключа родител в края на оператора.

Когато правилото за изтриване на ограничение "<име-на-ограничение>" е RESTRICT, не може да се изтрие ред от таблицата родител, ако редът родител има зависими редове по време на изтриване.

Не забравяйте, че изтриването може да каскадира и да изтрие и други редове в зависими таблици, имащи правила за изтриване NO ACTION или RESTRICT. Следователно ограничението "<име-на-ограничение>" може да се намира в друга таблица, а не при оригиналната операция за изтриване.

Потребители на обединени системи: ограничението на стойности при актуализация може да съществува в източник на данни (ако дъщерната таблица и таблицата родител съществуват на източник на данни).

Някои източници на данни не предоставят правилните стойности за "<име-на-ограничение>". В тези случаи съответните полета съдържат стойности (като "unknown"), които показват, че истинската стойност не е известна.

Операторът не може да бъде изпълнен. Съдържанието на таблицата е непроменено.

Отговор на потребителя: Разгледайте внимателно правилото за изтриване за всички зависими таблици, за да определите и коригирате проблема. Конкретните таблици могат да се определят от връзката "<име-на-ограничение>".

sqlcode: -532

sqlstate: 23001, 23504

SQL0533NОператорът INSERT не е валиден, тъй като съществува връзка, която ограничава до един ред действието на фулселекта.

Обяснение: Операция INSERT с фулселект е направила опит да вмъкне няколко реда в таблица, която е родител и е зависима в същата връзка на референциално ограничение.

Фулселектът на операцията INSERT не бива да връща повече от един ред информация.

Операторът INSERT не може да бъде изпълнен. Съдържанието на обектната таблица е непроменено.

Потребители на обединени системи: ограничението на стойности при актуализация може да съществува в източник на данни (ако дъщерната таблица и таблицата родител съществуват на източник на данни).

Отговор на потребителя: Разгледайте условието за търсене на фулселекта, за да сте сигурни, че няма да се избира повече от един ред информация.

sqlcode: -533

sqlstate: 21501

SQL0534NНевалидно обновяване на няколко реда.

Обяснение: Операция UPDATE е направила опит да извърши обновяване на няколко реда на колона, включена в първичен ключ или уникален индекс.

Не се поддържа едновременно обновяване на няколко реда на колони от първичен ключ или уникален индекс.

Операторът UPDATE не може да бъде изпълнен. Съдържанието на таблицата е непроменено.

Потребители на обединени системи: ограничението на стойности при актуализация може да съществува на обединен сървър (ако дъщерната таблица и таблицата родител съществуват като таблици на обединен сървър) или то може да съществува на източник на данни (ако дъщерната таблица и таблицата родител съществуват на източник на данни).

Отговор на потребителя: Убедете се, че условието за търсене от оператора UPDATE избира за обновяване само един ред от обектна таблица.

sqlcode: -534

sqlstate: 21502

SQL0535NОператорът DELETE не е валиден, тъй като обръщаща се към себе си връзка ограничава изтриването само до един ред.

Обяснение: Операция DELETE, съдържаща клауза WHERE, е направила опит да изтрие няколко реда от таблица, която е родител и е зависима в една връзка на референциално ограничение с правило за изтриване RESTRICT или SET NULL.

Клаузата WHERE от операция DELETE не бива да избира повече от един ред данни.

Операторът DELETE не може да бъде изпълнен. Съдържанието на обектната таблица е непроменено.

Потребители на обединени системи: ограничението на стойности при актуализация може да съществува в източник на данни (ако дъщерната таблица и таблицата родител съществуват на източник на данни).

Отговор на потребителя: Проучете условието за търсене от клауза WHERE, за да се уверите, че не е избран повече от един ред.

ЗАБЕЛЕЖКА: Това ограничение е валидно за версиите на DB2 преди Версия 2.

sqlcode: -535

sqlstate: 21504

SQL0536NОператорът DELETE не е валиден, тъй като таблица "<име>" може да бъде променена от операцията.

Обяснение: Направен е опит за извършване на операция DELETE, при която означената таблица е била спомената в подзапитване.

Таблицата, спомената в подзапитване на оператора DELETE, може да бъде повлияна, защото тя е или:

Потребители на обединени системи: ограничението на стойности при актуализация може да съществува в източник на данни (ако дъщерната таблица и таблицата родител съществуват на източник на данни).

Някои източници на данни не предоставят правилните стойности за "<име>". В тези случаи съответните полета съдържат стойности (като "unknown"), които показват, че истинската стойност не е известна.

Операторът не може да бъде изпълнен.

Отговор на потребителя: Не споменавайте таблица в подзапитване на оператор DELETE, когато тя може да бъде повлияна от този оператор.

ЗАБЕЛЕЖКА: Тази грешка се отнася само за версии на DB2 преди Версия 2 и хост машини, достъпни през DB2 Connect.

sqlcode: -536

sqlstate: 42914

SQL0537NКлауза PRIMARY KEY, клауза FOREIGN KEY, клауза UNIQUE или клауза PARTITIONING KEY указва колона "<име>" повече от веднъж.

Обяснение: Колона "<име>" се появява повече от веднъж в клауза PRIMARY KEY, клауза FOREIGN KEY, клауза UNIQUE или клауза PARTITIONING KEY на оператор CREATE или ALTER.

Потребители на обединени системи: ограничението на стойности при актуализация може да съществува в източник на данни (ако дъщерната таблица и таблицата родител съществуват на източник на данни).

Някои източници на данни не предоставят правилните стойности за "<име>". В тези случаи съответните полета съдържат стойности (като "unknown"), които показват, че истинската стойност не е известна.

Операторът не може да бъде обработен.

Отговор на потребителя: Задайте уникални имена за всяка колона.

sqlcode: -537

sqlstate: 42709

SQL0538NFOREIGN KEY "<име>" не отговаря на описанието на ключа родител на таблица "<име-на-таблица>".

Обяснение: Дефиницията на посочения външен ключ не отговаря на описанието на ключа-родител на таблицата "<име-на-таблица>".

Възможните грешки са:

"<име>" е името на ограничението, ако е зададено такова, в клаузата FOREIGN KEY. Ако не е зададено име на ограничение, "<име>" е първото име на колона, зададено от клаузата и последвано от три точки.

Потребители на обединени системи: някои източници на данни не предоставят правилните стойности за "<име>" и "<име-на-таблица>". В тези случаи съответните полета съдържат стойности (като "unknown"), които показват, че истинската стойност не е известна.

Ограничението на стойности при актуализация може да съществува в източник на данни (ако дъщерната таблица и таблицата родител съществуват на източник на данни).

Операторът не може да бъде обработен.

Отговор на потребителя: Коригирайте оператора, така че описанието на външния ключ да се подчинява на описанието на ключа родител.

sqlcode: -538

sqlstate: 42830

SQL0539NТаблица "<име>" не притежава ключ от типа "<тип-на-ключ>".

Обяснение: Възникнала е една от следните ситуации:

Потребители на обединени системи: ограничението на стойности при актуализация може да съществува в източник на данни (ако дъщерната таблица и таблицата родител съществуват на източник на данни).

Някои източници на данни не предоставят правилните стойности за "<име>" и "<тип-на-ключ>". В тези случаи съответните полета съдържат стойности (като "unknown"), които показват, че истинската стойност не е известна.

Операторът не може да бъде обработен. Системен каталог не може да бъде дефиниран като родител в референциално ограничение.

Отговор на потребителя: Когато се създава референциално ограничение, задайте първичния ключ, преди да задавате каквито и да са външни ключове (ограничения).

sqlcode: -539

sqlstate: 42888

SQL0540NДефиницията на таблица "<име-на-таблица>" е непълна, защото няма първичен индекс или задължителен уникален индекс.

Обяснение: Таблицата е дефинирана с PRIMARY KEY клауза или UNIQUE клауза. Нейната дефиниция е непълна и тя не може да се използва, докато не се дефинира уникален индекс за първичния ключ (първичния индекс) и за всеки набор колони във всяка UNIQUE клауза (необходимите уникални индекси). Направен е опит за използване на таблицата в клауза FOREIGN KEY или в SQL манипулативен израз.

Изразът не може да бъде изпълнен.

Отговор на потребителя: Дефинирайте първичен индекс или необходимия уникален индекс на таблицата преди да я използвате.

sqlcode: -540

sqlstate: 57001

SQL0541WРеференциалното ограничение, първичният ключ или ограничението за уникалност "<име>" е пренебрегнато, понеже то е дублиращо се ограничение.

Обяснение: Ако "<име>" се отнася за референциално ограничение, тогава клауза FOREIGN KEY използва същите външен ключ и таблица родител, както и друга клауза FOREIGN KEY.

Ако "<име>" се отнася за първичен ключ или ограничение за уникалност, тогава е налице една от следните ситуации.

"<име>" е името на ограничението, ако е зададено такова. Ако не е зададено име на ограничение, "<име>" е първото име на колона, посочено в списъка на колони от клаузата FOREIGN KEY или UNIQUE, следвано от три точки.

Потребители на обединени системи: ограничението на стойности при актуализация може да съществува в източник на данни (ако дъщерната таблица и таблицата родител съществуват на източник на данни).

Някои източници на данни не предоставят правилните стойности за "<име>". В тези случаи съответните полета съдържат стойности (като "unknown"), които показват, че истинската стойност не е известна.

Посоченото референциално ограничение или ограничение за уникалност не е създадено. Операторът е изпълнен успешно.

Отговор на потребителя: Не е необходимо действие. Обработката може да продължи.

sqlcode: +541

sqlstate: 01543

SQL0542N"<име>" не може да бъде колона от първичен ключ или уникален ключ, защото съдържа null стойности.

Обяснение: Колона "<име>", посочена в клауза PRIMARY KEY или клауза UNIQUE, е дефинирана така, че да позволява null стойности.

Потребители на обединени системи: някои източници на данни не предоставят правилните стойности за "<име>". В тези случаи съответните полета съдържат стойности (като "unknown"), които показват, че истинската стойност не е известна.

Операторът не може да бъде обработен.

Отговор на потребителя: Коригирайте дефиницията на колоната, първичния ключ или уникалния ключ.

sqlcode: -542

sqlstate: 42831

SQL0543NРед от таблица родител не може да бъде изтрит, тъй като ограничението на условието за проверка "<име-на-ограничение>" не допуска това.

Обяснение: Операцията изтриване не може да бъде изпълнена, защото таблицата приемник е таблица родител и е свързана с референциално ограничение към зависима таблица с правило за изтриване SET NULL. Съществува обаче условие за проверка, дефинирано за зависимата таблица, което не допуска колоната да не притежава стойност.

Операторът не може да бъде обработен.

Отговор на потребителя: Проучете външния ключ и правилото му за изтриване в зависимата таблица и несъответстващото ограничение на условието за проверка. Променете или правилата за изтриване, или ограничението на условието за проверка, така че те да не си противоречат.

sqlcode: -543

sqlstate: 23511

SQL0544NОграничението на условието за проверка "<име-на-ограничение>" не може да бъде добавено, тъй като таблицата съдържа ред, който нарушава това ограничение.

Обяснение: Поне един съществуващ ред от таблицата нарушава ограничението на условието за проверка, добавено в оператор ALTER TABLE.

Операторът не може да бъде обработен.

Отговор на потребителя: Проучете дефиницията на ограничението на условието за проверка, зададена в оператор ALTER TABLE, и данните в таблицата, за да откриете защо има нарушение на ограничението. Променете или ограничението на условието за проверка, или данните, така че ограничението на стойностите при актуализация да не бъде нарушавано.

sqlcode: -544

sqlstate: 23512

SQL0545NЗаявената операция не е позволена, защото редът не удовлетворява ограничението на условието за проверка "<име-на-ограничение>".

Обяснение: Нарушенията на ограниченията на условия за проверка могат да възникнат при операции INSERT или UPDATE. Полученият ред е нарушил дефиницията за тази таблица на ограничението на условие за проверка.

Операторът не може да бъде обработен.

Отговор на потребителя: Проучете данните и дефиницията за ограничение на условието за проверка в производната таблица за каталог SYSCAT.CHECKS, за да определите защо не е осъществено изпълнението на оператор INSERT или UPDATE. Променете данните така, че да не се нарушава ограничението.

sqlcode: -545

sqlstate: 23513

SQL0546NОграничението на условието за проверка "<име-на-ограничение>" е невалидно.

Обяснение: Ограничение на условие за проверка в оператора CREATE TABLE или ALTER TABLE не е валидно по една или повече от следните причини:

Операторът не може да бъде обработен.

Отговор на потребителя: Потребителят може да реагира по един от следните начини в зависимост от причината за отказа:

sqlcode: -546

sqlstate: 42621

SQL0548NОграничение на условието за проверка, дефинирано чрез "<елемент>", е невалидно.

Обяснение: Ограничение на условие за проверка в оператора CREATE TABLE или ALTER TABLE не е валидно по една или повече от следните причини:

Токенът в текста на съобщението за грешка показва невалидния обект.

Операторът не може да бъде обработен.

Отговор на потребителя: Потребителят може да реагира по един от следните начини в зависимост от причината за отказа:

sqlcode: -548

sqlstate: 42621.

SQL0549NОператорът "<оператор>" не е разрешен за "<тип1-на-обект>" "<тип2-на-обект>", защото опцията за свързване DYNAMICRULES(BIND) в "<тип2-на-обект>" е в сила.

Обяснение: Програма е направила опит да издаде посочения SQL оператор, който е един от няколкото SQL оператора, които не може да бъдат издавани от пакет или план, за който е в сила опцията DYNAMICRULES(BIND). Тези SQL оператори са:

"<оператор>"
Грешният SQL оператор

"<тип1-на-обект>"
PACKAGE или DBRM. DBRM е валидно само в DRDA свързване.

"<име-на-обект1>"
Ако "<тип1-на-обект>" е PACKAGE, "<име-на-обект1>" е името на пакета във формата 'id-на-разположение.id-на-колекция.id-на-пакет'. Ако "<тип1-на-обект>" е DBRM, "<име-на-обект1>" е името на DBRM във формата 'обикновено-име DBRM-име'.

"<тип2-на-обект>"
PACKAGE или PLAN. PLAN е валидно само в DRDA свързване. Ако "<тип1-на-обект>" е PACKAGE, "<тип2-на-обект>" може да е или PACKAGE, или PLAN (което е свързано с DYNAMICRULES(BIND)). Ако "<тип1-на-обект>" е DBRM, "<тип2-на-обект>" е PLAN.
SQL операторът не може да бъде изпълнен.

Отговор на потребителя: Предприемете някое от следните действия, за да коригирате грешката:

sqlcode: -549

sqlstate: 42509

SQL0551N"<идентификатор-за-оторизация>" не притежава необходимите права, за да изпълни операция "<операция>" на обект "<име>".

Обяснение: Идентификаторът за оторизация "<идентификатор-за-оторизация>" е направил опит да изпълни зададената операция "<операция>" на "<име>", без да притежава необходимите права.

Ако създавате или променяте таблица с референциални ограничения, съобщението (SQLCODE) може да показва, че потребителят не притежава правата REFERENCES за създаване или отстраняване на FOREIGN KEY. В този случай "<операция>" е "REFERENCES" и "<име>" е обектът, за който се отнася ограничението.

Ако се опитвате да работите с помощна програма на DB2 или приложение на CLI, възможно е да е необходимо програмите на DB2 да бъдат повторно свързани към базата данни, понеже идентификаторът на потребителя, създал базата данни, вече не съществува или не притежава необходимите права.

Потребители на обединени системи: ако това съобщение е върнато, когато потребителят е променял отдалечената_pw колона на производната таблица SYSCAT.USEROPTIONS, потребителят не е оторизиран да променя паролата за друг потребител. Потребителят, който прави промените, трябва да има или права SYSADM, или идентификатор за оторизация (стойността в специалния регистър USER), който съответства на стойността на колона authid в обновяваните редове. Някои източници на данни не предоставят правилните стойности за "<идентификатор-за-оторизация>", <операция> и <име>. В тези случаи токените на съобщенията ще имат следния формат: "<източник на данни> AUTHID:UNKNOWN", "UNKNOWN" и "<източник на данни>:TABLE/VIEW", показващ, че действителните стойности за идентификатора за оторизация, операцията и името на посочения източник на данни са неизвестни.

Операторът не може да бъде обработен.

Отговор на потребителя: Уверете се, че "<идентификатор-за-оторизация>" притежава необходимите права за извършване на операцията.

Потребители на обединени системи: тази оторизация може да е в обединен сървър, източник на данни или и в двете.

Ако помощните програми за DB2 трябва да бъдат повторно свързани към базата данни, администраторът на базата данни може да постигне това, като подаде една от следните CLP команди от поддиректория bnd на потребителския модел, докато е свързан към базата данни:

sqlcode: -551

sqlstate: 42501

SQL0552N"<идентификатор-за-оторизация>" не притежава необходимите права, за да изпълни операция "<операция>".

Обяснение: Идентификаторът за оторизация "<идентификатор-за-оторизация>" е направил опит да изпълни зададената операция "<операция>", без да притежава необходимите права.

Потребители на обединени системи: някои източници на данни не предоставят правилните стойности за "<идентификатор-за-оторизация>" и "<операция>". В тези случаи токените на съобщенията ще имат следния формат: "<източник на данни> AUTHID:UNKNOWN" и "UNKNOWN" показващ, че действителните стойности за идентификатора за оторизация и операцията на посочения източник на данни са неизвестни.

Операторът не може да бъде обработен.

Отговор на потребителя: Уверете се, че "<идентификатор-за-оторизация>" притежава необходимите права за извършване на операцията.

Потребители на обединени системи: тази оторизация може да е в обединен сървър, източник на данни или и в двете.

sqlcode: -552

sqlstate: 42502

SQL0553NНе може да бъде създаден обект с име на схема "<име-на-схема>".

Обяснение: Причината за невалидността на името на схема "<име-на-схема>" зависи от типа на създавания обект.

Операторът не може да бъде обработен.

Отговор на потребителя: Използвайте валидно име на схема или премахнете явното (експлицитното) име на схема и отново изпълнете оператора.

sqlcode: -553

sqlstate: 42939

SQL0554NИдентификаторът за оторизация не може да предостави права сам на себе си.

Обяснение: Идентификаторът за оторизация е направил опит за изпълнение на оператор GRANT, в който самият той (идентификаторът) е вписан като част от списъка на идентификатори за оторизация, на които ще бъдат предоставени права.

Операторът не може да бъде обработен.

Отговор на потребителя: Премахнете идентификатора за оторизация от списъка.

sqlcode: -554

sqlstate: 42502

SQL0555NИдентификаторът за оторизация не може сам да си отнеме правата.

Обяснение: Идентификаторът за оторизация е направил опит за изпълнение на оператор REVOKE, в който самият той (идентификаторът) е вписан като част от списъка на идентификатори за оторизация, на които ще се отнемат правата.

Операторът не може да бъде обработен.

Отговор на потребителя: Премахнете идентификатора за оторизация от списъка.

sqlcode: -555

sqlstate: 42502

SQL0556NНе е приет опитът за лишаване на "<идентификатор-за-оторизация>" от права, защото "<идентификатор-за-оторизация>" не ги притежава.

Обяснение: Правата не може да бъдат отнети, защото "<идентификатор-за-оторизация>" не ги притежава.

Операторът не може да бъде обработен.

Отговор на потребителя: Променете оператора REVOKE така, че той да се подчинява на правилата за REVOKE, и отново го изпълнете. Уверете се, че когато операторът REVOKE изброява няколко права, които трябва да бъдат отнети, и списък с идентификатори за оторизация, всички идентификатори притежават поне едно от изброените права.

sqlcode: -556

sqlstate: 42504

SQL0557NЗададената комбинация от права не може да бъде предоставена или отнета.

Обяснение: Възникнала е една от следните ситуации:

Операторът не може да бъде обработен.

Отговор на потребителя: Коригирайте и изпълнете отново оператора.

sqlcode: -557

sqlstate: 42852

SQL0558NНе е приет опит за лишаване на "<идентификатор-за-оторизация>" от права на достъп, защото "<идентификатор-за-оторизация>" още има право за "<контрол>".

Обяснение: "<идентификатор-за-оторизация>" има право за "<контрол>". Отменянето на правото на достъп е неявно в правото за "<контрол>", така че то не може да бъде отменено, освен ако не се отмени също и правото за "<контрол>".

Валидните стойности за "<контрол>" са следните:

Изразът не може да бъде изпълнен. Няма отнети права.

Отговор на потребителя: Отменете правото за "<контрол>", ако искате.

sqlcode: -558

sqlstate: 42504

SQL0562NУказаните права за базата данни не може да бъдат предоставени на PUBLIC (public).

Обяснение: Операторът GRANT е направил опит да предостави права за базата данни на запазения идентификатор ID PUBLIC (public). Право DBADM не може да бъде предоставено на PUBLIC (public).

Операторът не може да бъде обработен.

Отговор на потребителя: Подразбиращата се функция не се поддържа.

sqlcode: -562

sqlstate: 42508

SQL0567N"<идентификатор-за-оторизация>" не е валиден идентификатор за оторизация.

Обяснение: Идентификаторът за оторизация, зададен от "<идентификатор-за-оторизация>" е невалиден поради една от следните причини:

Операторът не може да бъде обработен.

Отговор на потребителя: Коригирайте невалидния идентификатор за оторизация.

sqlcode: -567

sqlstate: 42602

SQL0569NОператорът GRANT/REVOKE не е изпълнен успешно, защото "<име-за-оторизация>" може би идентифицира и потребител, и група в системата.

Обяснение: Оператор GRANT или REVOKE е задал име за оторизация, което може да идентифицира и потребител, и група в защитното пространство за име, и не е задал явно ключовите думи USER или GROUP в този оператор. Следователно операторът е двусмислен. Имайте предвид, че когато използвате защита DCE, ключовата дума USER или GROUP винаги е необходима.

Отговор на потребителя: Променете оператора така, че той да задава явно ключовата дума USER или GROUP, за да идентифицира желания идентификатор за оторизация по уникален начин.

sqlcode: -569

sqlstate: 56092

SQL0570WНе са предоставени всички желани права за обект "<име-на-обект>" от типа "<тип-на-обект>".

Обяснение: Направен е опит за извършване на операция GRANT върху обекта "<име-на-обект>" от тип "<тип-на-обект>", но някои или всички от правата не са предоставени. Идентификаторът за оторизация, издал оператора, не притежава всички права, които може да бъдат дадени с опцията за предоставяне на права, или няма правото DBADM.

Предоставени са всички желани валидни права.

Отговор на потребителя: Получете желаните права и опитайте отново операцията.

sqlcode: +570

sqlstate: 01007

SQL0572NПакетът "<име-на-пакет>" е неоперативен.

Обяснение: Пакетът "<име-на-пакет>" е маркиран като неоперативен и трябва да бъде явно (експлицитно) повторно свързан, преди да може да бъде използван. Този пакет не може да бъде използван, защото една или повече на брой функции, дефинирани от потребителя, от които пакетът зависи, са били изпуснати.

Отговор на потребителя: Повторно свържете явно въпросния пакет, използвайки или команда REBIND, или BIND.

sqlcode: -572

sqlstate: 51028

SQL0573NСписъкът на колони, зададен в клаузата за препратки на ограничението "<име>", не идентифицира уникално ограничение на таблицата родител "<име-на-таблица>".

Обяснение: Списък с имена на колони е зададен в клаузата за препратки за ограничението, идентифицирано чрез "<име>", който не съответства на имената на колони от първичния ключ или който и да е уникален ключ на реферираната таблица "<име-на-таблица>".

"<име>" е името на ограничението, ако е зададено такова. Ако не е зададено име на ограничение, "<име>" е първото име на колона, посочено в списъка на колони от клаузата FOREIGN KEY, следвано от три точки.

Операторът не може да бъде обработен.

Отговор на потребителя: Коригирайте списъка на колони в клаузата за препратки или добавете ограничението за уникалност към реферираната таблица.

sqlcode: -573

sqlstate: 42890

SQL0574NDEFAULT стойност или стойност на атрибут IDENTITY не е валидна за колона "<име-на-колона>" в таблица "<име-на-таблица>". Код на причина: "<код-на-причина>".

Обяснение: DEFAULT стойността или стойността на атрибут IDENTITY за колона "<име-на-колона>" в таблица "<име-на-таблица>" не е валидна. Възможните кодове за причина са следните:

1
Стойността не може да бъде възложена на колоната, тъй като константата не се подчинява на формата за константа на този тип данни, има неподходяща дължина или точност или функцията връща неправилен тип данни.

2
Зададена е константа с плаваща запетая, а колоната не е с тип данни "плаваща запетая".

3
Зададена е десетична константа и цифрите, различни от нула, ще бъдат отрязани, когато се възложат на колоната.

4
Стойността е с повече от 254 байта, включително низовете-цитати, въвеждащите символи, като например X за шестнадесетична константа, напълно определените имена на функции и скобите. Незначещите интервали в стойността се пренебрегват. В нееднакво обкръжение на кодови страници стойността може да е с дължина повече от 254 байта, поради разширение на низа в кодовата страница на базата данни.

5
Зададен е специалният регистър USER и атрибутът за дължина на типа данни за символен низ е със стойност по-малка от 8.

6
Зададен е специален регистър за дата/час (CURRENT DATE, CURRENT TIME или CURRENT TIMESTAMP), който не съответства на типа данни на колоната.

7
Зададена е функция, която не се поддържа. Зададената функция трябва да е генерирана от системата функция за преобразуване или една от вградените функции BLOB, DATE, TIME или TIMESTAMP.

8
Аргументът за функция за дата/час не е константа тип символен низ или съответен специален регистър за час/дата.

9
Зададена е генерирана от системата функция за преобразуване, а колоната не е дефинирана с потребителски дефиниран отделен тип.

10
Стойност с ненулев порядък е зададена за опцията START WITH или INCREMENT BY на колона за идентичност.

<0
Всеки код на причина, който е по-малък от нула, е SQLCODE. Грешката в спецификацията за стойността DEFAULT може да се определи, като се провери съобщението за грешка, съответстващо на този SQLCODE.

Операторът не може да бъде обработен.

Отговор на потребителя: Коригирайте DEFAULT стойността или стойността на атрибут IDENTITY въз основа на върнатия код на причина.

sqlcode: -574

sqlstate: 42894

SQL0575NПроизводната или сумарната таблица "<име>" не може да се използва, защото е маркирана като неоперативна.

Обяснение: Производната или сумарна таблица "<име>" е била маркирана като неоперативна, защото таблица, производна таблица, псевдоним или право на достъп, от които тя зависи, е била премахната. Производната таблица не може да се използва от никой SQL оператор, освен от един от следните:

Операторът не може да бъде обработен.

Отговор на потребителя: Ако "<име>" е производна таблица, създайте я отново, като подадете командата CREATE VIEW, използвайки същата дефиниция като на неоперативната производна таблица. Ако "<име>" е сумарна таблица, създайте я отново, като подадете CREATE TABLE, използвайки същата дефиниция като на неоперативната сумарна таблица.

sqlcode: -575

sqlstate: 51024

SQL0576NНе може да се създаде псевдоним "<име>" за "<име>", тъй като това би довело до повторяема последователност от псевдоними.

Обяснение: Дефиницията за псевдоним на "<име>" на "<име>" би довела до повторяема последователност от псевдоними, която никога не би могла да бъде разрешена. Например "псевдоним А реферира към псевдоним Б, който от своя страна реферира към псевдоним А" е повторяема последователност от псевдоними, която никога не би могла да бъде разрешена.

Операторът не може да бъде обработен.

Отговор на потребителя: Променете дефиницията за псевдоним за "<име>" или поправете дефиницията на един от другите псевдоними в последователността от псевдоними, за да избегнете повторяемостта.

sqlcode: -576

sqlstate: 42916

SQL0577NПотребителски дефинирана функция или процедура "<име-на-функция>" (специфично име "<специфично-име>") е направила опит да модифицира данни, но не е дефинирана като MODIFIES SQL DATA.

Обяснение: Не е разрешено да се модифицират SQL данни в програмата, с която се реализира тялото на потребителски дефинираната функция или процедура.

Отговор на потребителя: Отстранете всички SQL оператори, които модифицират данни, и след това компилирайте програмата отново. За запомнени процедури - изследвайте разрешеното ниво на SQL, както е зададено в оператора CREATE PROCEDURE.

sqlcode: -577

sqlstate: 38002

sqlstate: 42985

SQL0579NПотребителски дефинирана функция или процедура "<име-на-функция>" (специфично име "<специфично-име>") е направила опит да чете данни, но не е дефинирана като READ SQL DATA или MODIFIES SQL DATA.

Обяснение: Не е разрешено да се четат SQL данни в програмата, с която се реализира тялото на потребителски дефинираната функция или процедура.

Отговор на потребителя: Отстранете всички SQL оператори, които четат данни, и след това компилирайте програмата отново. За запомнени процедури - изследвайте разрешеното ниво на SQL, както е зададено в оператора CREATE PROCEDURE.

sqlcode: -579

sqlstate: 38004

sqlstate: 42985

SQL0580NИзразите, предизвикани от прилагането на израза CASE, не могат всички да бъдат NULL.

Обяснение: В оператора има израз CASE, който съдържа всички резултатни изрази (онези изрази, които следват ключовите думи THEN and ELSE), кодирани с ключовата дума NULL.

Операторът не може да бъде обработен.

Отговор на потребителя: Променете израза CASE, така че той да съдържа поне един резултатен израз, различен от ключовата дума NULL.

sqlcode: -580

sqlstate: 42625

SQL0581NТиповете данни на резултатните изрази на израза CASE не са съвместими.

Обяснение: В оператора има израз CASE, който съдържа несъвместими резултатни изрази (онези изрази, които следват ключовите думи THEN и ELSE).

Типът данни за израза CASE се определя посредством "Правила за типа на резултатните данни" за резултатните изрази. Типовете данни за резултатните изрази може да са несъвместими поради една от следните причини:

Операторът не може да бъде обработен.

Отговор на потребителя: Коригирайте резултатните изрази, така че да са съвместими.

sqlcode: -581

sqlstate: 42804

SQL0582NИзраз CASE в клауза VALUES, предикат IN, клауза GROUP BY или клауза ORDER BY не може да включва количествен предикат, предикат IN, който използва фулселект, или предикат EXISTS.

Обяснение: Условие за търсене от израз CASE е:

а изразът CASE е част от:

Не се поддържат такива изрази CASE. CASE изразът може да бъде част от функция, написана на SQL.

Операторът не може да бъде обработен.

Отговор на потребителя: Премахнете количествения предикат, предиката IN или предиката EXISTS от израза CASE. Ако CASE изразът е част от функция, може да е необходимо заявката да бъде написана без функцията, която причинява грешката.

sqlcode: -582

sqlstate: 42625

SQL0583NИзползването на процедура "<име-на-процедура>" е невалидно, защото тя не е детерминистична или има външно действие.

Обяснение: Процедурата (функция или метод) "<име-на-процедура>" е дефинирана като недетерминистична процедура или процедура с външно действие. Този тип процедура не се поддържа в контекста, в който е използвана. Контекстите, в които тези функции не са валидни, са:

Операторът не може да бъде обработен.

Отговор на потребителя: Ако използването на недетерминистична процедура или процедура с външно действие е непреднамерено, заменете процедурата с тези характеристики. Ако ви е необходимо да използвате недетерминистична процедура или такава с външно действие, използвайте алтернативна форма на операторите, които правят това използване явно.

sqlcode: -583

sqlstate: 42845

SQL0584NНевалидна употреба на NULL или DEFAULT.

Обяснение: DEFAULT може да се използва само в клауза VALUES, която е част от оператор INSERT.

Клауза VALUES, която не е част от оператор INSERT, трябва да бъде със стойност, различна от NULL, поне за един ред от всяка колона.

Ако DEFAULT се използва като име на колона в клауза WHERE или HAVING, той трябва да бъде с главни букви и да е поместен между двойни кавички.

Потребители на обединени системи: DEFAULT не може да се използва в клауза VALUES на оператор INSERT, където обектът е прякор.

Отговор на потребителя: В клауза VALUES заместете със стойност, различна от NULL или DEFAULT. Ако DEFAULT се използва като име на колона, напишете го с главни букви и го поставете между двойни кавички.

sqlcode: -584

sqlstate: 42608

SQL0585NИмето на схема "<име-на-схема>" не може да се появи повече от веднъж в пътеката към функция.

Обяснение: Пътеката към функцията включва "<име-на-схема>" повече от веднъж. Пътеката към функцията не може да включва всяко име на схема повече от един път.

Операторът не може да бъде обработен.

Отговор на потребителя: Премахнете повторните появи на "<име-на-схема>" от пътеката към функция.

sqlcode: -585

sqlstate: 42732

SQL0586NОбщата дължина на специалния регистър CURRENT FUNCTION PATH не може да превиши 254 символа.

Обяснение: Специалният регистър CURRENT FUNCTION PATH е дефиниран като VARCHAR(254). Съдържанието на низа включва всяко име на схема, оградено от двойни кавички и отделено от следващото име със запетая. Общата дължина на низа на всичките имена на колони в CURRENT FUNCTION PATH не може да превишава 254 символа. Операторът SET CURRENT FUNCTION PATH или опцията FUNCPATH от команда PREP или BIND, довела до възникването на това съобщение, би превишила това ограничение.

Операторът или командата не може да бъде изпълнена.

Отговор на потребителя: Премахнете имена на схеми, за да намалите общия им брой по такъв начин, че той да бъде в рамките на максималната дължина от 254 символа. Ако са потребни всички имена на схеми, може да се наложи да се обединят някои потребителски дефинирани функции, така че по-малък брой имена на схеми да бъдат необходими за CURRENT FUNCTION PATH.

sqlcode: -586

sqlstate: 42907

SQL0590NИме "<име>", зададено в процедура "<процедура>", не е уникално.

Обяснение: Име "<име>" е посочено като параметър, SQL променлива, указател, етикет или условие в процедура "<процедура>". Името не е уникално.

Отговор на потребителя: Сменете името така, че да е уникално.

sqlcode: -590

sqlstate: 42734

SQL0595WНиво на изолация "<желано-ниво>" е разширено до "<разширено-ниво>".

Обяснение: Зададеното ниво на изолация не се поддържа от DB2. То е разширено до следващото по-високо ниво на изолация, което се поддържа от DB2.

Отговор на потребителя: За да избегнете това предупреждение, задайте ниво на изолация, което се поддържа от DB2. DB2 поддържа нива на изолация Repeatable Read (защита при повторно четене - RR), Read Stability (защита при четене - RS), Cursor Stability (защита на ниво ред - CS) and Uncommitted Read (защита при четене на незаписани промени - UR).

sqlcode: +595

sqlstate: 01526

SQL0598WСъществуващият индекс "<име>" се използва като индекс за първичния ключ или уникален ключ.

Обяснение: Необходим е индекс за операция ALTER TABLE, която дефинира първичен ключ или уникален ключ, и посоченият индекс съответства на желания индекс.

Когато се създава индекс за първичен ключ или за уникален ключ, описанието на индекса съответства, ако то идентифицира същия набор колони (в какъвто и да е ред) като първичния или уникалния ключ, независимо от спецификацията за възходящ или низходящ ред, и се задава като уникален.

Операторът е изпълнен успешно.

Отговор на потребителя: Не е необходимо действие.

sqlcode: +598

sqlstate: 01550

SQL0599WСравняващите функции не се създават за отделен тип, основан на тип данни за дълъг низ.

Обяснение: Сравняващите функции не се създават за отделен тип, основан на тип данни за дълъг низ (BLOB, CLOB, DBCLOB, LONG VARCHAR или LONG VARGRAPHIC), тъй като съответните функции не са налице за тези вградени типове данни.

Това е предупреждение. Операторът е изпълнен успешно.

Отговор на потребителя: Не е необходимо действие.

sqlcode: +599

sqlstate: 01596


[ Начало на страницата | Предишна страница | Следваща страница ]