JetSetColumnDefaultValue 関数
適用対象: Windows |Windows Server
JetSetColumnDefaultValue 関数
JetSetColumnDefaultValue 関数を使用して、既存の列の既定値を変更できます。
JET_ERR JET_API JetSetColumnDefaultValue(
__in JET_SESID sesid,
__in JET_DBID dbid,
__in JET_PCSTR szTableName,
__in JET_PCSTR szColumnName,
__in const void* pvData,
__in const unsigned long cbData,
__in const JET_GRBIT grbit
);
パラメーター
sesid
この呼び出しに使用するセッション。
dbid
この呼び出しに使用するデータベース。
szTableName
影響を受ける列を含むテーブルの名前。
szColumnName
既定値が変更される列の名前。
pvData
新しい既定値を含む入力バッファー。
cbData
新しい既定値を含む入力バッファーのサイズ。
grbit
将来利用するために予約されています。
戻り値
この関数は、次のいずれかのリターン コードを使用して 、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張可能ストレージ エンジン エラー 」および「 エラー処理パラメーター」を参照してください。
リターン コード |
説明 |
---|---|
JET_errSuccess |
操作は正常に完了しました。 |
JET_errClientRequestToStopJetService |
JetStopService の呼び出しの結果、セッションに関連付けられたインスタンス上のすべてのアクティビティが停止したため、操作を完了することはできません。 |
JET_errColumnIllegalNull |
JET_errNullInvalidと同じです。 |
JET_errColumnInUse |
この指定された列は現在、インデックスによって使用されています。 JetSetColumnDefaultValue は、インデックスの定義で参照される列の既定値を変更できません。 これは、インデックスの内容が変更される可能性があるためです。 |
JET_errColumnNotFound |
このテーブルには、この指定された列は存在しません。 |
JET_errInstanceUnavailable |
セッションに関連付けられているインスタンスで致命的なエラーが発生したため、操作を完了できません。このエラーでは、そのデータの整合性を保護するためにすべてのデータへのアクセスを取り消す必要があります。 このエラーは、Windows XP 以降のリリースでのみ返されます。 |
JET_errInvalidDatabaseId |
指定されたデータベース ID が無効です。 |
JET_errInvalidName |
指定されたオブジェクト名の 1 つが無効です。 すべてのオブジェクト名は、同じ規則セットに準拠している必要があります。 これらのルールを以下に示します。
|
JET_errNotInitialized |
セッションに関連付けられているインスタンスがまだ初期化されていないため、操作を完了できません。 |
JET_errNullInvalid |
列を NULL に設定できませんでした。 これは、次の場合 に JetSetColumnDefaultValue に対して発生します。
そのため、列の既定値 (戻る) を NULL または長さ 0 の値に設定することはできません。 |
JET_errObjectNotFound |
この指定されたテーブルは、このデータベースには存在しません。 |
JET_errRestoreInProgress |
セッションに関連付けられているインスタンスで復元操作が進行中であるため、操作を完了できません。 |
JET_errSessionSharingViolation |
同じセッションを複数のスレッドに同時に使用することはできません。 このエラーは、Windows XP 以降のリリースでのみ返されます。 |
JET_errTableInUse |
この指定されたテーブルは、別のセッションで使用されています。 JetSetColumnDefaultValue では、Windows Server 2003 より前のリリースの列の既定値を変更するために、テーブルへの排他的アクセスが必要です。 |
JET_errTermInProgress |
セッションに関連付けられているインスタンスがシャットダウンされているため、操作を完了できません。 |
JET_errTransReadOnly |
読み取り専用トランザクションのスコープ内で更新を試みるのは無効です。 読み取り専用トランザクションとは、 jetBeginTransaction2 の呼び出しとJET_bitTransactionReadOnlyを使用して開始されたトランザクションです。 このエラーは、Windows XP 以降のリリースでのみ返されます。 |
JET_errWriteConflict |
別のセッションでは、更新のためにレコードが以前にロックされています。 このセッションによって試行された更新は失敗します。 |
成功すると、指定されたデータベース内の特定のテーブル内の指定された列の既定値が、新しい既定値に完全に変更されます。
失敗した場合、データベースの状態は変更されません。
解説
テンプレート テーブル内の列の既定値を変更することはできません。
データベース エンジンは、長いテキスト列と長いバイナリ列の場合、列の既定値を 255 バイトに自動的に切り捨てます。
要件
要件 | 値 |
---|---|
Client |
Windows Vista、Windows XP、または Windows 2000 Professional が必要です。 |
[サーバー] |
Windows Server 2008、Windows Server 2003、または Windows 2000 Server が必要です。 |
Header |
Esent.h で宣言されています。 |
Library |
ESENT.lib を使用します。 |
[DLL] |
ESENT.dllが必要です。 |
Unicode |
JetSetColumnDefaultValueW (Unicode) および JetSetColumnDefaultValueA (ANSI) として実装されます。 |
参照
JET_DBID
JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction2
JetStopService