Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggugurkan Kekangan Lalai SQL Server Tanpa Mengetahui Nama Mereka?
Latar Belakang
SQL Server membenarkan penciptaan kekangan lalai pada lajur . Walau bagaimanapun, dalam versi awal, kesilapan menaip sering mengakibatkan nama kekangan yang tidak konsisten, seperti "DF_SomeTable_ColName" dan "DF_SmoeTable_ColName." Ini menimbulkan cabaran apabila cuba melepaskan kekangan lalai tanpa mengetahui nama tepatnya.
Penyelesaian
Untuk mengalih keluar kekangan lalai dengan berkesan tanpa mengetahui namanya, pendekatan berikut boleh digunakan:
Kod Contoh
Sampel kod berikut menyediakan pelaksanaan pendekatan yang diterangkan:
declare @schema_name nvarchar(256) declare @table_name nvarchar(256) declare @col_name nvarchar(256) declare @Command nvarchar(1000) set @schema_name = N'MySchema' set @table_name = N'Department' set @col_name = N'ModifiedDate' select @Command = 'ALTER TABLE ' + @schema_name + '.[' + @table_name + '] DROP CONSTRAINT ' + d.name from sys.tables t join sys.default_constraints d on d.parent_object_id = t.object_id join sys.columns c on c.object_id = t.object_id and c.column_id = d.parent_column_id where t.name = @table_name and t.schema_id = schema_id(@schema_name) and c.name = @col_name --print @Command execute (@Command)
Dengan menggunakan teknik ini, kekangan lalai boleh dialih keluar secara dinamik, tanpa mengira nama yang disebabkan oleh kesilapan menaip ketidakselarasan. Pendekatan ini memastikan kekangan digugurkan dengan jayanya tanpa menghadapi ralat disebabkan nama kekangan yang tidak diketahui.
Atas ialah kandungan terperinci Bagaimana untuk Menggugurkan Kekangan Lalai SQL Server Tanpa Mengetahui Nama Mereka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!