ヘッダーをスキップ
Oracle Rdb SQLリファレンス・マニュアル
リリース7.2
E06178-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

付録C
SQL通信領域(SQLCA)およびメッセージ・ベクター

SQLCAおよびメッセージ・ベクターは、SQLがINCLUDE SQLCA文をプリコンパイルの際に宣言する2つの個別のホスト構造体です。

SQLCAおよびメッセージ・ベクターはともにエラー処理の方法を備えています。

SQLでは、すべての実行SQL文の完了後、SQLCAの内容およびメッセージ・ベクターを更新します(非実行可能文は、DECLARE文、WHENEVER文およびINCLUDE文です)。

プログラムでINCLUDE SQLCA文を使用する必要はありません。ただし、使用しない場合は、SQLCODEパラメータを明示的に宣言してSQLから値を受け取る必要があります。SQLCODEは、スケールなし符号付きロングワード整数として明示的に宣言されます。

SQLCODEはANSI/ISO SQL規格の廃止予定の機能であり、SQLSTATEに置き換えられています。ANSI/ISO SQL規格に準拠するには、INCLUDE SQLCA文を使用するかわりにSQLCODEまたはSQLSTATE(SQLSTATEが望ましい)を明示的に宣言する必要があります。SQLCA(およびINCLUDE SQLCA文)は、ANSI/ISO SQL規格には組み込まれていません。SQLCODEまたはSQLSTATEを宣言する場合にINCLUDE SQLCA文を使用すると、SQLではSQLCAが使用されます。

INCLUDE SQLCA文を使用しないプログラムには、プリコンパイラによって宣言されたメッセージ・ベクターがありません。そのようなプログラムは、次のような場合、メッセージ・ベクターを明示的に宣言する必要があります。

メッセージ・ベクターは、ANSI/ISO SQL規格には組み込まれていません。

SQLCA構造体がプログラムによって明示的に宣言されると、SQLではSQLERRDフィールドを更新しません。SQLERRDフィールドを更新する場合は、EXEC SQL INCLUDE SQLCA文を使用してプログラムにSQLCA定義を組み込みます。

SQLCAおよびメッセージ・ベクターの詳細は、付録C.1節および付録C.2節を参照してください。付録C.3節は、SQLが様々なホスト言語プログラムで行う宣言を示しています。

C.1 SQLCA

SQLCAでの対象となる唯一のフィールドは、SQLCODEフィールドおよびSQLERRD配列の2〜6番目の要素です。

例C-1は、「attempt to fetch past end of stream」というエラーの後のSQLCAに対する対話型SQLの表示を示しています。

例C-1 SQLCAのフィールド

SQL> SHOW SQLCA
SQLCA:
        SQLCAID:        SQLCA           SQLCABC:        128
        SQLCODE:        100
        SQLERRD:        [0]: 0
                        [1]: 0
                        [2]: 0
                        [3]: 0
                        [4]: 0
                        [5]: 0
        SQLWARN0:       0       SQLWARN1:       0       SQLWARN2:       0
        SQLWARN3:       0       SQLWARN4:       0       SQLWARN5:       0
        SQLWARN6:       0       SQLWARN7:       0
        SQLSTATE:       02000

SQLSTATEはSQLCAに組み込まれていませんが表示には出現します。

この項のこれ以降では、SQLCAのフィールドについて説明します。


SQLCAのフィールド

SQLCAID

8文字のフィールドで、値は常に文字列SQLCAです。FORTRAN SQLCAはこのフィールドに含まれません。

SQLCABC

整数フィールドで、値は常にSQLCAの長さ(バイト)です。値は常に128です。FORTRAN SQLCAはこのフィールドに含まれません。

SQLCODE

整数フィールドで、値は直前に実行したSQL文によって返されたエラー・ステータスを示します。100以外の正の値は警告、負の値はエラー、ゼロは正常な実行を示します。

表C-1に、SQLによってSQLCODEフィールドに返される数値およびリテラル値を示し、値の意味を説明します。

表C-1 SQLCODEフィールドに返される値
数値 リテラル値 意味
正常な実行のステータス・コード
0 SQLCODE_SUCCESS 文が正常に完了した。
警告のステータス・コード
100 SQLCODE_EOS SELECT文またはカーソルがストリームの最後に到達した。
1003 SQLCODE_ELIM_NULL1 集合関数でNULL値が削除された。
1004 SQLCODE_TRUN_RTRV1 割当て中に文字列が切り捨てられた。これはデータ取得中にのみ発生する。
エラーのステータス・コード
--1 SQLCODE_RDBERR Oracle Rdbによってエラーが返された。--1の値は一般エラーSQLCODE値で、この表の他の値に該当しないエラーによって返される。意味のあるエラーを返すには、sql_signalまたはsql_get_error_textを使用する。
--304 SQLCODE_OUTOFRAN 値はホスト変数の範囲外である。
--305 SQLCODE_NULLNOIND 標識変数なしでホスト言語変数にNULL値を格納しようとした。
--306 SQLCODE_STR_DAT_TRUNC1 文字列データの右端を切り捨てた。
--307 SQLCODE_INV_DATETIME 日時書式が無効である。
--501 SQLCODE_CURNOTOPE カーソルがオープンしていない。
--502 SQLCODE_CURALROPE カーソルがすでにオープンしている。
--507 SQLCODE_UDCURNOPE UPDATEまたはDELETE操作のカーソルがオープンしていない。
--508 SQLCODE_UDCURNPOS UPDATEまたはDELETE操作のカーソルが行に配置されていない。
--509 SQLCODE_UDCURDEL UPDATEまたはDELETE操作のカーソルが削除された行に配置されていない。
--803 SQLCODE_NO_DUP 更新すると一意索引が重複する。
--811 SQLCODE_SELMORVAL シングルトン選択により複数の値が返された。
--817 SQLCODE_ROTXN 読取り専用トランザクションから更新しようとした。
--913 SQLCODE_DEADLOCK リソースのデッドロックのためリクエストが失敗した。
--1001 SQLCODE_INTEG_FAIL 制約が失敗した。
--1002 SQLCODE_NOT_VALID Valid-ifが失敗した。
--1003 SQLCODE_LOCK_CONFLICT リソースがロックされているため、NO WAITリクエストが失敗した。
--1004 SQLCODE_BAD_TXN_STATE 無効なトランザクション状態。トランザクションはすでに開始されている。
--1005 SQLCODE_NO_TXN アクティブなトランザクションがない。
--1006 SQLCODE_BAD_VERSION 基底システムのバージョンが、この問合せで使用する機能をサポートしていない。
--1007 SQLCODE_TRIG_ERROR トリガーによって強制的にエラーが発生した。
--1008 SQLCODE_NOIMPTXN 未処理の暗黙的分散トランザクションがない。
--1009 SQLCODE_DISTIDERR 分散トランザクションIDエラー。
--1010 SQLCODE_BAD_CTX_VER コンテキスト構造体のバージョン・フィールドが誤って定義されている。
--1011 SQLCODE_BAD_CTX_TYPE コンテキスト構造体のタイプ・フィールドが誤って定義されている。
--1012 SQLCODE_BAD_CTX_LEN コンテキスト構造体の長さフィールドが誤って定義されている。
--1013 SQLCODE_BASROWDEL リストを含む行が削除されている。
--1014 SQLCODE_DIFFDEFINV モジュールの実行者が定義者(モジュールをコンパイルしたユーザー)と異なる。
--1015 SQLCODE_STMTNOTPRE 動的文が用意されていない。
--1016 SQLCODE_NOSUCHCONN 接続が存在しない。
--1017 SQLCODE_CONNAMEXI 接続名がすでに存在する。
--1018 SQLCODE_DBENVSYNERR データベースの環境指定に構文エラーがある。
--1019 SQLCODE_DBSPECSYNERR データベース指定に構文エラーがある。
--1020 SQLCODE_ATTACHERR データベースとのアタッチ中にエラーが発生した。
--1021 SQLCODE_NOSUCHALIAS 別名が不明。
--1022 SQLCODE_ALIASINUSE 別名はすでに宣言されている。
--1023 SQLCODE_COLEXISTS 列がすでに表に存在する。
--1024 SQLCODE_COLNOTDEF 列が表に定義されていない。
--1025 SQLCODE_TBLEXISTS 表がすでにデータベースまたはスキーマに存在する。
--1026 SQLCODE_DOMEXISTS ドメインはすでにデータベースまたはスキーマに存在する。
--1027 SQLCODE_DOMNOTDEF ドメインがデータベースまたはスキーマに定義されていない。
--1028 SQLCODE_NO_PRIV 試行した操作に対する権限がない。
--1029 SQLCODE_BAD_LENGTH 列に対して負の長さが指定されている。
--1030 SQLCODE_BAD_SCALE 列に対して負のスケールが指定されている。
--1031 SQLCODE_RO_TABLE 読取り専用表を更新しようとした。
--1032 SQLCODE_OBSMETADATA メタデータは存在しない。
--1033 SQLCODE_UNRES_REL 表がトランザクションに予約されていない。
--1034 SQLCODE_CASENOTFND Caseが見つからない。WHENが指定されていない。
--1035 SQLCODE_CHKOPT_VIOL チェック・オプションに伴う整数の障害。
--1036 SQLCODE_UNTERM_C_STR Cの文字列が終了していない。
--1037 SQLCODE_INDIC_OVFLOW インジケータがオーバーフローしている。
--1038 SQLCODE_INV_PARAM_VAL 無効なパラメータ値。
--1039 SQLCODE_NULL_ELIMIN 集合関数でNULLが削除された。
--1040 SQLCODE_INV_ESC_SEQ 無効なエスケープ・シーケンス。
--1041 SQLCODE_RELNOTDEF 表がデータベースまたはスキーマに定義されていない。


1SQL92およびSQL99言語のみがこの値を返します。

プログラムでリテラル値を使用して、正常な実行、レコード・ストリームの最後の警告または特定のエラーを検証できます。使用しているプログラムで、特定のエラー・コードを検証し、返されるエラー・コードに応じて様々なエラー処理文のセットを実行します。ただし、表C-1の値は可能性のあるすべてのエラーや警告を反映していないため、使用しているプログラムで負の値がないか検証する必要があります。

SQLでは、SQL文の実行時に、SQLCA構造体とともにRDBメッセージ・ベクター(付録C.2節を参照)を挿入します。

また、文字列切捨て条件が報告されるのは、対話型SQLでデータベース・アタッチの前に言語がSQL92またはSQL99に設定される場合、またはアプリケーションがコンパイルされる場合のみです。次に例を示します。


SQL> SET DIALECT 'SQL99';
SQL> ATTACH 'FILENAME mf_personnel';
SQL> DECLARE :ln CHAR(10);
SQL> SELECT last_name INTO :ln FROM employees WHERE employee_id = '00164';
%RDB-I-TRUN_RTRV, string truncated during assignment to a variable or parameter
SQL> SHOW SQLCA
SQLCA:
        SQLCAID:        SQLCA           SQLCABC:        128
        SQLCODE:        1004
        SQLERRD:        [0]: 0
                        [1]: 0
                        [2]: 1
                        [3]: 0
                        [4]: 0
                        [5]: 0
        SQLWARN0:       0       SQLWARN1:       0       SQLWARN2:       0
        SQLWARN3:       0       SQLWARN4:       0       SQLWARN5:       0
        SQLWARN6:       0       SQLWARN7:       0
        SQLSTATE:       01004
%RDB-I-TRUN_RTRV, string truncated during assignment to a variable or parameter

SQLでは、各言語について、表C-1のようなすべてのエラー・リテラルの宣言を含むファイルが用意されています。このファイルをプリコンパイルされたSQLおよびモジュール言語プログラムに組み込みます。

表C-2は、このファイルをプログラムに組み込む方法を示しています。

表C-2 プログラムへのエラー・リテラル・ファイルの組込み
プリコンパイルされたまたはモジュール言語 宣言
Ada with SQL_SQLCODE;
with SQL_SQLDA;
with SQL_SQLDA2;1
BASIC %INCLUDE "sys$library:sql_literals.bas"
C #include "sys$library:sql_literals.h"
COBOL COPY 'SYS$LIBRARY:SQL_LITERALS'
FORTRAN INCLUDE 'SYS$LIBRARY:SQL_LITERALS.FOR'
Pascal %include 'sys$library:sql_literals.pas'
PL/I %INCLUDE 'sys$library:sql_literals.pli';


1プログラムで使用する前にAdaパッケージSYS$LIBRARY:SQL_LITERALS.ADAをコンパイルする必要があります。動的SQLを使用する場合は、単にSQL_SQLDAおよびSQL_SQLDA2を宣言します。

ファイルには、エラー・リテラルに加えてSQLDAのSQLTYPEフィールドの宣言が含まれています。SQLTYPEフィールドの詳細は、付録Dを参照してください。

例C-2は、COBOLプログラムにエラー・リテラル・ファイルを組み込む方法を示しています。

例C-2 COBOLプログラムへのエラー・リテラルの組込み

IDENTIFICATION DIVISION.
PROGRAM-ID. LITERAL-TESTS.
*
* This program tests the use of symbolic literals for SQLCODE and
* SQLDA_DATATYPE.  All the literal definitions are part of a file that
* is used with the COPY command.
*
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY SQL_LITERALS.
EXEC SQL INCLUDE SQLCA END-EXEC.
01 CDE          PIC X(5).
01 DISP_SQLCODE PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
01 GETERRVARS.
           02  error-buffer-len         PIC S9(9) COMP VALUE 132.
           02  error-msg-len            PIC S9(9) COMP.
           02  error-buffer             PIC X(132).


exec sql whenever sqlerror continue end-exec.

PROCEDURE DIVISION.

*
* test for sqlcode -501 SQLCODE_CURNOTOPE
*
        exec sql declare A cursor for
                select college_code from colleges
                where college_name like 'D%' order by 1
        end-exec.
        exec sql fetch A into :CDE end-exec.
        if sqlcode = SQLCODE_CURNOTOPE
        then
            MOVE sqlcode to DISP_SQLCODE
            DISPLAY "SQLCODE after attempt to fetch is ", DISP_SQLCODE
        CALL "sql_get_error_text" USING BY REFERENCE error-buffer,
                                        BY VALUE error-buffer-len,
                                        BY REFERENCE error-msg-len.
            DISPLAY BUFFER(1:error-msg-len)
        end-if.
        exec sql close A end-exec.
*
* test for SQLCODE 0 SQLCODE_SUCCESS
*
        exec sql
        insert into employees (employee_id, last_name, sex)
            values ('00999','Jones','M')
        end-exec.
        if sqlcode = SQLCODE_SUCCESS
        then
            MOVE sqlcode to DISP_SQLCODE
            DISPLAY "SQLCODE after insert is ", DISP_SQLCODE
        CALL "sql_get_error_text" USING BY REFERENCE error-buffer,
                                        BY VALUE error-buffer-len,
                                        BY REFERENCE error-msg-len.
            DISPLAY BUFFER(1:error-msg-len)
        end-if.

        EXEC SQL ROLLBACK END-EXEC.
        STOP RUN.

SQLERRM

SQLERRMは、SQLERRMLというワードのフィールドおよびSQLERRMCという70文字のフィールドの2つのフィールドを持つ構造体です。

SQLERRD[x]

PREPARE文は、すべての言語の文タイプのあるSQLERRM[0]フィールドを更新します。対応する記号名およびSQL文とともに、数値コードを表C-3に示します。

用意している文がINTO句を指定したSELECT文である場合は、SQLCAフィールドのSQLWARN6には文字「I」が格納されます。そのようなシングルトンSELECT文は、カーソルを使用せずに実行できます。

動的SQLを使用すると、SQLではDESCRIBE文の実行後に第2要素(SQLERRD[1])に値を入れます。値は次のような意味を表します。

SQLでは次の文を正常に実行した後、第3要素(SQLERRD[2])に値を入れます。

SQLでは表のカーソルについてOPEN文を正常に実行した後、第3および第4要素に次の値を入れます。

アプリケーション・モジュールを再コンパイルして、SQLERRD[2]およびSQLERRD[3]の新規の値を返せるようにする必要があります。

SQLではリスト・カーソルをオープンするOPEN文を正常に実行した後、第2、第4、第5および第6要素に次の値を入れます。

SQLでは、FETCH文を正常に実行した後は、SQLERRD配列の第6要素には意味のあるデータを入れません。

LISTカーソル・フェッチのSQLERRD[1]では、オクテットでセグメント・サイズが返されます。

エラー文の後やその他の場合、SQLERRDの値は未定義です。

SQLWARNx

SQLが使用しない一連の1文字のフィールドで、数値は0〜7です。

表C-3 SQLCA SQLERRD [0]の値
記号名+ SQL文
  0 Statement is unknown
SQL_K_OCTRDB_CONNECT -1 Rdb Connect
SQL_K_OCTRDB_ATTACH -2 Rdb Attach
SQL_K_OCTRDB_DISCONNECT -3 Rdb Disconnect
SQL_K_OCTRDB_CREATE_MODULE -4 Rdb Create Module
SQL_K_OCTRDB_ALTER_MODULE -5 Rdb Alter Module
SQL_K_OCTRDB_DROP_MODULE -6 Rdb Drop Module
SQL_K_OCTRDB_CREATE_DOMAIN -7 Rdb Create Domain
SQL_K_OCTRDB_ALTER_DOMAIN -8 Rdb Alter Domain
SQL_K_OCTRDB_DROP_DOMAIN -9 Rdb Drop Domain
SQL_K_OCTRDB_CREATE_CATALOG -10 Rdb Create Catalog
SQL_K_OCTRDB_ALTER_CATALOG -11 Rdb Alter Catalog
SQL_K_OCTRDB_DROP_CATALOG -12 Rdb Drop Catalog
SQL_K_OCTRDB_ALTER_SCHEMA -13 Rdb Alter Schema
SQL_K_OCTRDB_DROP_SCHEMA -14 Rdb Drop Schema
SQL_K_OCTRDB_SET_SESSION -15 Rdb Set Session Authorization
SQL_K_OCTCTB 1 create table
SQL_K_OCTINS 2 insert
SQL_K_OCTSEL 3 select
SQL_K_OCTCCL 4 create cluster
SQL_K_OCTACL 5 alter cluster
SQL_K_OCTUPD 6 update
SQL_K_OCTDEL 7 delete
SQL_K_OCTDCL 8 drop cluster
SQL_K_OCTCIX 9 create index
SQL_K_OCTDIX 10 drop index
SQL_K_OCTAIX 11 alter index
SQL_K_OCTDTB 12 drop table
SQL_K_OCTCSQ 13 create sequence
SQL_K_OCTASQ 14 alter sequence
SQL_K_OCTATB 15 alter table
SQL_K_OCTDSQ 16 drop sequence
SQL_K_OCTGRA 17 grant
SQL_K_OCTREV 18 revoke
SQL_K_OCTCSY 19 create synonym
SQL_K_OCTDSY 20 drop synonym
SQL_K_OCTCVW 21 create view
SQL_K_OCTDVW 22 drop view
SQL_K_OCTVIX 23 validate index
SQL_K_OCTCPR 24 create procedure
SQL_K_OCTAPR 25 alter procedure
SQL_K_OCTLTB 26 lock table
SQL_K_OCTNOP 27 no operation
SQL_K_OCTRNM 28 rename
SQL_K_OCTCMT 29 comment
SQL_K_OCTAUD 30 audit
SQL_K_OCTNOA 31 noaudit
SQL_K_OCTCED 32 create database link
SQL_K_OCTDED 33 drop database link
SQL_K_OCTCDB 34 create database
SQL_K_OCTADB 35 alter database
SQL_K_OCTCRS 36 create rollback segment
SQL_K_OCTARS 37 alter rollback segment
SQL_K_OCTDRS 38 drop rollback segment
SQL_K_OCTCTS 39 create tablespace
SQL_K_OCTATS 40 alter tablespace
SQL_K_OCTDTS 41 drop tablespace
SQL_K_OCTASE 42 alter session
SQL_K_OCTAUR 43 alter user
SQL_K_OCTCWK 44 commit
SQL_K_OCTROL 45 rollback
SQL_K_OCTSPT 46 savepoint
SQL_K_OCTPLS 47 pl/sql execute
SQL_K_OCTSET 48 set transaction
SQL_K_OCTASY 49 alter system switch log
SQL_K_OCTXPL 50 explain
SQL_K_OCTCUS 51 create user
SQL_K_OCTCRO 52 create role
SQL_K_OCTDUS 53 drop user
SQL_K_OCTDRO 54 drop role
SQL_K_OCTSER 55 set role
SQL_K_OCTCSC 56 create schema
SQL_K_OCTCCF 57 create control file
SQL_K_OCTATR 58 Alter tracing
SQL_K_OCTCTG 59 create trigger
SQL_K_OCTATG 60 alter trigger
SQL_K_OCTDTG 61 drop trigger
SQL_K_OCTANT 62 analyze table
SQL_K_OCTANI 63 analyze index
SQL_K_OCTANC 64 analyze cluster
SQL_K_OCTCPF 65 create profile
SQL_K_OCTDPF 66 drop profile
SQL_K_OCTAPF 67 alter profile
SQL_K_OCTDPR 68 drop procedure
SQL_K_OCTARC 70 alter resource cost
SQL_K_OCTCSL 71 create snapshot log
SQL_K_OCTASL 72 alter snapshot log
SQL_K_OCTDSL 73 drop snapshot log
SQL_K_OCTCSN 74 create snapshot
SQL_K_OCTASN 75 alter snapshot
SQL_K_OCTDSN 76 drop snapshot
SQL_K_OCTCTY 77 create type
SQL_K_OCTDTY 78 drop type
SQL_K_OCTARO 79 alter role
SQL_K_OCTATY 80 alter type
SQL_K_OCTCYB 81 create type body
SQL_K_OCTAYB 82 alter type body
SQL_K_OCTDYB 83 drop type body
SQL_K_OCTDLB 84 drop library
SQL_K_OCTTTB 85 truncate table
SQL_K_OCTTCL 86 truncate cluster
SQL_K_OCTCBM 87 create bitmapfile
SQL_K_OCTAVW 88 alter view
SQL_K_OCTDBM 89 drop bitmapfile
SQL_K_OCTSCO 90 set constraints
SQL_K_OCTCFN 91 create function
SQL_K_OCTAFN 92 alter function
SQL_K_OCTDFN 93 drop function
SQL_K_OCTCPK 94 create package
SQL_K_OCTAPK 95 alter package
SQL_K_OCTDPK 96 drop package
SQL_K_OCTCPB 97 create package body
SQL_K_OCTAPB 98 alter package body
SQL_K_OCTDPB 99 drop package body
SQL_K_OCTCDR 157 create directory
SQL_K_OCTDDR 158 drop directory
SQL_K_OCTCLB 159 create library
SQL_K_OCTCJV 160 create java
SQL_K_OCTAJV 161 alter java
SQL_K_OCTDJV 162 drop java
SQL_K_OCTCOP 163 create operator
SQL_K_OCTCIT 164 create indextype
SQL_K_OCTDIT 165 drop indextype
SQL_K_OCTAIT 166 reserver for alter indextype
SQL_K_OCTDOP 167 drop operator
SQL_K_OCTAST 168 associate statistics
SQL_K_OCTDST 169 disassociate statistics
SQL_K_OCTCAL 170 call method
SQL_K_OCTCSM 171 create summary
SQL_K_OCTASM 172 alter summary
SQL_K_OCTDSM 173 drop summary
SQL_K_OCTCDM 174 create dimension
SQL_K_OCTADM 175 alter dimension
SQL_K_OCTDDM 176 drop dimension
SQL_K_OCTCCT 177 create context
SQL_K_OCTDCT 178 drop context
SQL_K_OCTASO 179 alter outline
SQL_K_OCTCSO 180 create outline
SQL_K_OCTDSO 181 drop outline
SQL_K_OCTAOP 183 alter operator
SQL_K_OCTCEP 184 create encryption profile
SQL_K_OCTAEP 185 alter encryption profile
SQL_K_OCTDEP 186 drop encryption profile
SQL_K_OCTCSP 187 create spfile from pfile
SQL_K_OCTCPS 188 create pfile from spfile
SQL_K_OCTUPS 189 merge
SQL_K_OCTCPW 190 change password
SQL_K_OCTUJI 191 update join index
SQL_K_OCTASYN 192 alter synonym
SQL_K_OCTADG 193 alter disk group
SQL_K_OCTCDG 194 create disk group
SQL_K_OCTDDG 195 drop disk group
SQL_K_OCTALB 196 alter library
SQL_K_OCTPRB 197 purge user recyclebin
SQL_K_OCTPDB 198 purge dba recyclebin
SQL_K_OCTPTS 199 purge tablespace
SQL_K_OCTPTB 200 purge table
SQL_K_OCTPIX 201 purge index
SQL_K_OCTUDP 202 undrop object
SQL_K_OCTDDB 203 drop database
SQL_K_OCTFBD 204 flashback database
SQL_K_OCTFBT 205 flashback table


+正の値はOracle 10gとの互換性を目的として定義されています。Oracle Rdbですべての文がサポートされているわけではなく、したがって、SQLCAにすべての値が表示されるわけではありません。負の値はOracle Rdb固有の値です。