Podręcznik SQL Reference

| | |

Autoryzacje instrukcji CREATE PROCEDURE (SQL)

|

Jeśli identyfikator autoryzacyjny instrukcji posiada uprawnienie SYSADM, ale nie posiada |uprawnienia DBADM, identyfikatorowi temu nadawane jest niejawne uprawnienie DBADM w celu |utworzenia procedury. Ma to zastosowanie do instrukcji CREATE PROCEDURE (SQL), ale nie do |instrukcji CREATE PROCEDURE (External).

EXPLAIN_DIAGNOSTIC: nowa tabela wyjaśniania

Tabela EXPLAIN_DIAGNOSTIC zawiera wpisy wszystkich komunikatów diagnostycznych wygenerowanych przez daną instancję wyjaśnionej instrukcji w tabeli EXPLAIN_STATEMENT.

Funkcja tabelowa EXPLAIN_GET_MSGS odczytuje tabele wyjaśniania EXPLAIN_DIAGNOSTIC oraz EXPLAIN_DIAGNOSTIC_DATA i zwraca sformatowane komunikaty.

Tabela 39. Tabela EXPLAIN_DIAGNOSTIC
Nazwa kolumny Typ danych Dozwolone wartości puste Klucz 1 Opis
EXPLAIN_REQUESTER VARCHAR(128) Nie PK, FK Identyfikator autoryzowanego użytkownika, który zainicjował to żądanie wyjaśniania.
EXPLAIN_TIME TIMESTAMP Nie PK, FK Czas zainicjowania żądania wyjaśniania.
SOURCE_NAME VARCHAR(128) Nie PK, FK Nazwa pakietu uruchomionego w czasie wyjaśniania dynamicznej instrukcji SQL lub nazwa pliku źródłowego w przypadku wyjaśniania statycznej instrukcji SQL.
SOURCE_SCHEMA VARCHAR(128) Nie PK, FK Schemat lub kwalifikator źródłowego żądania wyjaśniania.
SOURCE_VERSION VARCHAR(64) Nie PK, FK Wersja źródła żądania wyjaśniania.
EXPLAIN_LEVEL CHAR(1) Nie PK, FK Poziom informacji wyjaśnienia, którego dotyczy ten wiersz.

Poprawne wartości to:

  • O: Tekst oryginalny (wprowadzony przez użytkownika)
  • P: PLAN SELECTION
STMTNO INTEGER Nie PK, FK Numer instrukcji w pakiecie, z którymi związane są te informacje wyjaśniania. W przypadku wyjaśniania dynamicznych instrukcji SQL pole to ma wartość 1. W przypadku statycznych instrukcji SQL wartość jest identyczna z wartością używaną dla widoku katalogu SYSCAT.STATEMENTS.
SECTNO INTEGER Nie PK, FK Numer sekcji pakietu zawierającej tę instrukcję SQL. W przypadku wyjaśniania dynamicznych instrukcji SQL jest to numer sekcji tej instrukcji w środowisku wykonawczym. W przypadku statycznych instrukcji SQL wartość jest identyczna z wartością używaną dla widoku katalogu SYSCAT.STATEMENTS.
DIAGNOSTIC_ID INTEGER Nie PK Identyfikator diagnostyczny konkretnej instancji instrukcji w tabeli EXPLAIN_STATEMENT.
CODE INTEGER Nie Nie Unikalny numer przypisany do każdego komunikatu diagnostycznego. Numeru tego może używać interfejs API komunikatów w celu pobrania pełnego tekstu komunikatu diagnostycznego.

  1. PK oznacza, że kolumna należy do klucza podstawowego; FK oznacza, że kolumna należy do klucza obcego.

EXPLAIN_DIAGNOSTIC_DATA: nowa tabela wyjaśniania

Tabela EXPLAIN_DIAGNOSTIC_DATA zawiera tokeny konkretnych komunikatów diagnostycznych zarejestrowanych w tabeli EXPLAIN_DIAGNOSTIC. Tokeny komunikatów zawierają dodatkowe informacje dotyczące wykonania instrukcji SQL, która wygenerowała komunikat.

Funkcja tabelowa EXPLAIN_GET_MSGS odczytuje tabele wyjaśniania EXPLAIN_DIAGNOSTIC oraz EXPLAIN_DIAGNOSTIC_DATA i zwraca sformatowane komunikaty.

Tabela 40. Tabela EXPLAIN_DIAGNOSTIC_DATA
Nazwa kolumny Typ danych Dozwolone wartości puste Klucz 1 Opis
EXPLAIN_REQUESTER VARCHAR(128) Nie FK Identyfikator autoryzowanego użytkownika, który zainicjował to żądanie wyjaśniania.
EXPLAIN_TIME TIMESTAMP Nie FK Czas zainicjowania żądania wyjaśniania.
SOURCE_NAME VARCHAR(128) Nie FK Nazwa pakietu uruchomionego w czasie wyjaśniania dynamicznej instrukcji SQL lub nazwa pliku źródłowego w przypadku wyjaśniania statycznej instrukcji SQL.
SOURCE_SCHEMA VARCHAR(128) Nie FK Schemat lub kwalifikator źródłowego żądania wyjaśniania.
SOURCE_VERSION VARCHAR(64) Nie FK Wersja źródła żądania wyjaśniania.
EXPLAIN_LEVEL CHAR(1) Nie FK Poziom informacji wyjaśnienia, którego dotyczy ten wiersz.

Poprawne wartości to:

  • O: Tekst oryginalny (wprowadzony przez użytkownika)
  • P: PLAN SELECTION
STMTNO INTEGER Nie FK Numer instrukcji w pakiecie, z którymi związane są te informacje wyjaśniania. W przypadku wyjaśniania dynamicznych instrukcji SQL pole to ma wartość 1. W przypadku statycznych instrukcji SQL wartość jest identyczna z wartością używaną dla widoku katalogu SYSCAT.STATEMENTS.
SECTNO INTEGER Nie FK Numer sekcji pakietu zawierającej tę instrukcję SQL. W przypadku wyjaśniania dynamicznych instrukcji SQL jest to numer sekcji tej instrukcji w środowisku wykonawczym. W przypadku statycznych instrukcji SQL wartość jest identyczna z wartością używaną dla widoku katalogu SYSCAT.STATEMENTS.
DIAGNOSTIC_ID INTEGER Nie PK Identyfikator diagnostyczny konkretnej instancji instrukcji w tabeli EXPLAIN_STATEMENT.
ORDINAL INTEGER Nie Nie Pozycja tokenu w pełnym tekście komunikatu.
TOKEN VARCHAR(1000) Tak Nie Token komunikatu, który ma być wstawiony do pełnego tekstu komunikatu; może być obcięty.
TOKEN_LONG BLOB(3M) Tak Nie Bardziej szczegółowe informacje, jeśli są dostępne.

  1. PK oznacza, że kolumna należy do klucza podstawowego; FK oznacza, że kolumna należy do klucza obcego.

Schemat używany przez narzędzie Explain

Narzędzie Explain korzysta z poniższych identyfikatorów jako schematów w celu kwalifikowania zapełnianych tabel wyjaśniania:

Schemat może być powiązany z zestawem tabel wyjaśniania lub aliasów wskazujących zestaw tabel wyjaśniania w ramach innego schematu.

Jeśli w danym schemacie nie zostaną znalezione żadne tabele wyjaśniania, narzędzie Explain poszuka ich w schemacie SYSTOOLS i spróbuje je wykorzystać.

Reprezentacje wartości daty-godziny w postaci łańcuchów

Łańcuchy godziny

Reprezentacja godziny w postaci łańcucha zaczyna się od cyfry i ma co najmniej 4 znaki długości. Łańcuch taki może zawierać zamykające znaki odstępu; zero wiodące w liczbie godzin może być pominięte, a liczba sekund może być pominięta w całości. Gdy sekundy zostaną pominięte, przyjmowana jest niejawna specyfikacja 0 sekund. Tym samym zapis 13:30 jest równoważny zapisowi 13:30:00.

Poprawne formaty łańcuchów dla godzin wymieniono w poniższej tabeli. Każdy format jest identyfikowany nazwą i powiązanym z nią skrótem.

Tabela 41. Formaty reprezentacji godzin w postaci łańcucha.
Nazwa formatu Skrót Format godziny Przykład
International Standards Organization ISO gg.mm.ss 13.30.05
Standard amerykański IBM USA gg:mm AM lub PM 1:30 PM
Standard europejski IBM EUR gg.mm.ss 13.30.05
Japanese Industrial Standard Christian Era JIS gg:mm:ss 13:30:05
Definiowany lokalnie LOC Zależy od kodu terytorium aplikacji -

Od wersji 8.2 oznaczenia "AM" i "PM" mogą być pisane małymi lub wielkimi literami.

[ Początek strony |Poprzednia strona | Następna strona | Spis treści ]