Norma SQL p°edepisuje, ₧e chybovΘ stavy a varovßnφ majφ b²t oznaΦovßny pomocφ tzv. sqlstates, co₧ jsou °et∞zce p∞ti znak∙ slo₧enΘ z Φφslic a velk²ch pφsmen latinskΘ abecedy. Norma pro °adu chyb p°edepisuje, kter² sqlstate mß p°i jejich v²skytu nastat. Mimo to ponechßvß prostor pro sqlstates definovanΘ implementacφ.
Ve WinBase602 jsou chyby oznaΦovßny Φφslem. N∞kterΘ z t∞chto chyb odpovφdajφ n∞kterΘmu sqlstate, jinΘ jsou specifickΘ po WinBase602. Vzhledem k tomu, ₧e pro v∞tÜinu syntaktick²ch chyb a vÜechny chyby z nedostatku prßv existuje jedin² sqlstate, poskytujφ Φφsla chyb WinBase602 detailn∞jÜφ rozliÜenφ.
Na sqlstates se v p°φkazech SQL odvolßvajφ deklarace v²jimek a handler∙. Chcete-li zachytit a zpracovat urΦitou chybu, musφte znßt jejφ sqlstate. Nφ₧e uvedenß tabulka specifikuje sqlstates odpovφdajφcφ jeden k jednΘ chybßm WinBase602. Ostatnφ (implementacφ definovanΘ) chyby se vyjad°ujφ pomocφ sqlstate ve tvaru öWabcdö, kde abcd je Φty°mφstnΘ Φφslo chyby, dopln∞nΘ v p°φpad∞ pot°eby zleva nulami. Nap°φklad chyb∞ 171(deadlock) odpovφdß sqlstate W0171.
Nßzev sqlstate | Φφslo chyby ve WinBase602 | sqlstate |
Kurzor nelze nastavit na neexistujφcφ zßznam | 131 | 02000 |
PoruÜeno omezenφ tabulky (NOT NULL nebo UNIQUE nebo CHECK nebo referenΦnφ integrita) | 160,172,174,
175 |
40002 |
Neplatn² stav kurzoru | 196 | 24000 |
NeplatnΘ oznaΦenφ savepointu | 197 | 3B001 |
P°ekroΦen limit na poΦet savepoint∙ | 198 | 3B002 |
Transakce je ji₧ zahßjena | 199 | 25001 |
NedovolenΘ ukonΦenφ transakce v atomickΘm p°φkazu | 200 | 2D000 |
Tato transakce nesmφ modifikovat data | 201 | 25006 |
╚φselnß hodnota mimo povolen² rozsah | 202 | 22003 |
Nep°φpustn² znak znemo₧≥uje konverzi typu | 203 | 22018 |
╪et∞zec znak∙ je p°φliÜ dlouh² | 204 | 22001 |
D∞lenφ nulou | 205 | 22012 |
Odpov∞∩ obsahuje jin² poΦet zßznam∙ ne₧ jeden | 206 | 21000 |
Chyba v urΦenφ znaku ESCAPE | 207 | 22019 |
P°φkaz CASE neobsahuje vhodnou v∞tev | 208 | 20000 |
U₧ivatelem definovanß v²jimka nenφ oÜet°ena | 209 | 45000 |
P°φkaz RESIGNAL pou₧it mimo oÜet°enφ v²jimky | 210 | 0K000 |
Externφ rutina nebo knihovna nebyla nalezena | 211 | 38001 |
Ve funkci nebyl proveden p°φkaz RETURN | 212 | 2F001 |
Chyba v akci spuÜt∞nΘ triggerem | 214 | 09000 |
Kurzor tohoto jmΘna neexistuje | 217 | 34000 |
Viz takΘ popis zpracovßnφ v²jimek.