SQL Engine Reference (v11)

dbo.fSQLPrimaryKeys

この関数は、テーブルの主キーを構成する列名を結果セットとして返します。dbo.fSQLPrimaryKeys では、1 回の呼び出しで複数のテーブルから主キーを返すことはできません。

構文

dbo.fSQLPrimaryKeys (<'pkey_table_qualifier' | null>, 
<'table_name' | null>) 

引数

表 113 dbo.fSQLPrimaryKeys の引数
パラメーター
データ型
デフォルト値
説明
pkey_table_qualifier
VARCHAR
現在のデータベース
詳細を取得するデータベースの名前。
table_name
VARCHAR
(デフォルト値なし)
主キー情報を要求するテーブルの名前。パターン検索がサポートされます(文字列検索パターンを参照してください)。

返される結果セット

表 114 dbo.fSQLPrimaryKeys で返される結果セット
列名
データ型
説明
TABLE_QUALIFIER
VARCHAR
データベースの名前。データベースに適用されない場合は NULL。
TABLE_OWNER
VARCHAR
主キー テーブルのオーナーの名前。データベースに適用されない場合は NULL。
TABLE_NAME
NULL でない VARCHAR
主キー テーブルの名前
COLUMN_NAME
NULL でない VARCHAR
主キー列の名前。名前のない列については、空文字列が返されます。
COLUMN_SEQ
NULL でない SMALLINT
キーにおける列のシーケンス番号(1 から始まります)。
PK_NAME
VARCHAR
主キーの名前。データベースに適用されない場合は NULL。

次の例では、DEMODATA サンプル データベースに 2 つのテーブルを作成します。それらのテーブルに外部キーと主キーが割り当てられます。dbo.fSQLPrimaryKeys 関数は、文字列検索パターンを使って 2 つのテーブルを参照します。文字列検索パターンも参照してください。

CREATE TABLE tblprimarykey3 ( tblpk3col1 INT, tblpk3col2 
INT, tblpk3col3 INT, tblpk3col4 INT, PRIMARY KEY 
(tblpk3col1, tblpk3col2) ) 
ALTER TABLE tblprimarykey3 ADD FOREIGN KEY (tblpk3col3, 
tblpk3col4) REFERENCES tblprimarykey3 ON DELETE 
CASCADE 
 
CREATE TABLE tblprimarykey4 ( tblpk4col1 INT, tblpk4col2 
INT, tblpk4col3 INT, tblpk4col4 INT, PRIMARY KEY 
(tblpk4col1, tblpk4col2) ) 
ALTER TABLE tblprimarykey4 ADD FOREIGN KEY (tblpk4col3, 
tblpk4col4) REFERENCES tblprimarykey4 ON DELETE 
CASCADE 
 
SELECT * FROM dbo.fsqlprimarykeys('Demodata', 'tbl%') 
 

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

TABLE_NAME       COLUMN_NAME   KEY_SEQ   PK_NAME       
==============   ===========   =======   ============= 
tblprimarykey3   tblpk3col1          1   PK_tblpk3col1 
tblprimarykey3   tblpk3col2          2   PK_tblpk3col1 
tblprimarykey4   tblpk4col1          1   PK_tblpk4col1 
tblprimarykey4   tblpk4col2          2   PK_tblpk4col1 
 
4 行が影響を受けました。 

dbo.fSQLForeignKeys

dbo.fSQLProcedures