SQL0100W | Nie znaleziono wiersza dla FETCH, UPDATE lub DELETE albo rezultatem zapytania jest pusta tabela. |
Objaśnienie: Wystąpiła jedna z następujących sytuacji:
Żadne dane nie zostały odczytane, zaktualizowane ani usunięte.
Działanie użytkownika: Nie jest wymagane żadne działanie. Procedura jest kontynuowana.
sqlcode: +100
sqlstate: 02000
SQL0101N | Instrukcja jest zbyt długa lub zbyt złożona. |
Objaśnienie: Instrukcja nie mogła zostać przetworzona, ponieważ przekracza systemowy limit długości lub złożoności albo zawiera zbyt wiele ograniczeń lub wyzwalaczy.
Jeśli jest to instrukcja tworząca lub modyfikująca spakowany opis, nowy spakowany opis może być zbyt duży dla odpowiadającej mu kolumny w katalogach systemowych.
Użytkownicy systemów stowarzyszeń powinni również sprawdzić, czy instrukcja:
Nie można wykonać instrukcji.
Uwaga: | Tam, gdzie dla aplikacji i baz danych uruchamianych z różnymi stronami kodowymi wykonywane są konwersje danych tekstowych, rezultat konwersji przekracza limit długości. |
Działanie użytkownika: Wykonaj jedną z następujących czynności:
sqlcode: -101
sqlstate: 54001
SQL0102N | Stała łańcuchowa rozpoczynająca się od "<łańcuch>" jest zbyt długa. |
Objaśnienie: Wystąpiła jedna z następujących sytuacji:
Być może występuje konwersja danych i łańcuch wynikowy jest zbyt długi. Aby umożliwić połączenie między aplikacjami i bazami danych używającymi różnych stron kodowych, stałe znakowe są przekształcane ze strony kodowej aplikacji do strony kodowej bazy danych. W pewnych sytuacjach graficzne stałe łańcuchowe mogą być dalej poddawane konwersji ze strony kodowej bazy danych do strony kodowej UCS-2 (UNICODE), na przykład gdy baza danych została utworzona za pomocą strony kodowej kodowej EUC. Oznacza to, że łańcuch wynikowy może być dłuższy niż łańcuch wejściowy.
Nie można wykonać instrukcji.
Działanie użytkownika: Zmniejsz wielkość komentarza dla tabeli lub dla kolumny. Dla instrukcji SQL CONNECT zmniejsz długość nazwy serwera aplikacji. Dla innych stałych łańcuchowych żądana funkcja jest nie dostępna w trybie interaktywnym. Jeśli błąd pojawi się w kontekście instrukcji SQL wbudowanej w aplikację, innej niż CONNECT, przypisz długi łańcuch do zmiennej języka bazowego i zastąp tą zmienną literał znakowy w instrukcji SQL.
Użytkownicy systemów stowarzyszeń: Dla sesji tranzytowej określ, które źródło danych spowodowało wystąpienie błędu (informacje na ten temat zawiera podręcznik Problem Determination Guide). Sprawdź, jakie ograniczenia dialektu SQL właściwego dla źródła danych zostały przekroczone i odpowiednio popraw instrukcję.
sqlcode: -102
sqlstate: 54002
SQL0103N | Niepoprawny literał numeryczny "<literał>". |
Objaśnienie: Dany "<literał>" rozpoczyna się od cyfry, ale jest niepoprawnym literałem całkowitym, dziesiętnym ani zmiennopozycyjnym.
Użytkownicy systemów stowarzyszeń: W sesji tranzytu wystąpił błąd w reprezentacji literału charakterystyczny dla źródła danych.
Nie można wykonać instrukcji.
Działanie użytkownika: Popraw niepoprawny literał numeryczny.Użytkownicy systemów stowarzyszeń: Jeśli błąd wystąpił w sesji tranzytu, należy określić, które źródło danych go spowodowało (informacje na ten temat zawiera podręcznik Problem Determination Guide). Sprawdź, które reguły reprezentacji literałów w dialekcie SQL właściwym dla źródła danych zostały naruszone i odpowiednio popraw instrukcję.
sqlcode: -103
sqlstate: 42604
SQL0104N | Znaleziono nieoczekiwany element "<element>" występujący po tekście "<tekst>". Dopuszczalne elementy to: "<lista-elementów>". |
Objaśnienie: W instrukcji SQL wykryto błąd składniowy przy podanym elemencie następującym po tekście "<tekst>". Pole "<tekst>" zawiera 20 znaków instrukcji SQL poprzedzających niepoprawny element.
Aby pomóc programiście, w polu SQLERRM obszaru komunikacyjnego SQL jako "<lista-elementów>" podano listę niektórych poprawnych elementów. Założono, że do tego miejsca instrukcja jest poprawna.
Nie można wykonać instrukcji.
Działanie użytkownika: Sprawdź i popraw instrukcję w obszarze podanego elementu.
sqlcode: -104
sqlstate: 42601
SQL0105N | Stała łańcuchowa rozpoczynająca się od "<łańcuch>" jest niepoprawna. |
Objaśnienie: Instrukcja zawiera stałą łańcuchową rozpoczynającą się od łańcucha "<łańcuch>", który jest niepoprawny.
Nie można wykonać instrukcji.
Działanie użytkownika: Podaj poprawny format stałej łańcuchowej. Sprawdź, czy łańcuch graficzny jest poprawny, czy ograniczniki występują parami i czy łańcuch składa się z parzystej liczby bajtów.
Użytkownicy systemów stowarzyszeń: Informacje pomocne przy określaniu, które źródło danych jest przyczyną błędu, zawiera podręcznik Problem Determination Guide.
sqlcode: -105
sqlstate: 42604
SQL0106N | Instrukcja SQL rozpoczęta poprawnie, lecz niepełna. |
Objaśnienie: Instrukcja SQL jest poprawna, ale nie została zakończona. Może to wynikać z niewłaściwego zakończenia literału. Literały łańcuchowe muszą kończyć się znakiem cudzysłowu.
Przetwarzanie instrukcji SQL zostało zakończone.
Działanie użytkownika: Sprawdź, czy instrukcja zawiera wszystkie części konieczne do wykonania danej funkcji i czy wszystkie klauzule są kompletne.
PL/I: Sprawdź, czy instrukcja SQL jest kompletna i kończy się średnikiem. Assembler: Sprawdź, czy zachowane są reguły przeniesienia. (W kolumnie 72 musi się znajdować niepusty znak, a kolejne wiersze muszą zaczynać się w kolumnie 16 lub dalszych.)
COBOL: Sprawdź, czy instrukcja SQL jest kompletna i kończy się słowem END-EXEC.
sqlcode: -106
sqlstate: 42601, 42603
SQL0107N | Nazwa "<nazwa>" jest za długa. Maksymalna długość wynosi "<długość>". |
Objaśnienie: Nazwa zwrócona jako "<nazwa>" jest za długa. Maksymalna długość dozwolona dla nazw tego typu jest równa "<długość>".
Nazwy indeksów i ograniczeń mogą mieć maksymalną długość 18 bajtów. Nazwy kolumn mogą mieć maksymalną długość 30 bajtów. Nazwy punktów zapisywania, tabel, widoków i aliasów mogą mieć maksymalną długość. (Nie licząc znaków ESC, jeśli występują.)
Maksymalna długość 30 bajtów dozwolona jest dla nazwy schematu (kwalifikatora obiektu), z wyjątkiem typu zdefiniowanego przez użytkownika, który pozwala na maksymalną długość 8 bajtów dla nazwy schematu.
Nazwy zmiennych języka bazowego nie mogą przekraczać 30 bajtów.
Dla instrukcji SQL CONNECT podczas prekompilacji zostanie zaakceptowana nazwa serwera aplikacji o długości do 18 bajtów. Jednak podczas pracy nazwa serwera aplikacji dłuższa niż 8 znaków spowoduje błąd.
Ponadto instrukcja języka SQL CONNECT dopuszcza stosowanie hasła o długości do 18 znaków oraz ID autoryzowanego użytkownika o długości do 8 znaków.
Użytkownicy systemów stowarzyszeń: W sesji tranzytowej mogło zostać przekroczone ograniczenie właściwe dla źródła danych.
Nie można wykonać instrukcji.
Uwaga: | Tam, gdzie dla aplikacji i baz danych uruchamianych z różnymi stronami kodowymi wykonywane są konwersje danych tekstowych, rezultat konwersji przekracza limit długości. |
Działanie użytkownika: Wybierz krótszą nazwę lub popraw pisownię nazwy obiektu.
Użytkownicy systemów stowarzyszeń: Dla sesji tranzytowej określ, które źródło danych spowodowało wystąpienie błędu (informacje na ten temat zawiera podręcznik Problem Determination Guide). Sprawdź, jakie ograniczenia dialektu SQL właściwego dla źródła danych zostały przekroczone i odpowiednio popraw instrukcję.
sqlcode: -107
sqlstate: 42622
SQL0108N | Nazwa "<nazwa>" ma złą liczbę kwalifikatorów. |
Objaśnienie: Nazwa "<nazwa>" jest niepoprawnie kwalifikowana.
Obiekt o podanej nazwie "<nazwa>" może mieć tylko jeden kwalifikator.
Nazwa kolumny jest kwalifikowana nazwą tabeli, która jest kwalifikowana bądź niekwalifikowana, albo nazwą korelacji. W niektórych kontekstach nazwa kolumny wymaga kwalifikatora nazwy tabeli.
Nie można wykonać instrukcji.
Działanie użytkownika: Sprawdź, czy nazwa obiektu jest poprawnie kwalifikowana.
sqlcode: -108
sqlstate: 42601
SQL0109N | Klauzula "<klauzula>" jest niedozwolona. |
Objaśnienie: Wskazana klauzula jest niedozwolona w kontekście, w którym pojawia się w instrukcji SQL.
W podzapytaniu, instrukcji INSERT lub CREATE VIEW nie można użyć klauzuli INTO, ORDER BY ani FOR UPDATE. Wbudowana instrukcja SELECT nie może zawierać klauzuli ORDER BY ani FOR UPDATE. Wbudowana instrukcja SELECT nie może zawierać operatora mnogościowego, chyba że w podzapytaniu. Instrukcje SELECT lub VALUES użyte w deklaracjach kursora nie mogą zawierać klauzuli INTO. Funkcja RAISE_ERROR może zostać użyta jako element listy selekcji tylko wówczas, jeśli jest ona rzutowana na pewien typ danych za pomocą specyfikacji CAST.
Użytkownicy systemów stowarzyszeń: W sesji tranzytowej (pass-through) mogły zostać naruszone ograniczenia związane ze źródłem danych.
Nie można wykonać instrukcji.
Działanie użytkownika: Popraw instrukcję SQL usuwając niedozwoloną klauzulę.
Użytkownicy systemów stowarzyszeń: Dla sesji tranzytowej określ, które źródło danych spowodowało wystąpienie błędu (informacje na ten temat zawiera podręcznik Problem Determination Guide). Sprawdź, które ograniczenie w dialektu SQL właściwego dla danego źródła danych zostało naruszone i popraw niewłaściwą instrukcję.
sqlcode: -109
sqlstate: 42601
SQL0110N | Stała szesnastkowa "<łańcuch>" jest niepoprawna. |
Objaśnienie: Stała szesnastkowa "<łańcuch>" jest niepoprawna. Wystąpił jeden z następujących problemów:
Działanie użytkownika: Popraw stałą i wprowadź ponownie instrukcję.
sqlcode: -110
sqlstate: 42606
SQL0111N | Funkcja kolumnowa "<nazwa>" nie zawiera nazwy kolumny. |
Objaśnienie: Specyfikacja funkcji kolumnowej "<nazwa>" (AVG, MIN, MAX, SUM lub COUNT(DISTINCT)) nie została podana poprawnie, ponieważ jednym z operandów tych funkcji musi być nazwa kolumny.
Nie można wykonać instrukcji.
Działanie użytkownika: Podaj nazwę kolumny w wyrażeniu będącym operandem funkcji kolumnowej.
UWAGA: Ten błąd odnosi się tylko do wydań DB2 wcześniejszych niż DB2 wersja 2.
sqlcode: -111
sqlstate: 42901
SQL0112N | Operand funkcji kolumnowej "<nazwa>" zawiera funkcję kolumnową, selekcję skalarną albo podzapytanie. |
Objaśnienie: Operand funkcji kolumnowej nie może zawierać:
Na liście SELECT operand operatora arytmetycznego nie może być funkcją kolumnową, która zawiera parametr DISTINCT.
Nie można wykonać instrukcji.
Działanie użytkownika: Popraw użycie funkcji kolumnowej, tak aby usunąć niepoprawne wyrażenie i powtórz operację.
sqlcode: -112
sqlstate: 42607
SQL0113N | Identyfikator "<identyfikator>" zawiera niedozwolony znak lub nie zawiera żadnych znaków. |
Objaśnienie: Nazwa zmiennej SQL, nazwa parametru lub nazwa warunku "<identyfikator>" zawiera niepoprawny znak. Dozwolone są tylko znaki, które są poprawne dla zwykłego identyfikatora SQL. Należy zauważyć, że zawijanie nie jest przeprowadzane i rozróżniana jest wielkość liter, ponieważ identyfikator jest ograniczony.
Działanie użytkownika: Popraw identyfikator i wprowadź ponownie instrukcję.
sqlcode: -113
sqlstate: 42601
SQL0117N | Liczba przypisanych wartości nie jest równa liczbie podanych lub domniemanych kolumn. |
Objaśnienie:
Nie można wykonać instrukcji.
Działanie użytkownika: Popraw instrukcję, tak aby podawać jedną wartość dla każdej podanej lub przyjętej kolumny.
sqlcode: -117
sqlstate: 42802
SQL0118N | Docelowa tabela lub widok instrukcji INSERT, DELETE lub UPDATE została podana również w klauzuli FROM. |
Objaśnienie: Tabela lub widok podane jako docelowe dla instrukcji INSERT, DELETE lub UPDATE występują również w klauzuli FROM podzapytania znajdującego się wewnątrz instrukcji.
Nie można jednocześnie używać tabeli lub widoku docelowego instrukcji INSERT, UPDATE lub DELETE do podawania wartości do wstawienia, lub do określania wierszy, które mają zostać wstawione, zaktualizowane lub usunięte.
Nie można wykonać instrukcji.
Ten komunikat dotyczy tylko serwerów w wersji 1.2 i wcześniejszych oraz hostów, z którymi połączenie jest nawiązywane za pomocą DB2 Connect.
Działanie użytkownika: Niejawna funkcja nie jest obsługiwana. Aby spróbować uzyskać żądany wynik, utwórz tymczasową kopię obiektu tabeli lub widoku i odnieś podselekcję do tej kopii.
sqlcode: -118
sqlstate: 42902
SQL0119N | Wyrażenie rozpoczynające się od "<początek-wyrażenia>", podane w klauzulach SELECT, HAVING lub ORDER BY nie zostało podane w klauzuli GROUP BY lub występuje w klauzulach SELECT, HAVING lub ORDER BY razem z funkcją kolumnową i nie została podana klauzula GROUP BY. |
Objaśnienie: W instrukcji SELECT występuje jeden z następujących błędów:
Podane wyrażenie zaczyna się od "<początek-wyrażenia>". Wyrażenie może być pojedynczą nazwą kolumny.
Jeśli w klauzuli HAVING zostały podane funkcje NODENUMBER lub PARTITION, wtedy przyjmuje się, że klauzula ta odnosi się do wszystkich kolumn klucza partycjonowania tabeli.
Nie można wykonać instrukcji.
Działanie użytkownika: Popraw instrukcję przez umieszczenie wyrażenia w klauzuli GROUP BY znajdującej się w klauzulach SELECT, HAVING lub ORDER BY lub przez usunięcie funkcji kolumnowej z wyrażenia SELECT.
sqlcode: -119
sqlstate: 42803
SQL0120N | Klauzula WHERE, GROUP BY, SET lub zmienna przejściowa instrukcji SET zawierają funkcję kolumnową. |
Objaśnienie: Klauzula WHERE może zawierać funkcję kolumnową tylko wtedy, gdy klauzula ta pojawia się wewnątrz podzapytania klauzuli HAVING i argumentem funkcji kolumnowej jest referencja skorelowana z grupą. Klauzula GROUP BY może zawierać funkcję kolumnową tylko wtedy, gdy argument funkcji kolumnowej jest referencją skorelowaną z kolumną znajdującą się w innej podselekcji niż ta, którą zawiera klauzula GROUP BY. Klauzula SET instrukcji UPDATE lub zmienna przejściowa instrukcji SET mogą zawierać funkcję kolumnową tylko wewnątrz pełnej selekcji znajdującej się po prawej stronie przypisania.
Nie można wykonać instrukcji.
Działanie użytkownika: Zmień instrukcję, tak aby funkcja kolumnowa nie była używana lub była użyta tylko tam, gdzie jest dozwolona.
sqlcode: -120
sqlstate: 42903
SQL0121N | Kolumna "<nazwa>" została podana więcej niż raz w zmiennej przejściowej instrukcji INSERT, UPDATE lub SET. |
Objaśnienie: Ta sama kolumna "<nazwa>" została podana więcej niż raz na liście kolumn instrukcji INSERT po lewej stronie przypisań klauzuli SET instrukcji UPDATE lub po lewej stronie przypisań w zmiennej przejściowej instrukcji SET. Błąd mógł wystąpić w trakcie aktualizacji lub wstawiania do widoku, w którym więcej niż jedna kolumna jest oparta o tę samą kolumnę tabeli podstawowej.
Nie można wykonać instrukcji.
Działanie użytkownika: Popraw składnię instrukcji, tak aby każda nazwa kolumny występowała tylko raz.
sqlcode: -121
sqlstate: 42701
SQL0122N | Instrukcja SELECT nieposiadająca klauzuli GROUP BY zawiera nazwę kolumny oraz funkcję kolumnową w klauzuli SELECT albo w klauzuli SELECT jest zawarta nazwa kolumny, ale nie zawiera jej klauzula GROUP BY. |
Objaśnienie: W instrukcji SELECT występuje jeden z następujących błędów:
Kolumna może być zawarta w funkcji skalarnej.
Jeśli w klauzuli SELECT zostały podane funkcje NODENUMBER lub PARTITION, wtedy przyjmuje się, że klauzula ta odnosi się do wszystkich kolumn klucza partycjonowania tabeli.
Nie można wykonać instrukcji.
Działanie użytkownika: Popraw instrukcję umieszczając, w klauzuli GROUP BY kolumny z klauzuli SELECT lub usuwając kolumny z klauzuli SELECT.
sqlcode: -122
sqlstate: 42803
SQL0123N | Parametr znajdujący się na pozycji "<n>" w funkcji "<nazwa>" musi być stałą lub parametrem. |
Objaśnienie: Parametr znajdujący się na pozycji "<n>" w funkcji "<nazwa>" nie jest stałą, jeśli jest wymagane, aby był stałą, lub nie jest parametrem, jeśli jest wymagane, aby był parametrem.
Działanie użytkownika: Sprawdź, czy każdy argument danej funkcji jest zgodny z definicją odpowiedniego parametru.
sqlcode: -123
sqlstate: 42601
SQL0125N | Liczba kolumn podana w klauzuli ORDER BY jest mniejsza lub większa od liczby kolumn w tabeli wynikowej. |
Objaśnienie: Klauzula ORDER BY występująca w instrukcji zawiera liczbę kolumn, która jest mniejsza od 1 lub większa od liczby kolumn w tabeli wynikowej (liczby elementów klauzuli SELECT).
Nie można wykonać instrukcji.
Działanie użytkownika: Popraw składnię klauzuli ORDER BY, tak aby każda kolumna poprawnie identyfikowała odpowiednią kolumnę tabeli wynikowej.
sqlcode: -125
sqlstate: 42805
SQL0127N | Słowo DISTINCT zostało podane więcej niż raz. |
Objaśnienie: Nie można używać kwalifikatora DISTINCT:
Nie można wykonać instrukcji.
Działanie użytkownika: Ten błąd odnosi się tylko do wydań DB2 wcześniejszych niż DB2 wersja 2 i hostów, z którymi połączenie jest nawiązywane za pomocą DB2 Connect.
sqlcode: -127
sqlstate: 42905
SQL0129N | Instrukcja zawiera zbyt wiele nazw tabel (maksimum wynosi 15). |
Objaśnienie: Instrukcja SQL zawiera zbyt wiele nazw tabel. Pojedyncza instrukcja SQL może zawierać odniesienia maksymalnie do 15 tabel. Do limitu tego są zaliczane wszystkie tabele w każdym widoku, do którego zostały podane odniesienia.
Nie można wykonać instrukcji.
Działanie użytkownika: Podziel instrukcję SQL na dwie lub więcej prostszych instrukcji, z których każda będzie zawierać odniesienia do nie więcej niż 15 tabel.
Ten komunikat dotyczy tylko serwerów w wersji 1.2 i wcześniejszych oraz hostów, z którymi połączenie jest nawiązywane za pomocą DB2 Connect.
sqlcode: -129
sqlstate: 54004
SQL0130N | Klauzula ESCAPE nie jest pojedynczym znakiem lub łańcuch wzorca zawiera błędne wystąpienie znaku ESC. |
Objaśnienie: Znak ESC musi być pojedynczym znakiem nie dłuższym niż dwa bajty. Może on wystąpić w łańcuchu wzorca tylko wtedy, gdy jest poprzedzony takim samym znakiem, znakiem procentu lub podkreślenia. Więcej informacji na temat klauzuli ESCAPE w predykacie LIKE zawiera podręcznik SQL Reference.
Działanie użytkownika: Popraw łańcuch wzorca lub znak ESC.
sqlcode: -130
sqlstate: 22019, 22025
SQL0131N | Operandy predykatu LIKE mają niekompatybilne typy danych. |
Objaśnienie: Jeśli wyrażenie znajdujące się po lewej stronie predykatu LIKE lub NOT LIKE jest określonego typu, wyrażenie znajdujące się po prawej stronie musi być tego samego typu.
Jeśli wyrażenie znajdujące się po lewej stronie jest typu graphic, wyrażenie znajdujące się po prawej stronie musi być również typu graphic.
Jeśli wyrażenie znajdujące się po lewej stronie jest typu BLOB, wyrażenie znajdujące się po prawej stronie musi być również typu BLOB.
Nie można wykonać instrukcji.
Działanie użytkownika: Popraw wyrażenie podane w predykacie LIKE, tak aby zawierało takie same typy danych.
sqlcode: -131
sqlstate: 42818
SQL0132N | Predykat LIKE lub funkcja skalarna POSSTR są niepoprawne, ponieważ pierwszy operand nie jest wyrażeniem łańcuchowym lub drugi operand nie jest łańcuchem. |
Objaśnienie: Predykat LIKE lub funkcja skalarna POSSTR pojawiające się w instrukcji są niepoprawne, ponieważ pierwszy z operandów nie jest wyrażeniem łańcuchowym lub drugi nie jest łańcuchem.
Operand znajdujący się po lewej stronie predykatu LIKE albo NOT LIKE lub pierwszy operand funkcji POSSTR muszą być wyrażeniami łańcuchowymi. Wartość występująca po prawej stronie predykatu lub drugi operand funkcji POSSTR mogą być jednym z następujących elementów:
z następującymi ograniczeniami:
Nie można używać predykatu LIKE lub funkcji skalarnej POSSTR razem z instrukcjami DATE, TIME ani TIMESTAMP.
Nie można wykonać instrukcji.
Działanie użytkownika: Sprawdź i popraw składnię instrukcji LIKE lub funkcji POSSTR.
sqlcode: -132
sqlstate: 42824
SQL0134N | Niewłaściwe użycie łańcucha kolumny, zmiennej języka bazowego, stałej lub funkcji "<nazwa>". |
Objaśnienie: Użycie łańcucha "<nazwa>" jest niedozwolone.
Wyrażenie, którego wynikiem jest łańcuchowy typ danych o maksymalnej długości 255 bajtów, nie jest dozwolone w:
Wyrażenie, którego rezultatem są dane typu LONG VARCHAR lub LONG VARGRAPHIC, nie jest dozwolone w:
Użytkownicy systemów stowarzyszeń: W sesji tranzytowej ten błąd mogło spowodować ograniczenie właściwe dla źródła danych. Dokumentacja SQL Reference zawiera informacje na temat uszkodzonych źródeł danych.
Nie można wykonać instrukcji.
Działanie użytkownika: Żądana operacja na łańcuchu nie jest obsługiwana.
Uwaga: | Jeśli nie jest jasne, w jaki sposób jest przekraczany limit 255 bajtów, należy wziąć pod uwagę, że do wyliczenia wyrażenia łańcuchowego mogą być wymagane operacje konwersji strony kodowej. W zależności od źródłowej i docelowej strony kodowej, łańcuch wynikowy może być dłuższy niż łańcuch źródłowy. Więcej informacji dotyczących ograniczeń łańcuchów oraz ich konwersji zawiera podręcznik SQL Reference. |
sqlstate: 42907
SQL0135N | Wartością kolumny długiego łańcucha w instrukcji INSERT lub UPDATE musi być zmienna języka bazowego lub parametr NULL. |
Objaśnienie: W instrukcji UPDATE lub INSERT na pozycji, na której powinna wystąpić wartość NULL lub zmienna języka bazowego znajduje się stała, nazwa kolumny lub podzapytanie.
Kolumna zawierająca długie łańcuchy może być typu LONG VARCHAR, LONG VARGRAPHIC, VARCHAR(n), gdzie n jest większe od 254 i mniejsze lub równe 32767, lub typu VARGRAPHIC(n), gdzie n jest większe od 127 i mniejsze lub równe 16383.
Działanie użytkownika: Informacje na temat wykorzystania długich łańcuchów zawiera podręcznik DB2 for VM Application Programming. Popraw instrukcję i spróbuj ponownie.
sqlcode: -135
sqlstate: 56033
SQL0137N | Długość będąca wynikiem "<operacji>" jest większa niż "<wartość maksymalna>". |
Objaśnienie: Wynik konkatenacji podanych operandów przekracza maksymalną długość obsługiwaną przez typ wyniku.
Łańcuchy znakowe mają ograniczenie do 32,700 bajtów za wyjątkiem sytuacji, gdy jeden z operandów jest typu CLOB; wtedy limit wynosi 2 gigabajty.
Łańcuchy wynikowe typu graphic mają ograniczenie do 16.350 znaków za wyjątkiem sytuacji, gdy jeden z operandów jest typu DBCLOB i jego ograniczeniem jest 1.073.741.823 (1 gigabajt minus 1) znaków typu double byte.
Binarne łańcuchy wynikowe (operandy typu BLOB) mają ograniczenie do 2 gigabajtów.
Działanie użytkownika: Sprawdź, czy suma długości operandów nie przekracza obsługiwanego maksimum i powtórz operację.
sqlcode: -137
sqlstate: 54006
SQL0138N | Drugi lub trzeci argument funkcji SUBSTR jest spoza zakresu. |
Objaśnienie: Wystąpił jeden z następujących warunków:
M jest długością pierwszego argumentu, jeśli ma on stałą długość lub maksymalną długością pierwszego argumentu, jeśli jego długość jest zmienna. N jest wartością drugiego argumentu.
Nie można wykonać instrukcji.
Działanie użytkownika: Sprawdź, czy drugi i trzeci argument funkcji SUBSTR mają wartości zgodne z podanymi powyżej zasadami.
sqlcode: -138
sqlstate: 22011
SQL0139W | W specyfikacji kolumny "<kolumna>" występuje nadmiarowa klauzula. |
Objaśnienie: Klauzula występująca w specyfikacji kolumny jest nadmiarowa.
Instrukcja została pomyślnie wykonana, ale nadmiarowa klauzula została zignorowana.
Działanie użytkownika: Popraw specyfikację kolumny.
sqlcode: +139
sqlstate: 01589
SQL0142N | Instrukcja SQL nie jest obsługiwana. |
Objaśnienie: Instrukcja wbudowanego języka SQL, która może być poprawna dla innych relacyjnych baz danych firmy IBM, nie jest obsługiwana przez menedżera baz danych.
Użytkownicy systemów stowarzyszeń: Sprawdź, czy instrukcja SQL nie została skierowana do źródła danych, które jej nie obsługuje.
Nie można wykonać instrukcji.
Działanie użytkownika: Sprawdź składnię instrukcji SQL lub usuń ją z programu.
Użytkownicy systemów stowarzyszeń: Jeśli przyczyna nie jest znana, spróbuj ograniczyć problem do określonego źródła danych nieobsługującego danego żądania (podręcznik Problem Determination Guide zawiera procedury identyfikacji uszkodzonego źródła danych) i sprawdź dialekt SQL właściwy dla tego źródła danych.
SQL0143W | Instrukcja SQL nie jest obsługiwana; niepoprawna składnia zostanie zignorowana. |
Objaśnienie: Instrukcja wbudowanego języka SQL, która może być poprawna dla innych relacyjnych baz danych firmy IBM jest rozumiana, ale nie jest obsługiwana przez menedżera baz danych.
Instrukcja może zwrócić niespójne lub niepożądane rezultaty.
Działanie użytkownika: Sprawdź składnię instrukcji SQL lub usuń ją z programu.
SQL0150N | Widok, tabela określonego typu lub tabela podsumowania w instrukcji INSERT, DELETE lub UPDATE jest widokiem, tabelą określonego typu lub tabelą podsumowania, dla której żądana operacja nie jest dozwolona. |
Objaśnienie: Widok, tabela określonego typu lub tabela podsumowania w instrukcji INSERT, DELETE lub UPDATE jest tak zdefiniowana, że żądana operacja wstawienia, usunięcia lub aktualizacji nie może zostać przeprowadzona.
Widok jest przeznaczony tylko do odczytu, jeśli instrukcja SELECT zawiera dowolną z następujących wartości:
Te warunki nie dotyczą podzapytań instrukcji SELECT.
Nie można wstawić wierszy bezpośrednio do tabeli określonego typu zdefiniowanej dla typu strukturalnego, który nie jest chwilowy. Podtabele tabeli mogą zezwalać na wstawianie.
W tabelach zbiorczych nie można wykonywać operacji wstawiania, aktualizowania ani usuwania.
Nie można wykonać instrukcji.
Działanie użytkownika: Żądanej funkcji nie można wykonać na widoku ani na tabeli zbiorczej.
Użytkownicy systemów stowarzyszeń: Jeśli przyczyna nie jest znana, spróbuj ograniczyć problem do określonego źródła danych nieobsługującego danego żądania (podręcznik Problem Determination Guide zawiera procedury identyfikacji uszkodzonego źródła danych) i sprawdź definicję obiektu oraz ograniczenia aktualizacji właściwe dla tego źródła danych.
sqlcode: -150
sqlstate: 42807
SQL0151N | Nie można zaktualizować kolumny "<nazwa>". |
Objaśnienie: Podana kolumna nie może zostać zaktualizowana, ponieważ wystąpiła jedna z następujących sytuacji:
Użytkownicy systemów stowarzyszeń: Należy sprawdzić, czy inne ograniczenia właściwe dla źródła danych nie uniemożliwiają aktualizacji kolumny.
Nie można wykonać instrukcji.
Działanie użytkownika: Żądana funkcja nie jest obsługiwana. Listę możliwych do aktualizacji katalogów (oraz kolumn) można znaleźć w podręczniku SQL Reference.
Użytkownicy systemów stowarzyszeń: Jeśli przyczyna nie jest znana, spróbuj ograniczyć problem do określonego źródła danych nieobsługującego danego żądania (patrz podręcznik Problem Determination Guide) i sprawdź definicję obiektu oraz ograniczenia aktualizacji właściwe dla tego źródła danych.
sqlcode: -151
sqlstate: 42808
SQL0153N | Instrukcja CREATE VIEW lub wspólne wyrażenie tabelowe nie zawiera listy kolumn. |
Objaśnienie: Lista kolumn musi być podana w instrukcji CREATE VIEW lub wspólnym wyrażeniu tabelowym, jeśli:
Nie można wykonać instrukcji. Dla instrukcji CREATE VIEW widok nie został utworzony.
Działanie użytkownika: Podaj w instrukcji CREATE VIEW lub we wspólnym wyrażeniu tabelowym listę nazw kolumn lub nazwij kolumny występujące na liście instrukcji SELECT pełnej selekcji przy użyciu klauzuli AS.
sqlcode: -153
sqlstate: 42908
SQL0155N | Tabela przejściowa wyzwalaczy nie może zostać zmodyfikowana. |
Objaśnienie: Wyzwalacz zawiera klauzulę REFERENCING z OLD_TABLE lub NEW_TABLE. Wyzwalana instrukcja SQL DELETE, INSERT lub UPDATE używała nazwy podanej jako OLD_TABLE lub NEW_TABLE jako tabeli do zmodyfikowania.
Działanie użytkownika: Usuń wyzwalaną instrukcję SQL DELETE, INSERT lub UPDATE z wyzwalanego działania lub zmień nazwę tabeli przejściowej, tak aby nie było konfliktu z tabelą, którą próbujesz zmodyfikować.
sqlcode: -155
sqlstate: 42807
SQL0156N | Nazwa użyta w tej operacji nie jest nazwą tabeli. |
Objaśnienie: Instrukcje SQL ALTER TABLE, DROP TABLE, SET CONSTRAINTS, CREATE TRIGGER, CREATE INDEX, LOCK TABLE oraz RENAME TABLE mogą być stosowane tylko do tabel, a nie do widoków. Programy narzędziowe RUNSTATS oraz LOAD również mogą być stosowane tylko do tabel.
Użytkownicy systemów stowarzyszeń: Niektóre narzędzia i instrukcje nie są obsługiwane w środowisku stowarzyszonym. Więcej informacji zawiera podręcznik Administration Guide.
Instrukcja lub moduł ładujący nie mogą zostać przetworzone.
Działanie użytkownika: Sprawdź, czy w instrukcji została podana poprawna nazwa tabeli. Jeśli został podany alias, sprawdź, czy odnosi się on do tabeli.
Użytkownicy systemów stowarzyszeń: Sprawdź, czy obiekt nie jest nazwą zastępczą.
sqlcode: -156
sqlstate: 42809
SQL0157N | Obiekt "<nazwa>" nie jest dozwolony w klauzuli FOREIGN KEY, ponieważ nie identyfikuje tabeli podstawowej. |
Objaśnienie: Obiekt "<nazwa>" został zidentyfikowany w klauzuli FOREIGN KEY instrukcji CREATE lub ALTER TABLE. Klauzula FOREIGN KEY musi identyfikować tabelę podstawową.
Nie można wykonać instrukcji. Podana tabela nie została utworzona ani zmieniona.
Działanie użytkownika: Popraw instrukcję, tak aby określała nazwę tabeli podstawowej w klauzuli FOREIGN KEY.
Jeśli podana została nazwa aliasu, upewnij się, że alias jest tłumaczony na nazwę tabeli podstawowej.
sqlcode: -157
sqlstate: 42810
SQL0158N | Liczba kolumn podana dla "<nazwy>" nie jest taka sama, jak liczba kolumn w tabeli wynikowej powiązanej pełnej selekcji. |
Objaśnienie: Identyfikator "<nazwa>" może określać:
Liczba podanych nazw kolumn musi być równa liczbie kolumn w tabeli wynikowej powiązanej pełnej selekcji.
Nie można wykonać instrukcji.
Działanie użytkownika: Popraw składnię, tak aby lista nazw kolumn zdefiniowana dla obiektu "<nazwa>" określała nazwę dla każdej kolumny tabeli wynikowej w związanej z nią pełnej selekcji.
sqlcode: -158
sqlstate: 42811
SQL0159N | Instrukcja dotyczy "<obiektu>", który identyfikuje "<typ-obiektu>", a nie "<oczekiwany-typ-obiektu>". |
Objaśnienie: Obiekt "<obiekt>" podany jako część instrukcji lub komendy odnosi się do obiektu typu "<typ-obiektu>" zamiast oczekiwanego typu "<oczekiwany-typ-obiektu>".
Typ obiektu podany w instrukcji lub komendzie musi być zgodny z typem "<żądany-typ-obiektu>". Na przykład jeśli instrukcją jest DROP ALIAS PBIRD.T1, to PBIRD.T1 musi być nazwą aliasu.
Działanie użytkownika: Popraw instrukcję lub komendę, tak aby zawierała właściwy typ obiektu identyfikowany "<żądany-typ-obiektu>".
sqlcode: -159
sqlstate: 42809
SQL0160N | Klauzula WITH CHECK OPTION jest niepoprawna dla podanego widoku. |
Objaśnienie: Nie można używać klauzuli WITH CHECK OPTION w definicji widoku, jeśli:
Użytkownicy systemów stowarzyszeń: Opcja WITH CHECK nie jest obsługiwana dla widoków zawierających odwołania do pseudonimów, które można aktualizować.
Nie można wykonać instrukcji. Podany widok nie został utworzony.
Działanie użytkownika: Usuń klauzulę WITH CHECK OPTION lub tak zmień definicję widoku, aby odpowiadała powyższym regułom.
sqlcode: -160
sqlstate: 42813
SQL0161N | Wiersz wynikowy instrukcji INSERT lub UPDATE nie jest zgodny z definicją widoku. |
Objaśnienie: Klauzula WITH CHECK OPTION została podana w definicji widoku będącej obiektem instrukcji INSERT albo UPDATE. W konsekwencji wszystkie próby wstawienia lub aktualizacji wierszy w tym widoku są sprawdzane pod kątem ich zgodności z definicją widoku.
Nie można wykonać instrukcji. Aktualizacje ani wstawienia nie zostaną wykonane, a zawartość widoku oraz odpowiedniej tabeli podstawowej pozostanie niezmieniona.
Działanie użytkownika: Sprawdź definicję widoku, aby określić przyczyny, dla których instrukcja INSERT albo UPDATE została odrzucona. Weź pod uwagę, że ta sytuacja może zależeć od danych.
Żądana instrukcja INSERT lub UPDATE mogła próbować umieścić w docelowych kolumnach dane spoza zakresu. Podręcznik SQL Reference zawiera informacje pomocne przy aktualizacji katalogów systemowych dotyczące poprawnych zakresów wartości dla kolumn katalogów, które można aktualizować.
Użytkownicy systemów stowarzyszeń: Jeśli przyczyna nie jest znana, spróbuj ograniczyć problem do określonego źródła danych nieobsługującego danego żądania (patrz podręcznik Problem Determination Guide) i sprawdź definicje obiektu i widoku właściwe dla tego źródła danych.
sqlcode: -161
sqlstate: 44000
SQL0170N | Liczba argumentów funkcji skalarnej "<nazwa>" jest niepoprawna. |
Objaśnienie: Podana funkcja skalarna "<nazwa>" ma za mało lub za dużo argumentów.
Nie można wykonać instrukcji.
Działanie użytkownika: Sprawdź, czy dla danej funkcji skalarnej została podana poprawna liczba argumentów.
sqlcode: -170
sqlstate: 42605
SQL0171N | Typ danych, długość lub wartość argumentu "<n>" procedury "<nazwa>" jest niepoprawna. |
Objaśnienie: Typ danych, długość lub wartość argumentu "<n>" procedury "<nazwa>" jest niepoprawna.
Nie można wykonać instrukcji.
Działanie użytkownika: Upewnij się, że argumenty procedury są zgodne z zasadami dla procedury.
sqlcode: -171
sqlstate: 42815
SQL0172N | "<nazwa>" nie jest poprawną nazwą funkcji. |
Objaśnienie: Instrukcja SQL zawiera nieznaną funkcję skalarną.
Nie można wykonać instrukcji.
Działanie użytkownika: Sprawdź, czy nazwa funkcji jest poprawna.
sqlcode: -172
sqlstate: 42601
SQL0176N | Drugi, trzeci lub czwarty argument funkcji skalarnej TRANSLATE jest błędny. |
Objaśnienie: Instrukcja jest niepoprawna z jednej lub kilku następujących przyczyn:
Nie można wykonać instrukcji.
Działanie użytkownika: Sprawdź, czy drugi, trzeci oraz czwarty argument funkcji skalarnej translate mają poprawne wartości.
sqlcode: -176
sqlstate: 42815
SQL0180N | Składnia łańcucha reprezentującego wartość data-godzina jest niepoprawna. |
Objaśnienie: Łańcuch reprezentujący datę, godzinę lub wartość datownika nie jest zgodny ze składnią dla podanego lub przyjętego typu danych.
Nie można wykonać instrukcji.
Działanie użytkownika: Sprawdź, czy składnia dla daty, godziny lub wartości datownika jest zgodna ze składnią dla odpowiedniego typu danych. Jeśli przeznaczeniem łańcucha nie jest wartość daty, godziny ani datownika, sprawdź, czy sposób jego wykorzystania nie narzuca przyjęcia takiego typu danych.
Użytkownicy systemów stowarzyszeń: Problem może dotyczyć reprezentacji daty/godziny w źródle danych;. Jeśli przyczyna nie jest znana, spróbuj ograniczyć problem do określonego źródła danych, nie obsługującego żądania (patrz podręcznik Problem Determination Guide) i sprawdź ograniczenia dotyczące reprezentacji daty/godziny dla tego źródła danych.
sqlcode: -180
sqlstate: 22007
SQL0181N | Wartość łańcucha reprezentującego wartość data-godzina jest spoza zakresu. |
Objaśnienie: Łańcuch reprezentujący datę, godzinę lub wartość datownika zawiera wartość spoza dopuszczalnego zakresu.
Błąd mógł zostać spowodowany przez dostęp do wartości data-godzina z aplikacji używającej kodu kraju innego niż kod używany przez aplikację, która utworzyła tę wartość. Na przykład, łańcuch typu data-godzina zapisany w formacie dd/mm/rrrr nie będzie poprawny, jeśli zostanie odczytany przez aplikację używającą formatu mm/dd/rrrr.
Poprawne zakresy wartości dla daty, godziny oraz datownika są następujące:
Użytkownicy systemów stowarzyszeń: Problem może dotyczyć reprezentacji daty/godziny dla źródła danych. Zapoznaj się z dokumentacją źródła danych i sprawdź dopuszczalne zakresy wartości dla daty i godziny. Jeśli przyczyna nie jest znana, spróbuj ograniczyć problem do określonego źródła danych nieobsługującego danego żądania (patrz podręcznik Problem Determination Guide) i sprawdź ograniczenia dotyczące reprezentacji daty/godziny dla tego źródła danych.
Nie można wykonać instrukcji.
Działanie użytkownika: Sprawdź, czy wartość mieści się w podanym zakresie i czy format wartości data-godzina obsługiwany przez aplikację jest taki sam, jak format łańcucha.
sqlcode: -181
sqlstate: 22007
SQL0182N | Wyrażenie zawierające wartość data-godzina lub mianowany czas trwania jest niepoprawne. |
Objaśnienie: Podane wyrażenie zawiera niewłaściwie użytą datę, godzinę, wartość datownika lub mianowany czas trwania.
Nie można wykonać instrukcji.
Działanie użytkownika: Prześledź składnię instrukcji SQL, aby określić przyczynę problemu i popraw wyrażenie.
sqlcode: -182
sqlstate: 42816
SQL0183N | Operacja arytmetyczna lub funkcja skalarna wykonana na wartościach data-godzina zwróciła rezultat, który nie mieści się w dopuszczalnym zakresie dat. |
Objaśnienie: Rezultatem operacji arytmetycznej jest data lub przedział datownika spoza zakresu od 0001-01-01 do 9999-12-31.
Nie można uruchomić instrukcji.
Działanie użytkownika: Przeanalizuj instrukcje SQL, aby określić przyczynę błędu. Jeśli problem jest zależny od danych, konieczne jest prześledzenie przetwarzania danych w momencie wystąpienia błędu.
sqlcode: -183
sqlstate: 22008
SQL0187N | Błędne odwołanie do rejestru specjalnego bieżącej daty/godziny. |
Objaśnienie: Podczas pobierania informacji o dacie i godzinie system operacyjny wysłał komunikat o błędzie.
Działanie użytkownika: Sprawdź, czy systemowy zegar TOD oraz ustawienia strefy czasowej są poprawne.
sqlcode: -187
sqlstate: 22506
SQL0190N | Określone atrybuty instrukcji ALTER TABLE "<nazwa-tabeli>" dla kolumny "<nazwa-kolumny>" są niezgodne z istniejącą kolumną. |
Objaśnienie: Atrybuty określone w klauzuli ALTER COLUMN dla kolumny "<nazwa-kolumny>" tabeli "<nazwa-tabeli>" w instrukcji ALTER TABLE nie są zgodne z atrybutami istniejącej kolumny. Możliwe przyczyny zwrócenia błędu:
Działanie użytkownika: Popraw określone atrybuty, tak aby były zgodne z istniejącą kolumną, usuń specyfikację atrybutów lub określ inną nazwę kolumny.
sqlcode: -190
sqlstate: 42837
SQL0191N | Wystąpił błąd spowodowany fragmentacją znaku typu MBCS. |
Objaśnienie: Możliwe przyczyny:
Użytkownicy systemów stowarzyszeń: Sytuację tę może również wykryć źródło danych.
Działanie użytkownika:
Użytkownicy systemów stowarzyszeń: Jeśli dane są poprawne, spróbuj ograniczyć problem do określonego źródła danych nieobsługującego danego żądania (patrz podręcznik Problem Determination Guide) i sprawdź ograniczenia DBCS dotyczące źródła danych. Jeśli dane wydają się być poprawne, skontaktuj się z serwisem firmy IBM, aby uzyskać pomoc.
sqlcode: -191
sqlstate: 22504
SQL0193N | W instrukcji ALTER TABLE kolumna "<nazwa-kolumny>" została podana jako NOT NULL i albo nie została podana klauzula DEFAULT, albo podano ją jako DEFAULT NULL. |
Objaśnienie: Podczas dodawania nowych kolumn do istniejącej tabeli, nowej kolumnie należy przypisać wartość dla wszystkich istniejących wierszy. Domyślnie przypisywana jest im wartość pusta (NULL). Jednak ponieważ kolumna została zdefiniowana jako NOT NULL, należy zdefiniować wartość domyślną inną niż wartość pustą.
Działanie użytkownika: Usuń z kolumny ograniczenie NOT NULL lub podaj dla tej kolumny wartość domyślną inną niż null.
sqlcode: -193
sqlstate: 42601
SQL0197N | W klauzuli ORDER BY nie jest dopuszczalna kwalifikowana nazwa kolumny. |
Objaśnienie: Klauzula ORDER BY dla pełnej selekcji, która zawiera operator mnogościowy (UNION, EXCEPT, INTERSECT) nie może mieć kwalifikowanych nazw kolumn.
Działanie użytkownika: Sprawdź, czy wszystkie nazwy kolumn w klauzuli ORDER BY są niekwalifikowane.
sqlcode: -197
sqlstate: 42877
SQL0198N | Łańcuch instrukcji w instrukcji PREPARE lub EXECUTE IMMEDIATE jest niewypełniony lub pusty. |
Objaśnienie: Zmienna języka bazowego, która była obiektem instrukcji PREPARE lub EXECUTE IMMEDIATE zawiera same puste znaki lub jest pustym łańcuchem.
Instrukcje PREPARE lub EXECUTE IMMEDIATE nie mogły zostać wykonane.
Działanie użytkownika: Popraw oprogramowanie, tak aby operandem instrukcji PREPARE lub EXECUTE IMMEDIATE przed ich wykonaniem była poprawna instrukcja SQL.
sqlcode: -198
sqlstate: 42617
SQL0199N | Użycie parametru zastrzeżonego "<parametr>" następującego po elemencie "<tekst>" jest niepoprawne. Dopuszczalne elementy to: "<lista-elementów>". |
Objaśnienie: Wykryto błąd składni w instrukcji SQL w punkcie, w którym parametr zastrzeżony "<parametr>" pojawia się po elemencie "<tekst>". Pole "<tekst>" zawiera 20 znaków instrukcji SQL poprzedzających parametr zastrzeżony. Klauzule występujące w instrukcji mogą być podane w błędnej kolejności.
Aby pomóc programiście, w polu SQLERRM obszaru komunikacyjnego SQL jako "<lista-elementów>" podano listę niektórych poprawnych elementów. Założono, że do tego miejsca instrukcja jest poprawna.
Nie można wykonać instrukcji.
Działanie użytkownika: Sprawdź obszar parametru instrukcji. Dodaj brakujące przecinki lub ograniczniki SQL. Sprawdź, czy klauzule występują w poprawnej kolejności. Jeśli podane w komunikacie słowo zastrzeżone występuje na liście słów zastrzeżonych, zapisz je jako identyfikator z ogranicznikami.
UWAGA: Ten błąd odnosi się tylko do wydań DB2 wcześniejszych niż DB2 wersja 2.
sqlcode: -199
sqlstate: 42601