SQL Engine Reference (v11)

dbo.fSQLProcedureColumns

この関数は、入力パラメーターおよび出力パラメーターのリストと、指定されたストアド プロシージャまたはユーザー定義関数の結果セットを構成する列を返します。「CREATE PROCEDURE」「CREATE FUNCTION」 も参照してください。

構文

dbo.fSQLProcedureColumns (<'database_qualifier' | null>, <'procedure_name' | null>,  
    <'procedure_column_name' | null>) 

引数

表 118 dbo.fSQLProcedureColumns の引数
パラメーター
データ型
デフォルト値
説明
database_qualifier
VARCHAR
現在のデータベース
詳細を取得するデータベースの名前。
procedure_name
VARCHAR
(デフォルト値なし)
情報を要求するストアド プロシージャの名前
procedure_column_name
VARCHAR
(デフォルト値なし)
プロシージャの列の名前。


メモ

システム ストアド プロシージャは、Pervasive PSQL Control Center に表示されない内部データベース PERVASIVESYSDB に定義されています。


返される結果セット

表 119 dbo.fSQLProcedureColumns で返される結果セット
列名
データ型
説明
PROCEDURE_QUALIFIER
VARCHAR
プロシージャが作成されたデータベースの名前。データベースに適用されない場合は NULL。
PROCEDURE_OWNER
VARCHAR
プロシージャ スキーマ識別子。データベースに適用されない場合は NULL。
PROCEDURE_NAME
NULL でない VARCHAR
プロシージャ識別子
COLUMN_TYPE
NULL でない SMALLINT
プロシージャ列をパラメーターまたは結果セット列として定義します。
  • 0 = SQL_PARAM_TYPE_UNKNOWN - プロシージャ列は種類が不明なパラメーターです。
  • 1 = SQL_PARAM_INPUT - プロシージャ列は入力パラメーターです。
  • 2 = SQL_PARAM_INPUT_OUTPUT - プロシージャ列は入力/出力パラメーターです。
  • 3 = SQL_RESULT_COL - プロシージャ列は結果セット列です。
  • 4 = SQL_PARAM_OUTPUT - プロシージャ列は出力パラメーターです。
  • 5 = SQL_RETURN_VALUE - プロシージャ列はプロシージャの戻り値です。
DATA_TYPE
NULL でない SMALLINT
ODBC SQL データ型。「Pervasive PSQL で使用できるデータ型」も参照してください。
TYPE_NAME
NULL でない VARCHAR
リレーショナル データ型名。「Pervasive PSQL で使用できるデータ型」も参照してください。
PRECISION
INTEGER
データベース内のプロシージャ列のサイズ。列サイズが適用されないデータ型では、NULL が返されます。「Decimal データ型の精度と小数点以下桁数」も参照してください。
LENGTH
INTEGER
SQL_C_DEFAULT が指定された場合は、SQLGetData または SQLFetch 操作で転送されるデータの長さ(バイト単位)。数値データの場合、このサイズは、データベースに格納されているデータのサイズとは異なる場合があります。「Pervasive PSQL で使用できるデータ型」も参照してください。
SCALE
SMALLINT
データベース内のプロシージャ列の小数点以下の桁数。小数点以下の桁数が適用されないデータ型では、NULL が返されます。「Decimal データ型の精度と小数点以下桁数」も参照してください。
RADIX
SMALLINT
数値データ型の場合は、10 または 2 のいずれかです。
  • 10 - COLUMN_SIZE および DECIMAL_DIGITS の値は、列で許可される小数点以下の桁数を示します。
  • 2 - COLUMN_SIZE および DECIMAL_DIGITS の値は、列で許可されるビット数を示します。
RADIX が適用されないデータ型では、NULL が返されます。
NULLABLE
NULL でない SMALLINT
プロシージャ列がヌル値を受け入れるかどうかを示します。
  • 0 = SQL_NO_NULLS - プロシージャ列はヌル値を受け入れません。
  • 1 = SQL_NULLABLE - プロシージャ列はヌル値を受け入れます。
  • 2 = SQL_NULLABLE_UNKNOWN - プロシージャ列がヌル値を受け入れるかどうかわかりません。
REMARKS
VARCHAR
プロシージャ列の解説。
COLUMN_DEF
VARCHAR
列のデフォルト値。
デフォルト値として NULL が指定された場合、この列は、引用符で囲まれていない単語の NULL になります。デフォルト値を切り捨てなしで表すことができない場合は、一重引用符で囲まれていない TRUNCATED が格納されます。デフォルト値が指定されていない場合は、NULL になります。
SQL_DATA_TYPE
NULL でない SMALLINT
記述子の SQL_DESC_TYPE フィールドに表示される SQL データ型の値。この列は、データ型 DATE、TIME、DATETIME、および TIMESTAMP を除き、TYPE_NAME 列と同じです。
例外とするデータ型について、結果セットの SQL_DATA_TYPE フィールドは次のように値を返します。DATE は SQL_DATE、TIME は SQL_TIME、DATETIME および TIMESTAMP は SQL_TIMESTAMP です。
SQL_DATETIME_SUB
SMALLINT
DATE、TIME、DATETIME、および TIMESTAMP のサブタイプ コード。その他のデータ型について、この列は NULL を返します。
  • 1 = DATE(SQL_CODE_DATE)
  • 2 = TIME(SQL_CODE_TIME)
  • 3 = DATETIME および TIMESTAMP(SQL_CODE_TIMESTAMP)
CHAR_OCTET_LENGTH
INTEGER
文字またはバイナリ データ型列の最大長(バイト単位)。その他すべてのデータ型について、この列は NULL を返します。
ORDINAL_POSITION
NULL でない INTEGER
入力および出力パラメーターについては、プロシージャ定義におけるパラメーターの位置を表す序数(1 から始まり、増加するパラメーター順)。
戻り値がある場合、戻り値については 0 が返されます。結果セット列については、結果セットにおける列の位置を表す序数。この場合、結果セット列の最初の列は 1 から始まります。
IS_NULLABLE
VARCHAR
列に NULL が含まれていない場合は "NO"。
列に NULL が含まれている場合は "YES"。
ヌル値を許可するかどうかわからない場合、この列は長さゼロの文字列を返します。この列に返される値は、NULLABLE 列に返される値とは異なります。

デフォルトで、DEMODATA サンプル データベースにはストアド プロシージャとユーザー定義関数が何も含まれていません。dbo.fSQLProcedureColumns 関数の出力を提供するために、dbo.fSQLProcedures の例で示されているストアド プロシージャとユーザー定義関数を作成してください。この例は、DEMODATA にストアド プロシージャ "curs1"、"Enrollstudent2"、"AInsert"、および "AR" と、ユーザー定義関数 "CalInterest" が含まれていることを前提とします。

次のステートメントは、DEMODATA サンプル データベース内のすべてのストアド プロシージャおよびユーザー定義関数の、すべての列に関する情報を返します。

SELECT * FROM  dbo.fsqlprocedurecolumns ('Demodata', null, null) 

結果セット(スペースを考慮して短縮されています):

PROCEDURE_NAME  COLUMN_NAME  COLUMN_TYPE  DATA_TYPE 
==============  ===========  ===========  ========= 
AInsert         :AGUID                 1         -2 
AInsert         :APeriod               1          4 
AInsert         :BBal                  1         -6 
AInsert         :BCr                   1          3 
AInsert         :BDr                   1          3 
AInsert         :BNet                  1          3 
AInsert         :HTrx                  1         -6 
AInsert         :PCr                   1          3 
AInsert         :PDr                   1          3 
AInsert         :PNet                  1          3 
AR              :BIID                  4          5 
AR              :BName                 1          1 
CalInterest     :period                1          7 
CalInterest     :principle             1          8 
CalInterest     :rate                  1          8 
CalInterest     :RETURN_VALUE          5          8 
curs1           :Arg1                  1          1 
curs1           :Arg2                  1          4 
Enrollstudent2  :Class_Id              1          4 
Enrollstudent2  :Stud_id               1          4 
 
20 行が影響を受けました。 

dbo.fSQLProcedures

dbo.fSQLSpecialColumns