sp_getdefaultdatatypemapping (Transact-SQL)

Microsoft SQL Server と SQL Server 以外のデータベース管理システム (DBMS) の間における、指定したデータ型についての既定のマッピングに関する情報を返します。このストアド プロシージャは、任意のデータベース上のディストリビュータ側で実行されます。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

sp_getdefaultdatatypemapping [ @source_dbms = ] 'source_dbms' 
    [ , [ @source_version = ] 'source_version' ]
        , [ @source_type = ] 'source_type'  
    [ , [ @source_length = ] source_length ]
    [ , [ @source_precision = ] source_precision ]
    [ , [ @source_scale = ] source_scale ]
    [ , [ @source_nullable = ] source_nullable ]
        , [ @destination_dbms = ] 'destination_dbms' 
    [ , [ @destination_version = ] 'destination_version' ]
    [ , [ @destination_type = ] 'destination_type' OUTPUT ]
    [ , [ @destination_length = ] destination_length OUTPUT ]
    [ , [ @destination_precision = ] destination_precision OUTPUT ]
    [ , [ @destination_scale = ] destination_scale OUTPUT ]
    [ , [ @destination_nullable = ] source_nullable OUTPUT ]
    [ , [ @dataloss = ] dataloss OUTPUT ]

引数

  • [ @source_dbms= ] 'source_dbms'
    データ型のマップ元となる DBMS の名前を指定します。source_dbms のデータ型は sysname で、次のいずれかの値を指定できます。

    説明

    MSSQLSERVER

    マップ元は SQL Server データベース。

    ORACLE

    マップ元は Oracle データベース。

    このパラメータは必須です。

  • [ @source_version= ] 'source_version'
    マップ元 DBMS のバージョン番号を指定します。source_version のデータ型は varchar(10) で、既定値は NULL です。

  • [ @source_type= ] 'source_type'
    マップ元 DBMS におけるデータ型を指定します。source_type のデータ型は sysname で、既定値はありません。

  • [ @source_length= ] source_length
    マップ元 DBMS におけるデータ型の長さを指定します。source_length のデータ型は bigint で、既定値は NULL です。

  • [ @source_precision= ] source_precision
    マップ元 DBMS におけるデータ型の有効桁数を指定します。source_precision のデータ型は bigint で、既定値は NULL です。

  • [ @source_scale= ] source_scale
    マップ元 DBMS におけるデータ型の小数点以下桁数を指定します。source_scale のデータ型は int で、既定値は NULL です。

  • [ @source_nullable= ] source_nullable
    マップ元 DBMS のデータ型が NULL 値をサポートするかどうかを指定します。source_nullable のデータ型は bit で、既定値は 1 です。既定値は、NULL 値がサポートされていることを表します。

  • [ @destination_dbms = ] 'destination_dbms'
    マップ先 DBMS の名前を指定します。destination_dbms のデータ型は sysname で、次のいずれかの値を指定できます。

    説明

    MSSQLSERVER

    マップ先は SQL Server データベース。

    ORACLE

    マップ先は Oracle データベース。

    DB2

    マップ先は IBM DB2 データベース。

    SYBASE

    マップ先は Sybase データベース。

    このパラメータは必須です。

  • [ @destination_version= ] 'destination_version'
    マップ先 DBMS の製品バージョンを指定します。destination_version のデータ型は varchar(10) で、既定値は NULL です。

  • [ @destination_type= ] 'destination_type' OUTPUT
    マップ先 DBMS で使用されているデータ型を指定します。destination_type のデータ型は sysname で、既定値は NULL です。

  • [ @destination_length= ] destination_length OUTPUT
    マップ先 DBMS におけるデータ型の長さを指定します。destination_length のデータ型は bigint で、既定値は NULL です。

  • [ @destination_precision= ] destination_precision OUTPUT
    マップ先 DBMS におけるデータ型の有効桁数を指定します。destination_precision のデータ型は bigint で、既定値は NULL です。

  • [ @destination_scale= ] destination_scaleOUTPUT
    マップ先 DBMS におけるデータ型の小数点以下桁数を指定します。destination_scale のデータ型は int で、既定値は NULL です。

  • [ @destination_nullable= ] destination_nullableOUTPUT
    マップ先 DBMS のデータ型が NULL 値をサポートするかどうかを示します。destination_nullable のデータ型は bit で、既定値は NULL です。1 は NULL 値がサポートされていることを表します。

  • [ @dataloss= ] datalossOUTPUT
    マッピングでデータ損失の可能性があるかどうかを示します。dataloss のデータ型は bit で、既定値は NULL です。1 はデータ損失の可能性があることを表します。

戻り値

0 (成功) または 1 (失敗)

説明

sp_getdefaultdatatypemapping は、SQL Server と SQL Server 以外の DBMS の間で行われる、すべての種類のレプリケーションで使用されます。

sp_getdefaultdatatypemapping では、指定したマップ元のデータ型に一番近い、マップ先の既定のデータ型が返されます。

権限

sp_getdefaultdatatypemapping を実行できるのは、sysadmin 固定サーバー ロールのメンバだけです。