Udostępnij za pośrednictwem


sp_unbindrule (języka Transact-SQL)

Rozpina reguły z kolumna lub alias typ danych w bieżącej bazie danych.

Ważna informacjaWaż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.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

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'