>>-TABLE_SCHEMA---(--objectname----+------------------+--)----->< '-,--objectschema--'
スキーマは SYSIBM です。
TABLE_SCHEMA 関数は、別名連鎖が解決された後で検出されるオブジェクトのスキーマ名を戻します。 指定された objectname (および objectschema) が、 解決の開始点として使用されます。 開始点が別名を参照していない場合は、開始点のスキーマ名が戻されます。 結果のスキーマ名は、表、視点、または未定義オブジェクトのいずれかになります。
objectschema を指定しない場合は、 修飾子にデフォルトのスキーマが使用されます。
この関数の結果のデータ・タイプは VARCHAR(128) です。 objectname がヌル値の可能性がある場合は、 結果もヌル値になる可能性があります。objectname がヌル値であれば、 結果もヌル値になります。 objectschema がヌル値の場合は、デフォルトのスキーマ名が使用されます。 結果は、スキーマ名を表す文字ストリングになります。 結果のスキーマは、次のいずれかのスキーマ名を表します。
objectname の値が、 未定義オブジェクト名 (objectschema の入力値またはデフォルト値が戻される) であったか、 あるいは解決結果が未定義オブジェクトとなり、 そのスキーマ名が戻されることになる別名であった。
したがって、ヌル値以外の objectname 値がこの関数に指定された場合、 結果名のスキーマ名でのオブジェクトが存在していなくても、常に値が戻されます。 たとえば、TABLE_SCHEMA('DEPT', 'PEOPLE') は、 カタログ項目が見つからない場合には、'PEOPLE ' を戻します。
例:
SELECT NPAGES, CARD FROM SYSCAT.TABLES WHERE TABNAME = TABLE_NAME ('A1') AND TABSCHEMA = TABLE_SCHEMA ('A1')
HEDGES.T1 について要求された統計値が、カタログから取り出されます。
SELECT NPAGES, CARD FROM SYSCAT.TABLES WHERE TABNAME = TABLE_NAME ('X1','HEDGES') AND TABSCHEMA = TABLE_SCHEMA ('X1','HEDGES')
HEDGES.X1 が表であるとすると、 HEDGES.X1 について要求された統計がカタログから取り出されます。
SELECT NPAGES, CARD FROM SYSCAT.TABLES WHERE TABNAME = TABLE_NAME ('A2','PBIRD') AND TABSCHEMA = TABLE_SCHEMA ('A2',PBIRD')
TABNAME = 'T2' および TABSCHEMA = 'HEDGES' である項目が SYSCAT.TABLES の中に見つからないため、 このステートメントからは 0 個のレコードが戻されます。
SELECT TABSCHEMA AS SCHEMA, TABNAME AS NAME, TABLE_SCHEMA (BASE_TABNAME, BASE_TABSCHEMA) AS REAL_SCHEMA, TABLE_NAME (BASE_TABNAME, BASE_TABSCHEMA) AS REAL_NAME FROM SYSCAT.TABLES
このステートメントは、カタログ内の各オブジェクトの修飾名と、 別名項目については最終参照名 (別名が解決された後の名前) を戻します。 別名でないすべての項目については、 BASE_TABNAME および BASE_TABSCHEMA がヌル値であるため、 REAL_SCHEMA 列と REAL_NAME 列はヌル値になります。