Video: Slik tolker du et debattinnlegg - Del 1: Intensjoner 2024
Når du bruker SQLSTATE til å identifisere SQL-feil, kan det noen ganger være vanskelig å bestemme hva du skal gjøre med denne informasjonen. CONNECTION_NAME og ENVIRONMENT_NAME identifiserer forbindelsen og miljøet du er koblet til da SQL-setningen utføres.
Hvis rapporten omhandler en tabelloperasjon, identifiserer CATALOG_NAME, SCHEMA_NAME og TABLE_NAME tabellen. COLUMN_NAME identifiserer kolonnen i tabellen som forårsaket at rapporten skal gjøres. Hvis situasjonen innebærer en markør, gir CURSOR_NAME sitt navn.
Noen ganger produserer en DBMS en streng med naturlig tekst for å forklare en tilstand. MESSAGE_TEXT-elementet er for denne typen informasjon. Innholdet i denne artikkelen er avhengig av implementeringen; SQL-standarden definerer ikke dem eksplisitt. Hvis du har noe i MESSAGE_TEXT, registreres lengden i tegn i MESSAGE_LENGTH, og lengden i oktetter registreres i MESSAGE_OCTET_LENGTH.
Hvis meldingen er i normale ASCII-tegn, er MESSAGE_LENGTH lik MESSAGE_OCTET_LENGTH. Hvis meldingen på den annen side er i kanji eller et annet språk hvis tegn krever mer enn en oktet for å uttrykke, MESSAGE_LENGTH er forskjellig fra MESSAGE_OCTET_LENGTH.
Bruk følgende for å hente diagnostisk informasjon fra et overskriftsområde for diagnostikkområdet:
GET DIAGNOSTICS status1 = item1 [status2 = item2] …;
statusn er en vertsvariabel eller parameter; itemn kan være et av søkeordene NUMBER, MORE, COMMAND_FUNCTION, DYNAMIC_FUNCTION eller ROW_COUNT.
For å hente diagnostisk informasjon fra et område med diagnostikkdetaljer, bruk følgende syntaks:
GET DIAGNOSTICS EXCEPTION betingelse-nummer status1 = item1 [status2 = item2] …;
Igjen statusn er en vertsvariabel eller parameter, og itemn er et av de 28 nøkkelordene for detaljene som er oppført i tabell 21-2. Tilstandsnummeret er (overraskelse!) Detaljområdets CONDITION_NUMBER-element.