SQL sorgusu kullanarak bir tablodaki bir sütunun varsayılan değerini nasıl bulabilirim? Bunun nasıl alabilirim, ben belirli bir tablo ama eksik sütunların varsayılan değeri sütunlar üzerinde bazı bilgiler almakSQL Server: Sorgu içeren bir sütunun varsayılan değerini öğrenin
sp_columns @tablename
: Bu saklı yordam kullanarak
?
SELECT so.name AS table_name,
sc.name AS column_name,
sm.text AS default_value
FROM sys.sysobjects so
JOIN sys.syscolumns sc ON sc.id = so.id
LEFT JOIN sys.syscomments sm ON sm.id = sc.cdefault
WHERE so.xtype = 'U'
AND so.name = @yourtable
ORDER BY so.[name], sc.colid
Bu, SQL Server 2008'de benim için hiçbir şey döndürmez ... ema/tablo/alan adları doğrudur ve aslında bir varsayılan var. – Amalgovinus
@Amalgovinus kesinlikle işe yarıyor. Doğru veritabanı bağlamında mı çalıştırıyorsunuz? Sorguyu çalıştırdığınız hesabın tanımını görmek için yeterli izinleri var mı? –
Evet, izinlerim yoktu. Diğer durumlarda, Mssql, sysobjects gibi şeylere erişemediğinizi söyleyebilecek kadar "güzel" dir, ancak bu durumda, izin aldığınız bir veritabanı kullanmıyorsanız gösterilecek hiçbir şey yokmuş gibi yapar. . Bunun için çalışmak için varsayılan bir veritabanı ayarladım. http://stackoverflow.com/questions/362434/how-can-i-change-my-default-database-in-sql-server-without-using-ms-sql-server-m – Amalgovinus