SQL3600N | Opcja IMMEDIATE CHECKED instrukcji SET INTEGRITY jest niepoprawna, ponieważ tabela "<nazwa-tabeli>" nie jest w stanie sprawdzania w toku. |
Objaśnienie: Naruszenie ograniczeń dla danych jest sprawdzane tylko wtedy, gdy tabela jest ustawiona w stan sprawdzania w toku.
Działanie użytkownika: Użyj instrukcji SET INTEGRITY z opcją OFF, aby ustawić tabelę w stan sprawdzania w toku.
sqlcode: -3600
sqlstate: 51027
SQL3601W | Instrukcja spowodowała, że jedna lub kilka tabel znalazło się automatycznie w stanie sprawdzania w toku. |
Objaśnienie: Istnieją dwie sytuacje, w których mogło to nastąpić.
Działanie użytkownika: To jest komunikat ostrzegawczy. Użytkownik musi wykonać instrukcję SET INTEGRITY z opcją IMMEDIATE CHECKED w celu sprawdzenia integralności we wszystkich tabelach zależnych i podrzędnych.
sqlcode: +3601
sqlstate: 01586
SQL3602W | Podczas sprawdzania danych program wykrył naruszenia ograniczeń i przeniósł je do tabel wyjątków. |
Objaśnienie: Znaleziono wiersze, który naruszają ograniczenia, zdefiniowane dla tabeli, której sprawdzanie zostało określone w instrukcji SET INTEGRITY. Takie wiersze zostały przesunięte do tabeli wyjątków.
Działanie użytkownika: W tabeli wyjątków sprawdź wiersze, które naruszają ograniczenia. Wiersze zostały usunięte z oryginalnej tabeli, ale mogą zostać poprawione i przeniesione z powrotem z tabeli wyjątków.
sqlcode: +3602
sqlstate: 01603
SQL3603N | Podczas sprawdzania przetwarzania danych instrukcją SET INTEGRITY, znaleziono naruszenie integralności, związane z ograniczeniem o nazwie "<nazwa>". |
Objaśnienie: Znaleziono wiersz, który narusza ograniczenie, zdefiniowane dla tabeli, której sprawdzanie zostało określone w instrukcji SET INTEGRITY. Nazwa "<nazwa>" jest albo nazwą ograniczenia, albo nazwą generowanej kolumny.
Działanie użytkownika: Wierszy tych nie usunięto z tabeli, ponieważ użyto opcji FOR EXCEPTION.
Podczas sprawdzania danych zalecane jest przetwarzanie instrukcji SET INTEGRITY z opcją FOR EXCEPTION. Dane mogą być poprawione na podstawie informacji z tabeli (tabel) wyjątków.
sqlcode: -3603
sqlstate: 23514
SQL3604N | Tabela wyjątków "<nazwa-tabeli-wyj>" odpowiadająca tabeli "<nazwa-tabeli>" w instrukcji SET INTEGRITY lub w programie narzędziowym LOAD nie ma odpowiedniej struktury, została zdefiniowana z indeksami unikalnymi, ograniczeniami, kolumnami generowanymi, wyzwalaczami lub jest sama w stanie sprawdzania w toku. |
Objaśnienie: Tabela wyjątków odpowiadająca danej tabeli musi mieć podobną do niej definicję. Opcjonalne kolumny dla programów narzędziowych opisano w odpowiednich sekcjach dokumentacji tabel wyjątków. W tabeli wyjątków może nie być żadnych generowanych kolumn. Tabela wyjątków nie może mieć zdefiniowanych żadnych ograniczeń ani wyzwalaczy. Tabela wyjątków nie powinna być także w stanie sprawdzania w toku.
Działanie użytkownika: Utwórz tabelę wyjątków w sposób opisany w odpowiednich paragrafach dokumentacji, a następnie ponownie uruchom instrukcję lub program narzędziowy.
sqlcode: -3604
sqlstate: 428A5
SQL3605N | Tabeli "<nazwa-tabeli>", której nazwa znajduje się w instrukcji SET INTEGRITY, nie ma na liście do sprawdzenia lub jest to tabela wyjątków, określona więcej niż raz. |
Objaśnienie: Jeśli w instrukcji SET INTEGRITY zostanie określona klauzula FOR EXCEPTION, to błąd ten może być spowodowany następującymi czynnikami:
Działanie użytkownika: Popraw nazwy tabel i wprowadź ponownie komendę.
sqlcode: -3605
sqlstate: 428A6
SQL3606N | Występuje niezgodność liczby sprawdzanych tabel z liczbą tabel wyjątków, określoną w instrukcji SET INTEGRITY. |
Objaśnienie: Pomiędzy umieszczonymi na liście oryginalnymi tabelami i tabelami wyjątków musi być odpowiedniość typu jeden-do-jeden.
Działanie użytkownika: Utwórz brakującą tabelę wyjątków, jeśli tego nie zrobiono, umieść ją na liście i wprowadź ponownie komendę.
sqlcode: -3606
sqlstate: 428A7
SQL3608N | Za pomocą instrukcji SET INTEGRITY nie można sprawdzić ani zresetować stanu Sprawdzanie w toku dla tabeli zależnej "<nazwa-tabeli-zal>", jeśli tabela nadrzędna "<nazwa-tabeli-nadrz>" jest w stanie sprawdzania w toku. |
Objaśnienie: Tabela nadrzędna musi być czysta (nie w stanie sprawdzania w toku) lub być ujęta na liście wywołania w celu:
Działanie użytkownika: Upewnij się, że tabela nadrzędna nie jest w stanie sprawdzania w toku, wykonując instrukcję SET INTEGRITY, by sprawdzić tabelę nadrzędną.
Zaleca się sprawdzanie najpierw tabeli nadrzędnej. Możliwe jest także sprawdzenie tabeli zależnej i umieszczenie tabeli nadrzędnej na liście wywołań. W takim przypadku, komenda może nadal się nie powieść, jeśli w tabeli nadrzędnej występują naruszenia ograniczeń i nie zostały one usunięte. Może się tak zdarzyć, jeśli nie została użyta opcja FOR EXCEPTION.
W przypadku cyklu referencyjnego wszystkie tabele muszą być umieszczone na liście wywołań.
sqlcode: -3608
sqlstate: 428A8