SQL0707N | Nie można utworzyć obiektu "<nazwa>", ponieważ pierwsze trzy znaki tej nazwy są zarezerwowane dla obiektów systemowych. |
Objaśnienie: Oto lista zarezerwowanych nazw:
Działanie użytkownika: Wybierz nazwę, która nie zaczyna się zarezerwowanym przedrostkiem.
sqlcode: -707
sqlstate: 42939
SQL0713N | Wartość podstawiana do "<rejestr-specjalny>" jest niepoprawna. |
Objaśnienie: Wartość podana w instrukcji SET <rejestr-specjalny> nie jest poprawną wartością wskazanego rejestru specjalnego lub jako wynik zmiennej indykacyjnej podano wartość NULL.
Nie można uruchomić instrukcji.
Działanie użytkownika: Popraw podstawianą wartość i/lub zmienne indykacyjne. Należy zajrzeć do podręcznika SQL Reference w celu uzyskania wyjaśnień dotyczących poprawnych wartości dla każdego rejestru specjalnego.
sqlcode: -713
sqlstate: 42815
SQL0723N | W wyzwalanej instrukcji SQL w wyzwalaczu "<nazwa-wyzwalacza>" wystąpił błąd. Informacje o błędzie zawierają SQLCODE "<sqlcode>", SQLSTATE "<stan_sql>" i znaczniki komunikatów "<lista-znaczników>". |
Objaśnienie: Instrukcja SQL w wyzwalaczu "<nazwa-wyzwalacza>" zawiodła w trakcie pracy wyzwalacza. Wyświetlane są: sqlcode, sqlstate i lista znaczników komunikatów (znaczniki są oddzielone pionową kreską). Znaczniki komunikatów mogą zostać obcięte. Aby otrzymać dodatkowe wyjaśnienia, przejrzyj komunikat odpowiedni dla "<sqlcode>".
Wyzwalacz oraz pierwotna instrukcja SQL, która spowodowała działanie wyzwalacza, nie mogą być wykonywane.
Działanie użytkownika: Sprawdź komunikat związany z SQLCODE instrukcji SQL, która się nie powiodła. Wykonaj działania podane w komunikacie.
sqlcode: -723
sqlstate: 09000
SQL0724N | Wywołanie wyzwalacza "<nazwa-wyzwalacza>" mogło przekroczyć maksymalny poziom kaskadowania. |
Objaśnienie: Kaskadowanie wyzwalaczy występuje, gdy wyzwalana w wyzwalaczu instrukcja SQL może zakończyć się wywoływaniem innego wyzwalacza, lub gdy reguła usuwania ograniczenia referencyjnego powoduje wywołanie dodatkowych wyzwalaczy. Kaskadowanie może zawierać maksymalnie 16 poziomów.
Zauważ, że sytuacje rekurencyjne, gdzie wyzwalacz zawiera wyzwalaną instrukcję SQL, która pośrednio lub bezpośrednio powoduje wywoływanie tego samego wyzwalacza są formą kaskadowania, która mogła spowodować ten problem, jeśli nie ma warunku, który uniemożliwi przekroczenie limitu dla kaskadowania.
Podany wyzwalacz "<nazwa-wyzwalacza>" jest jednym z wyzwalaczy, który mógł zostać wywołany na siedemnastym poziomie kaskadowania.
Działanie użytkownika: Rozpocznij od wyzwalaczy wywoływanych przez instrukcję UPDATE, INSERT lub DELETE, które napotkały ten błąd. Jeśli jeden z tych wyzwalaczy powtarza się, zapewnij warunek uniemożliwiający wywołanie wyzwalacza więcej razy niż dopuszczalny limit. Jeśli problem wywołała inna sytuacja, prześledź łańcuch uruchomionych wyzwalaczy, aby określić łańcuch, który przekroczył limit kaskadowania.
sqlcode: -724
sqlstate: 54038
SQL0727N | Podczas wykonywania niejawnego działania typu "<typ-działania>" wystąpił błąd. Informacje o błędzie zawierają SQLCODE "<sqlcode>", SQLSTATE "<stan_sql>" i znaczniki komunikatów "<lista-znaczników>". |
Objaśnienie: Przetwarzanie instrukcji albo komendy zmusiło Menedżera baz danych do niejawnego wykonania dodatkowego przetwarzania. Podczas tego przetwarzania wystąpił błąd. Próbowano wykonać następujące działanie "<typ-działania>":
Wyświetlane są: sqlcode, sqlstate i lista znaczników komunikatów (znaczniki są oddzielone pionową kreską). Znaczniki komunikatów mogą zostać obcięte. Aby otrzymać dodatkowe wyjaśnienia, przejrzyj komunikat odpowiedni dla "<sqlcode>".
Oryginalna instrukcja języka SQL albo komenda, w której wyniku wykonano "<typ-działania>" nie mogła zostać przetworzona i niejawne działanie systemu zakończyło się niepowodzeniem.
Użytkownicy systemów stowarzyszeń: Komunikat ten mógł się pojawić dlatego, że instrukcja SQL została przygotowana dynamicznie w sesji tranzytowej, a następnie próbowano wykonać tę instrukcję po zamknięciu sesji.
Działanie użytkownika: Sprawdź komunikat związany z SQLCODE instrukcji SQL, która się nie powiodła. Wykonaj działania podane w komunikacie.
Dla niepoprawnego pakietu można użyć instrukcji REBIND, aby odtworzyć błąd albo jawnie sprawdzić poprawność pakietu po odnalezieniu przyczyny błędu.
Dla błędu, który wystąpił podczas ponownego generowania widoku, w pliku db2diag.log jest rejestrowana nazwa widoku. Można usunąć błędny widok lub zmienić instrukcję albo komendę, która spowodowała ponowne generowanie widoku.
Użytkownicy systemów stowarzyszeń: Jeśli instrukcja, która się nie powiodła, była przygotowana dynamicznie w czasie sesji tranzytowej, otwórz inną sesję tranzytową, ponownie napisz i przygotuj instrukcję, a następnie wykonaj ją, dopóki sesja jest otwarta.
sqlcode: -727
sqlstate: 56098
SQL0750N | Nie można zmienić nazwy tabeli źródłowej, ponieważ są do niej odniesienia w widoku, tabeli podsumowania, wyzwalaczu, funkcji SQL, metodzie SQL, ograniczeniu sprawdzającym lub ograniczeniu referencyjnym. |
Objaśnienie: Nie można zmienić nazwy tabeli źródłowej przy pomocy instrukcji RENAME z jednej z następujących przyczyn:
Nie można wykonać instrukcji.
Działanie użytkownika: Przed wydaniem instrukcji RENAME usuń widoki, wyzwalacze, tabele podsumowań, funkcje SQL, metody SQL, ograniczenia sprawdzające lub ograniczenia referencyjne. Dla widoków albo tabel skrótów zależnych od tabeli usuń zapytanie SYSCAT.VIEWDEP, jeśli tabela jest zgodna z kolumnami BSCHEMA i BNAME. Dla wyzwalaczy zależnych od tabeli usuń zapytanie SYSCAT.TRIGDEP, jeśli tabela jest zgodna z kolumnami BSCHEMA i BNAME. Dla funkcji SQL lub metod SQL zapytanie SYSCAT.FUNCDEP, dla którego tabela jest zgodna z kolumnami BSCHEMA i BNAME. Dla ograniczeń sprawdzania w tabeli usuń zapytanie SYSCAT.CHECKS, jeśli tabela jest zgodna z kolumnami TABSCHEMA i TABBNAME. Dla ograniczeń referencyjnych zależnych od tabeli usuń zapytanie SYSCAT.REFERENCES, jeśli tabela jest zgodna z kolumnami TABSCHEMA i TABNAME lub kolumnami REFTABSCHEMA i REFTABNAME.
sqlcode: -750
sqlstate: 42986
SQL0751N | Funkcja lub procedura zdefiniowana przez użytkownika "<nazwa-funkcji>" (o nazwie "<nazwa-specyficzna>") próbowała wykonać niedozwoloną instrukcję. |
Objaśnienie: Program przeznaczony do używania funkcji lub procedury zdefiniowanej przez użytkownika nie może wywoływać instrukcji.
Działanie użytkownika: Usuń instrukcję, a następnie ponownie skompiluj program.
sqlcode: -751
sqlstate: 38003
sqlstate: 42985
SQL0752N | Nie można łączyć się z bazą danych w ramach logicznej jednostki pracy podczas ustanawiania połączenia CONNECT typu 1. |
Objaśnienie: Przed wywołaniem instrukcji COMMIT lub ROLLBACK próbowano połączyć się z tą samą lub z inną bazą danych. Żądania nie można zrealizować w ramach połączenia CONNECT typu 1.
Działanie użytkownika:
sqlcode: -752
sqlstate: 0A001
SQL0773N | W instrukcji CASE nie znaleziono wartości CASE. |
Objaśnienie: W treści procedury SQL znaleziono instrukcję CASE bez klauzuli ELSE. Nie został spełniony żaden z warunków, określonych w instrukcji CASE.
Działanie użytkownika: Zmień instrukcję CASE, tak aby obsługiwała wszystkie warunki, które mogą wystąpić.
sqlcode: -773
sqlstate: 20000
SQL0776N | Użycie kursora "<nazwa-kursora>" jest niepoprawne. |
Objaśnienie: Kursor "<nazwa-kursora>" jest określony jako nazwa kursora w instrukcji FOR w procedurze SQL. Kursor nie może zostać określony w instrukcjach CLOSE, FETCH lub OPEN, znajdujących się wewnątrz instrukcji FOR.
Działanie użytkownika: Usuń instrukcję CLOSE, FETCH lub OPEN.
sqlcode: -776
sqlstate: 428D4
SQL0777N | Zagnieżdżone instrukcje złożone są niedozwolone. |
Objaśnienie: W treści procedury SQL nie można zagnieżdżać niepodzielnych instrukcji składowych.
Działanie użytkownika: Upewnij się, że procedura SQL nie zawiera zagnieżdżonych, niepodzielnych instrukcji składowych.
sqlcode: -777
sqlstate: 42919
SQL0778N | Etykieta końcowa "<etykieta>" różni się od etykiety początkowej. |
Objaśnienie: Etykieta "<etykieta>" określona na końcu instrukcji FOR, IF, LOOP, REPEAT, WHILE lub instrukcji składowej w procedurze SQL jest inna niż etykieta na początku tej instrukcji. Nie można określić etykiety końcowej, jeśli nie została określona etykieta początkowa.
Działanie użytkownika: Upewnij się, że dla instrukcji FOR, IF, LOOP, REPEAT, WHILE i instrukcji składowych, etykietka końcowa była taka sama jak etykietka początkowa.
sqlcode: -778
sqlstate: 428D5
SQL0779N | Etykieta "<etykieta>" określona w instrukcji GOTO, ITERATE, lub LEAVE jest niepoprawna. |
Objaśnienie: Etykietka "<etykietka>" jest określona w instrukcji GOTO, ITERATE lub LEAVE w procedurze SQL. Etykieta nie jest zdefiniowana lub nie jest poprawna dla instrukcji.
Etykieta dla instrukcji ITERATE musi być etykietą instrukcji FOR, LOOP, REPEAT lub WHILE.
Etykieta dla instrukcji LEAVE musi być etykietą instrukcji FOR, LOOP, REPEAT, WHILE lub instrukcji złożonej.
Etykieta dla instrukcji GOTO musi być zdefiniowana z zasięgiem dostępnym dla tej instrukcji.
Działanie użytkownika: Określ poprawną etykietą dla instrukcji GOTO, ITERATE lub LEAVE.
sqlcode: -779
sqlstate: 42736
SQL0780N | UNDO jest określone dla procedury obsługi, jeśli dla instrukcji składowej nie zostało określone ATOMIC. |
Objaśnienie: UNDO jest określone dla procedury obsługi w instrukcji składowej w procedurze SQL. Nie można określić UNDO, dopóki instrukcja składowa jest ATOMIC.
Działanie użytkownika: Określ instrukcję składową jako ATOMIC albo w procedurze obsługi określ EXIT lub CONTINUE.
sqlcode: -780
sqlstate: 428D6
SQL0781N | Nie został zdefiniowany warunek "<warunek>" określony w procedurze obsługi. |
Objaśnienie: Nie został zdefiniowany warunek "<warunek>" określony w procedurze obsługi w procedurze SQL.
Działanie użytkownika: Zdefiniuj warunek za pomocą instrukcji DECLARE CONDITION lub usuń warunek z procedury obsługi.
sqlcode: -781
sqlstate: 42737
SQL0782N | Warunek lub wartość SQLSTATE, określone w procedurze obsługi, są niepoprawne. |
Objaśnienie: Warunek lub wartość SQLSTATE, określone w procedurze obsługi w procedurze SQL, są niepoprawne z jednej z następujących przyczyn:
Działanie użytkownika: Usuń warunek lub wartość SQLSTATE z procedury obsługi.
sqlcode: -782
sqlstate: 428D7
SQL0783N | W instrukcji DECLARE CURSOR z instrukcji FOR została określona zduplikowana nazwa kolumny lub kolumna bez nazwy. |
Objaśnienie: Lista wyboru znajdująca się w instrukcji FOR musi zawierać unikalne nazwy kolumn. Określona lista wyboru zawiera albo zduplikowane nazwy kolumn, albo wyrażenia bez nazwy.
Działanie użytkownika: Na liście wyboru z instrukcji FOR określ unikalne nazwy kolumn.
sqlcode: -783
sqlstate: 42738
SQL0785N | Deklaracja lub użycie zmiennej SQLSTATE lub SQLCODE jest niepoprawne. |
Objaśnienie: W treści procedury SQL użyto SQLSTATE lub SQLCODE jako zmiennej, lecz jest to niepoprawne z jednego z następujących powodów:
Nie można wykonać instrukcji.
Działanie użytkownika: Zadeklaruj zmienną SQLSTATE jako CHAR(5), a zmienną SQLCODE jako INTEGER. Nadaj zmiennej poprawną wartość.
sqlcode: -785
sqlstate: 428D8
SQL0787N | Instrukcja RESIGNAL znajduje się na zewnątrz procedury obsługi. |
Objaśnienie: Instrukcja RESIGNAL może być użyta tylko wewnątrz procedur obsługi warunków.
Działanie użytkownika: Usuń instrukcję RESIGNAL lub użyj zamiast niej instrukcji SIGNAL.
sqlcode: -787
sqlstate: 0K000
SQL0789N | Typ danych dla parametru lub zmiennej "<nazwa>" nie jest obsługiwany w procedurze SQL. |
Objaśnienie: Procedura SQL (funkcja, metoda lub procedura) nie obsługują zmiennych lub parametrów o typie danych DATALINK, REFERENCE, DISTINCT, STRUCTURED lub LOB.
Działanie użytkownika: W definicji procedury SQL nie używaj zmiennych SQL lub parametrów o typie danych DATALINK, REFERENCE, DISTINCT, STRUCTURED lub LOB. Dla parametru lub zmiennej "<nazwa>" określ inny typ danych.
sqlcode: -789
sqlstate: 429BB
SQL0797N | Wyzwalacz "<nazwa-wyzwalacza>" został zdefiniowany przy pomocy nieobsługiwanej wyzwalanej instrukcji SQL. |
Objaśnienie: Wyzwalacz został zdefiniowany przy pomocy wyzwalanej instrukcji SQL, która nie była zgodna z następującą listą.
W niektórych przypadkach nie można użyć w komunikacie nazwy "<nazwa-wyzwalacza>".
Działanie użytkownika: Sprawdź, które instrukcje SQL wyzwalane w wyzwalaczu nie są zgodne z powyższą listą i usuń je.
sqlcode: -797
sqlstate: 42987
SQL0798N | Dla kolumny "<nazwa-kolumny>", która została zdefiniowana jako GENERATED ALWAYS, nie można określić wartości. |
Objaśnienie: Podczas wstawiania lub aktualizacji wiersza w tabeli została określona wartość dla kolumny GENERATED ALWAYS "<nazwa-kolumny>". Kolumny GENERATED ALWAYS nie powinny być określone na liście kolumn dla klauzuli INSERT lub SET do aktualizacji, dopóki określony jest parametr DEFAULT.
Instrukcja INSERT lub UPDATE nie jest wykonywana.
Działanie użytkownika: Z listy kolumn usuń kolumnę GENERATED ALWAYS lub klauzulę SET, lub określ DEFAULT jako wartość kolumny.
sqlcode: -798
sqlstate: 428C9