Message Reference

SQL3600 - SQL3699

SQL3600NMožnost IMMEDIATE CHECKED stavka SET INTEGRITY ni veljavna, ker tabela "<ime-tabele>" ni v stanju čakanja na preverjanje.

Pojasnilo: Podatki se preverijo za kršitve omejitev samo, če je tabela postavljena v stanje čakanja na preverjanje.

Odgovor uporabnika: Če želite postaviti tabelo v stanje čakanja na preverjanje, uporabite stavek SET INTEGRITY z možnostjo OFF.

sqlcode: -3600

sqlstate: 51027

SQL3601WStavek je povzročil, da se je ena ali več tabel samodejno postavila v stanje čakanja na preverjanje.

Pojasnilo: To se lahko zgodi v dveh primerih.

  1. Nastavitev nadrejene tabele v referenčni strukturi zahteva, da so odvisne in podrejene tabele nastavljene v čakanje na preverjanje. To je potrebno zaradi uveljavljanja referenčne neokrnjenosti omejitev. Dodajanje tujega ključa, ko je nadrejena tabela v stanju čakanja na preverjanje zahteva, da so vse nove tabele, ki so odvisne in podrejene tabele nadrejeni tabeli, samodejno postavljene v čakanje na preverjanje.
  2. Nastavitev osnovne tabele, ki ima odvisne tabele povzetkov za takojšnje osveževanje zahteva, da so odvisne tabele povzetkov nastavljene v čakanju na preverjanje. To je potrebno za uskladitev povezave podatkov med osnovno tabelo in odvisno tabelo povzetka.

Odgovor uporabnika: To je opozorilno sporočilo. Uporabnik mora izvesti stavek SET INTEGRITY z možnostjo IMMEDIATE CHECKED, da bi preveril neodvisnost na vseh odvisnih in podrejenih tabelah.

sqlcode: +3601

sqlstate: 01586

SQL3602WObdelava preverjanja podatkov je odkrila kršitve omejitev in jih premaknila v tabele izjem.

Pojasnilo: Določene vrstice kršijo omejitve, ki jih mora preveriti izvršitev stavka SET INTEGRITY. Te so bile premaknjene v tabele izjem.

Odgovor uporabnika: Preverite tabelo izjem, v kateri se nahajajo vrstice, ki kršijo omejitve. Vrstice so bile zbrisane iz prvotne tabele, vendar jih je mogoče popravite in prenesti nazaj iz tabel izjem.

sqlcode: +3602

sqlstate: 01603

SQL3603NObdelava preverjanja podatkov s stavkom SET INTEGRITY je odkrila kršenje neokrnjenosti, ki vključuje omejitev "<ime>".

Pojasnilo: Najdena je bila vrstica, ki krši omejitev, definirano za tabelo in podano za preverjanje s stavkom SET INTEGRITY. Ime "<ime>" je ime omejitve ali ime ustvarjenega stolpca.

Odgovor uporabnika: Vrstica ni bila zbrisana iz tabele, ker ni bila uporabljena možnost FOR EXCEPTION.

Pri preverjanju podatkov priporočamo, da izvršite stavek SET INTEGRITY z uporabo možnosti FOR EXCEPTION. Morda so podatki popravljeni z informacijami iz tabel(e) izjem.

sqlcode: -3603

sqlstate: 23514

SQL3604NTabela izjem "<ime-tabele-izjem>", ki ustreza tabeli "<ime-tabele>", v stavku SET INTEGRITY ali pomožnem programu LOAD nima ustrezne strukture, je bila definirana z unikatnimi indeksi, omejitvami, ustvarjenimi stolpci ali prožilci ali pa je v stanju čakanja na preverjanje.

Pojasnilo: Tabela izjem, ki pripada tabeli, mora imeti podobno definicijo kot prvotna tabela. Izbirni stolpci pomožnega programa so taki kot je podano v ustreznem razdelku dokumentacije, ki opisuje tabele izjem. V tabeli izjem morda ni ustvarjenih stolpcev. Za tabelo izjem ni dovoljeno definirati nobenih izjem ali prožilcev. Sama tabela izjem ne bi smela biti v stanju čakanja na preverjanje.

Odgovor uporabnika: Izdelajte tabelo izjem, kot je naznačeno v ustreznem razdelku dokumentacije in znova zaženite pomožni program ali stavek.

sqlcode: -3604

sqlstate: 428A5

SQL3605NTabela "<ime-tabele>", imenovana v stavku SET INTEGRITY, ni navedena za preverjanje ali pa je tabela izjem, podana več kot enkrat.

Pojasnilo: Če je v stavku SET CONSTRAINTS podan člen FOR EXCEPTION, je vzrok za napako lahko nekaj od naslednjega:

Odgovor uporabnika: Popravite imena tabel in znova izvršite ukaz.

sqlcode: -3605

sqlstate: 428A6

SQL3606NV številu tabel, ki se preverjajo in v številu tabel izjem, podanih v stavku SET INTEGRITY, je neujemanje.

Pojasnilo: Med prvotnimi tabelami in tabelami izjem, navedenih v seznamu, mora biti stik ena proti ena.

Odgovor uporabnika: Da bi lahko znova izvršili ukaz, izdelajte manjkajočo tabelo izjem, če je še niste, in jo podajte v seznam.

sqlcode: -3606

sqlstate: 428A7

SQL3608NNi mogoče preveriti ali znova nastaviti stanja čakanja na preverjanje za odvisno tabelo "<ime-odvisne-tabele>" s pomočjo stavka SET INTEGRITY medtem ko je nadrejena tabela "<ime-nadrejene-tabele>" v stanju čakanja na preverjanje.

Pojasnilo: Nadrejena tabela mora biti čista (ne v stanju čakanja na preverjanje) ali biti vključena v seznam poziva, da bi

Odgovor uporabnika: Zagotovite, da nadrejena tabela ni v čakanju na preverjanje, tako da izvedete stavek SET INTEGRITY, ki preveri nadrejeno tabelo.

Priporočljivo je, da najprej preverite nadrejeno tabelo. Prav tako je mogoče preveriti podrejeno tabelo in vključiti nadrejeno tabelo v seznam poziva. V tem primeru lahko pride do napake v ukazu, če so v nadrejeni tabeli kršitve omejitev in jih ne zbrišete. Do tega lahko pride, če ne uporabite možnosti FOR EXCEPTION.

V primeru referenčnega kroga, morajo biti vse tabele navedene v seznamu poziva.

sqlcode: -3608

sqlstate: 428A8


[ Vrh Strani | Predhodna Strani | Naslednja Strani | Obsah | Seznam ]