スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス
機能
直前に実行したSQL文が次のどれかの場合,そのエラー情報及び診断情報を,診断領域から取得します。
また,直前に実行したSQL文がリモートデータベースアクセスを実行した場合には,分散サーバが返したエラー情報を含みます。
リモートデータベースアクセスを実行した場合の,エラーの詳細情報の取得と対処については,マニュアル「HiRDB Version 8 UAP開発ガイド」の「分散サーバで発生したエラーの対処」を参照してください。
ルーチンのSQLオブジェクトの再作成時,この診断情報に,正常に再作成したルーチンの情報が含まれます。
形式
GET DIAGNOSTICS {:埋込み変数=文情報項目名 〔,:埋込み変数=文情報項目名〕… |EXCEPTION 条件番号 :埋込み変数=条件情報項目名 〔,:埋込み変数=条件情報項目名〕…} 文情報項目名::={NUMBER|MORE} 条件情報項目名::={RETURNED_SQLCODE |ERROR_POSITION |ERROR_SQL_NO |ERROR_SQL |ROUTINE_TYPE |ROUTINE_SCHEMA |ROUTINE_NAME |TRIGGER_SCHEMA |TRIGGER_NAME |CONSTRAINT_SCHEMA |CONSTRAINT_NAME |MESSAGE_TEXT |RDNODE_NAME |QUERY_NAME |CONDITION_IDENTIFIER} |
オペランド
何番目の診断情報を取得するかを示す値を埋込み変数で指定します。
表6-2 ERROR_SQLに設定される文字列
分類(SQL種別) | 文字列設定の有無 | 設定される文字列 | ||||
---|---|---|---|---|---|---|
ルーチン | 左記以外 | |||||
定義 | 実行 | 前処理 | 実行 | |||
定義系 SQL |
ALTER INDEX | × | × | ○ | ○ | ALTER INDEX |
ALTER PROCEDURE | × | × | ○ | ○ | ALTER PROCEDURE | |
ALTER ROUTINE | × | × | ○ | ○ | ALTER ROUTINE | |
ALTER TABLE | × | × | ○ | ○ | ALTER TABLE | |
ALTER TRIGGER | × | × | ○ | ○ | ALTER TRIGGER | |
COMMENT(表に注釈を付ける) | × | × | ○ | ○ | COMMENT TABLE | |
COMMENT(列に注釈を付ける) | × | × | ○ | ○ | COMMENT COLUMN | |
CREATE ALIAS | × | × | ○ | ○ | CREATE ALIAS | |
CREATE AUDIT | × | × | ○ | ○ | CREATE AUDIT | |
CREATE CONNECTION SECURITY | × | × | ○ | ○ | CREATE CONNECTION SECURITY | |
CREATE FOREIGN INDEX | × | × | ○ | ○ | CREATE FOREIGN INDEX | |
CREATE FOREIGN TABLE | × | × | ○ | ○ | CREATE FOREIGN TABLE | |
CREATE FUNCTION | × | × | ○ | ○ | CREATE FUNCTION | |
CREATE PUBLIC FUNCTION | × | × | ○ | ○ | CREATE FUNCTION | |
CREATE INDEX | × | × | ○ | ○ | CREATE INDEX | |
CREATE PROCEDURE | × | × | ○ | ○ | CREATE PROCEDURE | |
CREATE PUBLIC PROCEDURE | × | × | ○ | ○ | CREATE PROCEDURE | |
CREATE SCHEMA | × | × | ○ | ○ | CREATE SCHEMA | |
CREATE SEQUENCE | × | × | ○ | ○ | CREATE SEQUENCE | |
CREATE SERVER | × | × | ○ | ○ | CREATE SERVER | |
CREATE TABLE | × | × | ○ | ○ | CREATE TABLE | |
CREATE TRIGGER | × | × | ○ | ○ | CREATE TRIGGER | |
CREATE TYPE | × | × | ○ | ○ | CREATE TYPE | |
CREATE USER MAPPING | × | × | ○ | ○ | CREATE USER MAPPING | |
CREATE VIEW | × | × | ○ | ○ | CREATE VIEW | |
CREATE PUBLIC VIEW | × | × | ○ | ○ | CREATE VIEW | |
DROP ALIAS | × | × | ○ | ○ | DROP ALIAS | |
DROP AUDIT | × | × | ○ | ○ | DROP AUDIT | |
DROP CONNECTION SECURITY | × | × | ○ | ○ | DROP CONNECTION SECURITY | |
DROP DATA TYPE | × | × | ○ | ○ | DROP DATA TYPE | |
DROP FOREIGN INDEX | × | × | ○ | ○ | DROP FOREIGN INDEX | |
DROP FOREIGN TABLE | × | × | ○ | ○ | DROP FOREIGN TABLE | |
DROP FUNCTION | × | × | ○ | ○ | DROP FUNCTION | |
DROP PUBLIC FUNCTION | × | × | ○ | ○ | DROP FUNCTION | |
DROP INDEX | × | × | ○ | ○ | DROP INDEX | |
DROP PROCEDURE | × | × | ○ | ○ | DROP PROCEDURE | |
DROP PUBLIC PROCEDURE | × | × | ○ | ○ | DROP PROCEDURE | |
DROP SCHEMA | × | × | ○ | ○ | DROP SCHEMA | |
DROP SEQUENCE | × | × | ○ | ○ | DROP SEQUENCE | |
DROP SERVER | × | × | ○ | ○ | DROP SERVER | |
DROP TABLE | × | × | ○ | ○ | DROP TABLE | |
DROP TRIGGER | × | × | ○ | ○ | DROP TRIGGER | |
DROP USER MAPPING | × | × | ○ | ○ | DROP USER MAPPING | |
DROP VIEW | × | × | ○ | ○ | DROP VIEW | |
DROP PUBLIC VIEW | × | × | ○ | ○ | DROP VIEW | |
GRANT CONNECT | × | × | ○ | ○ | GRANT CONNECT | |
GRANT DBA | × | × | ○ | ○ | GRANT DBA | |
GRANT RDAREA | × | × | ○ | ○ | GRANT RDAREA | |
GRANT SCHEMA | × | × | ○ | ○ | GRANT SCHEMA | |
GRANT アクセス権限 | × | × | ○ | ○ | GRANT ACCESS | |
GRANT AUDIT | × | × | ○ | ○ | GRANT AUDIT | |
REVOKE CONNECT | × | × | ○ | ○ | REVOKE CONNECT | |
REVOKE DBA | × | × | ○ | ○ | REVOKE DBA | |
REVOKE RDAREA | × | × | ○ | ○ | REVOKE RDAREA | |
REVOKE SCHEMA | × | × | ○ | ○ | REVOKE SCHEMA | |
REVOKE アクセス権限 | × | × | ○ | ○ | REVOKE ACCESS | |
操作系 SQL |
ALLOCATE CURSOR文 | × | × | × | ○ | ALLOCATE CURSOR |
ASSIGN LIST文 | × | × | ○ | ○ | ASSIGN LIST | |
CALL文 | ○ | ○ | ○ | ○ | CALL | |
CLOSE文 | ○ | ○ | × | × | CLOSE | |
× | × | ○ | ○ | (カーソルに指定したSQL種別の,この項目を参照してください) | ||
DEALLOCATE PREPARE文 | × | × | × | ○ | − | |
DECLARE CURSOR | ○ | × | × | × | DECLARE CURSOR | |
× | × | ○ | ○ | (動的SELECT文の,この項目を参照してください) | ||
DELETE文 | ○ | ○ | ○ | ○ | DELETE | |
準備可能動的DELETE文:位置付け | × | × | ○ | ○ | DELETE | |
DESCRIBE文 | × | × | ○ | ○ | (DESCRIBE文に指定したSQL種別の,この項目を参照してください) | |
DESCRIBE CURSOR文 | × | × | ○ | ○ | (DESCRIBE CURSOR文に指定したSQL種別の,この項目を参照してください) | |
DESCRIBE TYPE文 | × | × | ○ | ○ | (DESCRIBE TYPE文に指定したSQL種別の,この項目を参照してください) | |
DROP LIST文 | × | × | ○ | ○ | DROP LIST | |
EXECUTE文 | × | × | ○ | ○ | (EXECUTE文で実行したSQL種別の,この項目を参照してください) | |
EXECUTE IMMEDIATE文 | × | × | ○ | ○ | (EXECUTE IMMEDIATE文で実行したSQL種別の,この項目を参照してください) | |
FETCH文 | ○ | ○ | × | × | FETCH | |
× | × | ○ | ○ | (カーソルに指定したSQL種別の,この項目を参照してください) | ||
FREE LOCATOR文 | × | × | ○ | ○ | FREE LOCATOR | |
INSERT文 | ○ | ○ | ○ | ○ | INSERT | |
OPEN文 | ○ | ○ | × | × | OPEN | |
× | × | ○ | ○ | (カーソルに指定したSQL種別の,この項目を参照してください) | ||
PREPARE文 | ○ | ○ | ○ | ○ | (PREPARE文に指定したSQL種別の,この項目を参照してください) | |
PURGE TABLE文 | ○ | ○ | ○ | ○ | PURGE TABLE | |
1行SELECT文 | ○ | ○ | ○ | ○ | SELECT | |
動的SELECT文 | × | × | ○ | ○ | SELECT | |
UPDATE文 | ○ | ○ | ○ | ○ | UPDATE | |
準備可能動的UPDATE文:位置付け | × | × | ○ | ○ | UPDATE | |
代入文 | ○ | ○ | ○ | ○ | SET | |
制御系 SQL |
CALL COMMAND文 | ○ | ○ | ○ | ○ | CALL COMMAND |
COMMIT文 | ○ | ○ | ○ | ○ | COMMIT | |
CONNECT文 | × | × | × | × | − | |
DISCONNECT文 | × | × | × | × | − | |
LOCK文 | ○ | ○ | ○ | ○ | LOCK TABLE | |
RDノード指定CONNECT文 | × | × | × | ○ | CONNECT to RDNODE | |
RDノード指定DISCONNECT文 | × | × | × | ○ | DISCONNECT to RDNODE | |
ROLLBACK文 | ○ | ○ | ○ | ○ | ROLLBACK | |
SET CONNECTION文 | × | × | × | ○ | SET CONNECTION | |
SET SESSION AUTHORIZATION文 | × | × | ○ | ○ | SET SESSION AUTHORIZATION | |
埋込み 言語 文法 |
BEGIN DECLARE SECTION | × | × | × | × | − |
END DECLARE SECTION | × | × | × | × | (該当しません) | |
ALLOCATE CONNECTION HANDLE | × | × | × | × | − | |
FREE CONNECTION HANDLE | × | × | × | × | − | |
DECLARE CONNECTION HANDLE SET | × | × | × | × | (該当しません) | |
DECLARE CONNECTION HANDLE UNSET | × | × | × | × | (該当しません) | |
GET CONNECTION HANDLE | × | × | × | × | − | |
COPY | × | × | × | × | (該当しません) | |
GET DIAGNOSTICS | × | × | × | × | − | |
COMMAND EXECUTE | × | × | × | × | − | |
SQL先頭子 | × | × | × | × | (該当しません) | |
SQL終了子 | × | × | × | × | (該当しません) | |
WHENEVER | × | × | × | × | − | |
SQLCODE変数 | × | × | × | × | (該当しません) | |
SQLSTATE変数 | × | × | × | × | (該当しません) | |
PDCNCTHDL型変数の宣言 | × | × | × | × | (該当しません) | |
INSTALL JAR | × | × | ○ | ○ | INSTALL JAR | |
REPLACE JAR | × | × | ○ | ○ | REPLACE JAR | |
REMOVE JAR | × | × | ○ | ○ | REMOVE JAR | |
INSTALL CLIB | × | × | ○ | ○ | INSTALL CLIB | |
REPLACE CLIB | × | × | ○ | ○ | REPLACE CLIB | |
REMOVE CLIB | × | × | ○ | ○ | REMOVE CLIB | |
DECLARE AUDIT INFO SET | × | × | × | × | (該当しません) | |
ルーチ ン制御 SQL |
SQL変数宣言 | ○ | ○ | × | × | DECLARE |
カーソル宣言 | ○ | × | × | × | DECLARE CURSOR | |
○ | ○ | × | × | SELECT | ||
条件宣言 | ○ | × | × | × | DECLARE CONDITION | |
ハンドラ宣言 | ○ | × | × | × | DECLARE HANDLER | |
SQL手続き文 | ○ | ○ | × | × | (SQL手続き文に指定したSQL種別の,この項目を参照してください) | |
複合文 | ○ | ○ | × | × | BEGIN | |
IF文 | ○ | ○ | × | × | IF | |
LEAVE文 | ○ | ○ | × | × | LEAVE | |
RETURN文 | ○ | ○ | × | × | RETURN | |
WHILE文 | ○ | ○ | × | × | WHILE | |
FOR文 | ○ | ○ | × | × | FOR | |
WRITE LINE文 | ○ | ○ | × | × | WRITE LINE | |
SIGNAL文 | ○ | ○ | × | × | SIGNAL | |
RESIGNAL文 | ○ | ○ | × | × | RESIGNAL | |
上記に分類できない場合 | ○ | ○ | ○ | ○ | 半角空白 |
共通規則
使用例
直前に実行したCREATE FUNCTIONの次の診断情報を取得します。
CREATE FUNCTION NEXTDAY(INDATE DATE,曜日 NCHAR) RETURNS DATE BEGIN DECLARE SDOW,TDOW INTEGER; SET TDOW=(CASE 曜日 WHEN N'日' THEN 0 WHEN N'月' THEN 1 WHEN N'火' THEN 2 WHEN N'水' THEN 3 WHEN N'木' THEN 4 WHEN N'金' THEN 5 ELSE 6 END); SET SDOW=MOD(DAYS(INDATE),7); RETURN (INDATE + (CASE WHEN TDOW>SDOW THEN TDOW-SDOW ELSE 7+TDOW-SDOW END) DAYS); END GET DIAGNOSTICS EXCEPTION 1 :XSQLCODE=RETURN_SQLCODE, :XPOSITION=ERROR_POSITION, :XSQL_NO=ERROR_SQL_NO, :XSQL=ERROR_SQL, :XMESSAGE=MESSAGE_TEXT
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.