DROP DEFAULT (Transact-SQL)

Berlaku untuk:SQL ServerAzure 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.

Konvensi sintaks transact-SQL

Sintaksis

DROP DEFAULT [ IF EXISTS ] { [ schema_name . ] default_name } [ ,...n ] [ ; ]  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

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)