sp_unbindrule (Transact-SQL)
適用対象:SQL Server
現在のデータベース内の列または別名データ型のルールをバインド解除します。
重要
この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに、ALTER TABLE ステートメントまたは CREATE TABLE ステートメントで DEFAULT キーワード (keyword)を使用して、既定の定義を作成することをお勧めします。
構文
sp_unbindrule
[ @objname = ] N'objname'
[ , [ @futureonly = ] 'futureonly' ]
[ ; ]
引数
[ @objname = ] N'objname'
テーブルと列の名前、または規則のバインド解除元の別名データ型。 @objnameは nvarchar(776)で、既定値はありません。 SQL Server は、最初に 2 部構成の識別子を列名に解決し、次にデータ型のエイリアスを作成しようとします。 別名データ型からルールをバインド解除すると、同じルールを持つデータ型のすべての列もバインド解除されます。 ただし、同じデータ型でも、ルールが直接バインドされている列には影響はありません。
Note
@objnameは、角かっこを[]
区切り識別子文字として含めることができます。 詳細については、「データベース識別子」を参照してください。
[ @futureonly = ] 'futureonly'
エイリアス データ型からルールのバインドを解除する場合にのみ使用されます。 @futureonlyは varchar(15) で、既定値は NULL
. @futureonlyのfutureonly
場合、そのデータ型の既存の列は、指定した規則を失うことはありません。
リターン コードの値
0
(成功) または 1
(失敗)。
解説
ルールのテキストを表示するには、ルール名をパラメーターとして使用して実行 sp_helptext
します。
規則がバインドされていない場合、規則が列にバインドされている場合は、バインドに関する情報がテーブルから sys.columns
削除され、ルールが別名データ型にバインドされている場合はテーブルから sys.types
削除されます。
別名データ型から規則がバインド解除されている場合、その別名データ型を持つ列からもバインド解除されます。 この規則は、ALTER TABLE ステートメントの ALTER COLUMN 句によって後でデータ型が変更された列にバインドされている場合もあります。列名を使用 sp_unbindrule
して指定することで、これらの列から規則を明示的にバインド解除する必要があります。
アクセス許可
テーブル列からルールをバインド解除するには、そのテーブルに対する ALTER 権限が必要です。 別名データ型から規則をバインド解除するには、型に対する CONTROL 権限、または型が属するスキーマに対する ALTER 権限が必要です。
例
A. 列からルールのバインドを解除する
次の例では、テーブルの列からルールの startdate
バインドを employees
解除します。
EXEC sp_unbindrule 'employees.startdate';
B. エイリアス データ型からルールのバインドを解除する
次の例では、別名データ型 ssn
からルールをバインド解除します。 その型の既存の列と将来の列からルールのバインドを解除します。
EXEC sp_unbindrule ssn;
C: futureonly_flagを使用する
次の例では、既存の ssn
列に影響を与えずに、別名データ型 ssn
からルールをバインド解除します。
EXEC sp_unbindrule 'ssn', 'futureonly';
D. 区切り記号付き識別子を使用する
次の例は、@objname パラメーターで区切られた識別子を使用する方法を示しています。 テーブル名の一部としてピリオドに注目してください。 この sp_bindrule
部分では、オブジェクトに 2 つのピリオドが含まれています。1 つ目はテーブル名の一部で、2 番目の部分はテーブル名と列名を区別します。
CREATE TABLE [t.4] (c1 int);
GO
CREATE RULE rule2 AS @value > 100;
GO
EXEC sp_bindrule rule2, '[t.4].c1'
GO
EXEC sp_unbindrule '[t.4].c1';
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback。
近日公開予定: 2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub イシューを段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、以下を参照してください:フィードバックの送信と表示