DECLARE @B INT, @Definition NVARCHAR(MAX)
SELECT @Definition = N'SELECT @B = ' + OBJECT_DEFINITION (default_object_id)
from sys.columns where name='COLUMN' AND OBJECT_ID= OBJECT_ID('TABLENAME')
EXEC SYS.SP_EXECUTESQL
@Definition, N'@B INT OUTPUT', @B = @B OUTPUT
select @B DF;
在sql server 2008 r2中运行它给了我正确的答案。但是任何其他尝试将它合并到存储过程中或作为我的页面查询中的sql文本的尝试都失败了。我得到的最常见的答案是"在与所请求的名称或序号相对应的集合中找不到项目"。 任何提示将非常感谢谢谢