Video: Guide: Tolka och förstå en årsredovisning 2024
När du använder SQLSTATE för att identifiera SQL-fel kan det ibland vara svårt att bestämma vad man ska göra med den informationen. CONNECTION_NAME och ENVIRONMENT_NAME identifiera anslutningen och miljön som du är ansluten när SQL-satsen utförs.
Om rapporten behandlar en tabelloperation, identifierar CATALOG_NAME, SCHEMA_NAME och TABLE_NAME tabellen. COLUMN_NAME identifierar kolumnen i tabellen som orsakade rapporten. Om situationen innebär en markör, ger CURSOR_NAME sitt namn.
Ibland producerar en DBMS en sträng av naturlig språktext för att förklara ett tillstånd. MESSAGE_TEXT-objektet är för denna typ av information. Innehållet i denna artikel beror på genomförandet. SQL-standarden definierar inte dem explicit. Om du har något i MESSAGE_TEXT, registreras längden i tecken i MESSAGE_LENGTH och dess längd i oktetter registreras i MESSAGE_OCTET_LENGTH.
Om meddelandet är i vanliga ASCII-tecken, är MESSAGE_LENGTH lika med MESSAGE_OCTET_LENGTH. Om å andra sidan meddelandet finns i kanji eller något annat språk vars tecken kräver mer än en oktett att uttrycka, skiljer MESSAGE_LENGTH från MESSAGE_OCTET_LENGTH.
Använd följande för att hämta diagnostisk information från en rubrik för diagnostikområde:
GET DIAGNOSTICS status1 = item1 [status2 = item2] …;
statusn är en värdvariabel eller parameter; itemn kan vara något av sökorden NUMBER, MORE, COMMAND_FUNCTION, DYNAMIC_FUNCTION eller ROW_COUNT.
Använd följande syntax för att hämta diagnostisk information från ett område med diagnostikinformation:
GET DIAGNOSTICS EXCEPTION-villkor-nummer status1 = item1 [status2 = item2] …;
Against statusn är en värdvariabel eller parameter och itemn är något av de 28 nyckelorden för detaljerna som anges i tabell 21-2. Villkoret är (överraskning!) Detaljeringsområdet CONDITION_NUMBER-objektet.