sp_unbindrule'u (Transact-SQL)

Bir sütun veya geçerli veritabanında bir diğer ad veri türü kuraldan ciltten çıkarır.

Önemli notÖnemli

Bu özellik Microsoft SQL Server'ın bir sonraki sürümünde kaldırılacaktır. Yeni geliştirme işlerinde bu özelliği kullanmayın ve bu özelliği kullanmakta olan uygulamaları mümkün olduğunca erken bir zamanda değiştirin.Varsayılan anahtar sözcük kullanarak varsayılan tanımları oluşturmanızı öneririz alter table veya create table deyimi yerine.Daha fazla bilgi için, bkz. Oluşturma ve varsayılan tanımları değiştirme.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

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

Bağımsız değişkenler

  • [ @objname=] 'object_name'
    tablo ve sütun veya kural ilişkisiz diğer ad veri türü addır.object_nameİş nvarchar(776), ile hiçbir varsayılan.SQL Serversütun adları için iki bölümü tanımlayıcıları ilk, sonra diğer ad veri türlerine çözümlemeye çalışır.Bir diğer ad veri türü kuraldan bağlarken, aynı kural tüm sütunları veri türünün de ilişkisiz.Sütun veri türü kuralları doğrudan bağlı olan bu güvenlik açığından etkilenmez.

    Not

    object_name köşeli ayraçlar içerebilir [] sınırlandırılmış tanımlayıcı karakter olarak. Daha fazla bilgi için, bkz. Sınırlandırılmış tanımlayıcıları (veritabanı altyapısı).

  • [ @futureonly= ] 'futureonly_flag'
    Yalnızca bir diğer ad veri türü kuraldan bağlarken kullanılır.futureonly_flagİş varchar(15), varsayılan değer null.Zaman futureonly_flag olan futureonly, varolan sütun veri türü değil kaybetmek belirtilen bir kural.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Açıklamalar

Bir kural, yürütmekmetnini görüntülemek içinsp_helptext parametre olarak kural adı.

Kural ilişkisiz olduğunda, bağlama hakkında bilgiler kaldırılır sys.columns kuralın gelen ve bir sütunbağlıtablo sys.typeskural bir diğer ad veri türü için bağlıtablo .

Onu da bir kural, bir diğer ad veri türünden ilişkisiz olduğunda, bu diğer ad veri türü tüm sütunları ilişkisiz.Kural yine de sütunların veri türünü daha sonra alter column yan tümce alter table deyimtarafından değiştirilmiş bağlanmış olabilir, sizin özellikle bu sütunlar kural kullanarak koparmanýz gerekir sp_unbindrule'u ve sütun adını belirtme.

İzinler

Bir tablobir kural bağını kaldırmak içinsütun tabloüzerinde alter izni gerektirir. Bir diğer ad veri kural bağını kaldırmak için Denetim izni türü veya türü ait olduğu şema üzerinde alter iznine türü gerektirir.

Örnekler

A.Bir kural bir sütunbağlarken

Aşağıdaki örnek kural ciltten çıkarır startdate sütun bir employees tablo.

EXEC sp_unbindrule 'employees.startdate'

B.Bir diğer ad veri türü kuraldan bağlarken

Aşağıdaki örnek, diğer ad veri türü kuraldan ciltten çıkarır ssn.Bu kural türü mevcut ve gelecekteki sütunlarından ciltten çıkarır.

EXEC sp_unbindrule ssn

C.Futureonly_flag kullanma

Aşağıdaki örnek, diğer ad veri türü kuraldan ciltten çıkarır ssn Varolan etkilemeden ssn sütunlar.

EXEC sp_unbindrule 'ssn', 'futureonly'

D.Sınırlandırılmış tanımlayıcıları kullanarak

Aşağıdaki örnek, sınırlandırılmış tanımlayıcıları kullanarak gösterir object_name parametresi.

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'