sp_unbindrule (języka Transact-SQL)
Rozpina reguły z kolumna lub alias typ danych w bieżącej bazie danych.
Ważne: |
---|
Ta funkcja zostanie usunięta z następnej wersji programu Microsoft SQL Server. Nie należy stosować tej funkcji w nowych projektach oraz jak najszybciej należy zmodyfikować aplikacje, w których obecnie jest używana ta funkcja.Zaleca się utworzenie definicji domyślne przy użyciu słowa kluczowego domyślne w ALTER TABLE lub CREATE TABLE instrukcji w zamian.Aby uzyskać więcej informacji, zobacz Tworzenie i modyfikowanie DOMYŚLNYCH definicje. |
Składnia
sp_unbindrule [ @objname = ] 'object_name'
[ , [ @futureonly = ] 'futureonly_flag' ]
Argumenty
[ @objname=] 'object_name'
Jest nazwą tabela i kolumna lub alias typu danych, z którego reguła jest niezwiązany.object_namejest nvarchar(776), z braku domyślne.SQL Serverpróbuje rozpoznać dwóch części identyfikatorów nazw kolumna po pierwsze, następnie do typów danych alias .Wszystkie kolumny Typ danych, które mają tę samą zasadę Rozpinanie reguły z typem danych alias , również są niezwiązane.Nie wpływa to na kolumnach typu danych z reguły związane z nimi.Ostrzeżenie
object_name może zawierać nawiasy jako identyfikator z ogranicznikami znaków.Aby uzyskać więcej informacji, zobacz Identyfikatory rozdzielanego (aparat bazy danych).
[ @futureonly= ] 'futureonly_flag'
Jest używane tylko wtedy, gdy Rozpinanie reguły z typem danych alias .futureonly_flagjest varchar(15), domyślna wartość NULL.Gdy futureonly_flag jest futureonly, istniejących kolumn tego typu danych nie utracą określonej reguły.
Wartości kodów powrotnych
0 (sukces) lub 1 (błąd)
Uwagi
Aby wyświetlić tekst reguły wykonać sp_helptext o nazwie reguły jako parametr.
Gdy reguła jest niezwiązany, informacje dotyczące powiązanie jest usuwana z sys.columns tabela , jeśli reguła była związana do kolumnai z sys.types tabela , jeśli reguła była związana z typem danych alias .
Gdy reguła jest niezwiązany z typem danych alias , jest również niezwiązane z kolumn o tego typu danych alias .Reguła może być nadal związany ze kolumny, których typ danych później zostały zmienione przez instrukcji ALTER COLUMN klauzula ALTER TABLE instrukcja, musi w szczególności usunięcia powiązania reguły z tych kolumn, za pomocą sp_unbindrule i określając nazwę kolumna .
Uprawnienia
Usunięcia powiązania regułę z tabela kolumna wymaga zmiany uprawnień dla tabela.Usunięcia powiązania reguły z danych alias typu wymaga podania typu uprawnienie Kontrola lub uprawnienie do zmiany schematu, do której należy typ.
Przykłady
A.Rozpinanie reguły z kolumna
Poniższy przykład Rozpina regułę z startdate kolumna employees tabela.
EXEC sp_unbindrule 'employees.startdate'
B.Rozpinanie reguły z typem danych alias
Poniższy przykład Rozpina reguły z typem danych alias ssn.Rozpina ona regułę z istniejących i przyszłych kolumn tego typu.
EXEC sp_unbindrule ssn
C.Przy użyciu futureonly_flag
Poniższy przykład Rozpina reguły z typem danych alias ssn bez wpływu na istniejące ssn kolumny.
EXEC sp_unbindrule 'ssn', 'futureonly'
D.Używane identyfikatory rozdzielanego
W poniższym przykładzie za pomocą identyfikatorów rozdzielany object_name parametru.
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'
Zobacz także