Nasıl varsayılan kısıtlama. kullanarak bulabilirim?
Eğer verilen varsayılan kısıtlama varsa test etmeye çalışıyorum. Sysbojects tablo kullanmak istemiyorum, ama daha standart..
Bu tablo ve birincil anahtar kısıtlamaları önce kontrol etmek için kullandım, ama varsayılan kısıtlamaları hiçbir yerde göremiyorum.
Yok öyle değil mi? (MS SQL Server 2000) kullanıyorum.
EDİT: kısıtlama adını almak için arıyorum.
CEVAP
Anladığım kadarıyla, varsayılan değer kısıtlamaları ISO standardının bir parçası değildir. görünür. . Cross-platform olduğu için görev bu tür için en iyi seçim gibi görünüyor, ama eğer bu bilgi mevcut değil eğer bir nesne Katalog görünümleri kullanmanız gerekir (.* sys) SQL Server 2005 ve daha sonra kaldırılmış olan sistem Tablo görünümleri, yerine.
Aşağıda @user186476 olarak hemen hemen aynı cevap. Belirli bir sütun için varsayılan değer adı kısıtlaması verir. (İçin non-SQL Server kullanıcıları, ihtiyacınız adı varsayılan sipariş için damla, ve eğer yok adı varsayılan kısıtlama kendini, SQL Server oluşturur çılgın ismi gibi "DF_TableN_Colum_95AFE4B5". Daha kolay gelecek şema değiştirmek için yapmak için, her zaman açıkça kısıtlamaları adı!)
-- returns name of a column's default value constraint
SELECT
default_constraints.name
FROM
sys.all_columns
INNER JOIN
sys.tables
ON all_columns.object_id = tables.object_id
INNER JOIN
sys.schemas
ON tables.schema_id = schemas.schema_id
INNER JOIN
sys.default_constraints
ON all_columns.default_object_id = default_constraints.object_id
WHERE
schemas.name = 'dbo'
AND tables.name = 'tablename'
AND all_columns.name = 'columnname'
Nasıl bir yöntem stacktrace veya yansı...
Gıt değişikliği nasıl bulabilirim aras...
Python python kullanarak nasıl yolumu ...
Nasıl onun adını bilmeden SQL varsayıl...
Bir tamsayı verildiğinde, nasıl iki bi...