Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server
Membatalkan ikatan aturan dari kolom atau tipe data alias dalam database saat ini.
Penting
Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini. Kami menyarankan agar Anda membuat definisi default dengan menggunakan kata kunci DEFAULT dalam pernyataan ALTER TABLE atau CREATE TABLE sebagai gantinya.
Sintaks
sp_unbindrule
[ @objname = ] N'objname'
[ , [ @futureonly = ] 'futureonly' ]
[ ; ]
Argumen
[ @objname = ] N'objname'
Nama tabel dan kolom atau tipe data alias tempat aturan tidak terikat. @objname adalah nvarchar(776), tanpa default. SQL Server mencoba menyelesaikan pengidentifikasi dua bagian ke nama kolom terlebih dahulu, lalu ke jenis data alias. Saat membatalkan pengikatan aturan dari jenis data alias, kolom apa pun dari jenis data yang memiliki aturan yang sama juga tidak terikat. Kolom jenis data tersebut dengan aturan yang terikat langsung ke tipe data tersebut tidak terpengaruh.
Catatan
@objname dapat berisi tanda kurung [] sebagai karakter pengidentifikasi yang dibatasi. Untuk informasi selengkapnya, lihat Pengidentifikasi database.
[ @futureonly = ] 'futureonly'
Digunakan hanya saat membatalkan pengikatan aturan dari jenis data alias. @futureonly adalah varchar(15), dengan default NULL. Saat @futureonly adalah futureonly, kolom yang ada dari tipe data tersebut tidak kehilangan aturan yang ditentukan.
Mengembalikan nilai kode
0 (berhasil) atau 1 (kegagalan).
Keterangan
Untuk menampilkan teks aturan, jalankan sp_helptext dengan nama aturan sebagai parameter .
Saat aturan tidak terikat, informasi tentang pengikatan dihapus dari sys.columns tabel jika aturan terikat ke kolom, dan dari sys.types tabel jika aturan terikat ke jenis data alias.
Saat aturan tidak terikat dari jenis data alias, aturan juga tidak terikat dari kolom apa pun yang memiliki jenis data alias tersebut. Aturan mungkin juga masih terikat ke kolom yang jenis datanya kemudian diubah oleh klausa ALTER COLUMN dari pernyataan ALTER TABLE, Anda harus secara khusus membatalkan ikatan aturan dari kolom ini dengan menggunakan sp_unbindrule dan menentukan nama kolom.
Izin
Untuk membatalkan ikatan aturan dari kolom tabel memerlukan izin ALTER pada tabel. Untuk membatalkan ikatan aturan dari jenis data alias memerlukan izin CONTROL pada jenis atau izin ALTER pada skema tempat tipe berada.
Contoh
J. Membatalkan ikatan aturan dari kolom
Contoh berikut membatalkan ikatan aturan dari startdate kolom employees tabel.
EXECUTE sp_unbindrule 'employees.startdate';
B. Membatalkan ikatan aturan dari jenis data alias
Contoh berikut membatalkan ikatan aturan dari jenis ssndata alias . Ini membatalkan ikatan aturan dari kolom yang ada dan yang akan datang dari jenis tersebut.
EXECUTE sp_unbindrule ssn;
C. Gunakan futureonly_flag
Contoh berikut membatalkan ikatan aturan dari jenis ssn data alias tanpa memengaruhi kolom yang ada ssn .
EXECUTE sp_unbindrule 'ssn', 'futureonly';
D. Menggunakan pengidentifikasi yang dibatasi
Contoh berikut menunjukkan penggunaan pengidentifikasi yang dibatasi dalam parameter @objname . Perhatikan periode sebagai bagian dari nama tabel. sp_bindrule Dalam bagian, objek berisi dua periode; yang pertama adalah bagian dari nama tabel, dan yang kedua membedakan nama tabel dari nama kolom.
CREATE TABLE [t.4] (c1 INT);
GO
CREATE RULE rule2 AS @value > 100;
GO
EXECUTE sp_bindrule rule2, '[t.4].c1';
GO
EXECUTE sp_unbindrule '[t.4].c1';