DROP DEFAULT (Transact-SQL)
Berlaku untuk: SQL Server Azure SQL Managed Instance
Menghapus satu atau beberapa default yang ditentukan pengguna dari database saat ini.
Penting
DROP DEFAULT akan dihapus di versi Microsoft SQL Server berikutnya. Jangan gunakan DROP DEFAULT dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakannya. Sebagai gantinya, gunakan definisi default yang dapat Anda buat dengan menggunakan kata kunci DEFAULT ALTER TABLE atau CREATE TABLE.
Sintaks
DROP DEFAULT [ IF EXISTS ] { [ schema_name . ] default_name } [ ,...n ] [ ; ]
Argumen
JIKA ADA
Berlaku untuk: SQL Server (SQL Server 2016 (13.x) melalui versi saat ini).
Secara kondisional menghilangkan default hanya jika sudah ada.
schema_name
Adalah nama skema tempat default berada.
default_name
Adalah nama default yang ada. Untuk melihat daftar default yang ada, jalankan sp_help. Default harus mematuhi aturan untuk pengidentifikasi. Menentukan nama skema default bersifat opsional.
Keterangan
Sebelum menghilangkan default, batalkan ikatan default dengan menjalankan sp_unbindefault jika default saat ini terikat ke kolom atau jenis data alias.
Setelah default dihilangkan dari kolom yang memungkinkan nilai null, NULL disisipkan dalam posisi tersebut saat baris ditambahkan dan tidak ada nilai yang disediakan secara eksplisit. Setelah default dihilangkan dari kolom NOT NULL, pesan kesalahan dikembalikan saat baris ditambahkan dan tidak ada nilai yang disediakan secara eksplisit. Baris ini ditambahkan nanti sebagai bagian dari perilaku pernyataan INSERT yang khas.
Izin
Untuk menjalankan DROP DEFAULT, minimal, pengguna harus memiliki izin ALTER pada skema tempat default berada.
Contoh
J. Menjatuhkan default
Jika default belum terikat ke kolom atau ke jenis data alias, itu hanya dapat dihilangkan menggunakan DROP DEFAULT. Contoh berikut menghapus default yang dibuat pengguna bernama datedflt
.
USE AdventureWorks2022;
GO
IF EXISTS (SELECT name FROM sys.objects
WHERE name = 'datedflt'
AND type = 'D')
DROP DEFAULT datedflt;
GO
Dimulai dengan SQL Server 2016 (13.x) Anda dapat menggunakan sintaks berikut.
DROP DEFAULT IF EXISTS datedflt;
GO
B. Menjatuhkan default yang telah terikat ke kolom
Contoh berikut membatalkan ikatan default yang terkait dengan EmergencyContactPhone
kolom Contact
tabel lalu menghilangkan default bernama phonedflt
.
USE AdventureWorks2022;
GO
BEGIN
EXEC sp_unbindefault 'Person.Contact.Phone'
DROP DEFAULT phonedflt
END;
GO
Lihat Juga
CREATE DEFAULT (Transact-SQL)
sp_helptext (T-SQL)
sp_help (T-SQL)
sp_unbindefault (T-SQL)