JetRenameColumn 関数
適用対象: Windows |Windows Server
JetRenameColumn 関数
JetRenameColumn 関数を使用して、テーブル上の既存の列の名前を変更できます。
Windows XP:JetRenameColumn は Windows XP で導入されています。
JET_ERR JET_API JetRenameColumn(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in JET_PCSTR szName,
__in JET_PCSTR szNameNew,
__in JET_GRBIT grbit
);
パラメーター
sesid
この呼び出しに使用するセッション。
tableid
この呼び出しに使用するカーソル。
szName
名前を変更する列の現在の名前。
szNameNew
名前を変更する列の新しい名前。
grbit
このパラメーターは、0 にする必要があります。
戻り値
この関数は、次のいずれかのリターン コードを使用して 、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張可能ストレージ エンジン エラー 」および「 エラー処理パラメーター」を参照してください。
リターン コード |
説明 |
---|---|
JET_errSuccess |
操作は正常に完了しました。 |
JET_errClientRequestToStopJetService |
JetStopService の呼び出しの結果、セッションに関連付けられたインスタンス上のすべてのアクティビティが停止したため、操作を完了することはできません。 |
JET_errColumnNotFound |
このテーブルには、この指定された列は存在しません。 |
JET_errInvalidName |
指定されたオブジェクト名の 1 つが無効です。 すべてのオブジェクト名は、同じ規則セットに準拠している必要があります。 これらのルールを以下に示します。
|
JET_errInvalidParameter |
指定されたパラメーターの 1 つに、予期しない値が含まれていたか、別のパラメーターの値と組み合わせると意味のない値が含まれていました。 これは、次の場合に JetRenameColumn で発生する可能性があります。
|
JET_errInstanceUnavailable |
セッションに関連付けられているインスタンスで致命的なエラーが発生したため、操作を完了できません。このエラーでは、そのデータの整合性を保護するためにすべてのデータへのアクセスを取り消す必要があります。 このエラーは、Windows XP 以降のリリースでのみ返されます。 |
JET_errInTransaction |
この操作は、セッションが現在トランザクション内にない場合にのみ実行できます。 |
JET_errNotInitialized |
セッションに関連付けられているインスタンスがまだ初期化されていないため、操作を完了できません。 |
JET_errRestoreInProgress |
セッションに関連付けられているインスタンスで復元操作が進行中であるため、操作を完了できません。 |
JET_errSessionSharingViolation |
同じセッションを複数のスレッドに同時に使用することはできません。 このエラーは、Windows XP 以降のリリースでのみ返されます。 |
JET_errTermInProgress |
セッションに関連付けられているインスタンスがシャットダウンされているため、操作を完了できません。 |
JET_errTransReadOnly |
読み取り専用トランザクションのスコープ内では、更新を実行できません。 読み取り専用トランザクションは、 jetBeginTransaction2 の呼び出しを使用して開始されたトランザクションであり、JET_bitTransactionReadOnly。 このエラーは、Windows XP 以降のリリースでのみ返されます。 |
成功すると、カーソルに関連付けられているテーブル内の指定された列の名前が新しい名前に完全に変更されます。 その列を参照するインデックスも更新されます。
失敗した場合、データベースの状態は変更されません。
解説
列の名前変更操作は、他のスキーマ操作とは異なり、トランザクションとして実行されないため、通常とは異なります。 特定のテーブル内の列の名前が 1 つのセッションで変更されると、そのテーブルを使用する他のセッションは、そのセッションに含まれている場合でも、そのセッションで名前変更操作を行った他の変更を見ることを妨げる可能性がある場合でも、すぐに変更が表示されます。
列の列 ID は、名前変更操作の影響を受けません。
必要条件
要件 | 値 |
---|---|
Client |
Windows Vista または Windows XP が必要です。 |
[サーバー] |
Windows Server 2008 または Windows Server 2003 が必要です。 |
Header |
Esent.h で宣言されています。 |
Library |
ESENT.lib を使用します。 |
[DLL] |
ESENT.dllが必要です。 |
Unicode |
JetRenameColumnW (Unicode) および JetRenameColumnA (ANSI) として実装されます。 |
参照
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetBeginTransaction2