sp_unbindrule (Transact-SQL)

Hebt die Bindung einer Regel an eine Spalte oder einen Aliasdatentyp in der aktuellen Datenbank auf.

ms190354.note(de-de,SQL.90).gifWichtig:
Dieses Feature wird in einer zukünftigen Version von Microsoft SQL Server entfernt. Verwenden Sie dieses Feature beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird. Es wird empfohlen, dass Sie stattdessen mithilfe des DEFAULT-Schlüsselwortes in den ALTER TABLE- oder CREATE TABLE-Anweisungen Standarddefinitionen erstellen. Weitere Informationen finden Sie unter Erstellen und Ändern von DEFAULT-Definitionen.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_unbindrule [ @objname = ] 'object_name' 
     [ , [ @futureonly = ] 'futureonly_flag' ]

Argumente

[ @objname= ] 'object_name'

Der Name der Tabelle und Spalte oder der Aliasdatentyp, für die bzw. den die Bindung der Regel aufgehoben wird. object_name ist vom Datentyp nvarchar(776) und besitzt keinen Standard. SQL Server versucht zweiteilige Bezeichner zunächst in Spaltennamen und dann in Aliasdatentypen aufzulösen. Beim Aufheben der Bindung einer Regel an einen Aliasdatentyp wird auch die Bindung für alle Spalten des betreffenden Datentyps, die dieselbe Regel aufweisen, aufgehoben. Spalten dieses Datentyps mit Regeln, die direkt an diese gebunden sind, sind nicht betroffen.

ms190354.note(de-de,SQL.90).gifHinweis:
object_name kann eckige Klammern [] als Trennzeichen für begrenzte Bezeichner enthalten. Weitere Informationen finden Sie unter Begrenzte Bezeichner (Datenbankmodul).

[ @futureonly= ] 'futureonly_flag'

Wird nur beim Aufheben der Bindung einer Regel an einen Aliasdatentyp verwendet. futureonly_flag ist vom Datentyp varchar(15) und besitzt den Standard NULL. Wenn futureonly für futureonly_flag angegeben ist, verlieren vorhandene Spalten dieses Datentyps nicht die angegebene Regel.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

Führen Sie sp_helptext mit dem Namen einer Regel als Parameter aus, um den Text der Regel anzuzeigen.

Beim Aufheben der Bindung einer Regel werden die Bindungsinformationen aus der sys.columns-Tabelle entfernt, wenn die Regel an eine Spalte gebunden war, und aus der sys.types-Tabelle, wenn die Regel an einen Aliasdatentyp gebunden war.

Beim Aufheben der Bindung einer Regel an einen Aliasdatentyp wird auch die Bindung an alle Spalten mit diesem Aliasdatentyp aufgehoben. Die Regel ist möglicherweise auch noch an Spalten gebunden, deren Datentypen später mit der ALTER COLUMN-Klausel einer ALTER TABLE-Anweisung geändert wurden. Sie müssen die Bindung der Regel für diese Spalten eigens mithilfe von sp_unbindrule und unter Angabe des Spaltennamens aufheben.

Berechtigungen

Zum Aufheben der Bindung einer Regel an eine Tabellenspalte ist die ALTER-Berechtigung für die Tabelle erforderlich. Zum Aufheben der Bindung einer Regel an einen Aliasdatentyp ist die CONTROL-Berechtigung für den Typ oder die ALTER-Berechtigung für das Schema erforderlich, zu dem der Typ gehört.

Beispiele

A. Aufheben der Bindung einer Regel an eine Spalte

Das folgende Beispiel hebt die Bindung der Regel an die startdate-Spalte einer employees-Tabelle auf.

EXEC sp_unbindrule 'employees.startdate'

B. Aufheben der Bindung einer Regel an einen Aliasdatentyp

Das folgende Beispiel hebt die Bindung der Regel an den ssn-Aliasdatentyp auf. Die Bindungen der Regel an vorhandene und zukünftige Spalten dieses Typs werden aufgehoben.

EXEC sp_unbindrule ssn

C. Verwenden von futureonly_flag

Das folgende Beispiel hebt die Bindung der Regel an den ssn-Aliasdatentyp auf, ohne dass vorhandene ssn-Spalten davon beeinflusst werden.

EXEC sp_unbindrule 'ssn', 'futureonly'

D. Verwenden von begrenzten Bezeichnern

Das folgende Beispiel zeigt das Verwenden von begrenzten Bezeichnern im object_name-Parameter.

CREATE TABLE [t.4] (c1 int) -- Notice the period as part of the table 
-- name.
GO
CREATE RULE rule2 AS @value > 100
GO
EXEC sp_bindrule rule2, '[t.4].c1' -- The object contains two 
-- periods; the first is part of the table name and the second 
-- distinguishes the table name from the column name.
GO
EXEC sp_unbindrule '[t.4].c1'

Siehe auch

Verweis

Gespeicherte Systemprozeduren (Transact-SQL)
Gespeicherte Prozeduren für das Datenbankmodul (Transact-SQL)
CREATE RULE (Transact-SQL)
DROP RULE (Transact-SQL)
sp_bindrule (Transact-SQL)
sp_helptext (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005