我正在进行一个自动同步项目,我希望从SQL Server 2008 R2上的View中获取数据类型,并将其与同一数据库中的表进行比较。我熟悉syscolumns,但是,这似乎只适用于表,而不是视图。任何建议或参考将不胜感激。
基本上,如果View_A添加了一个新列,我需要使用与View_A相同的属性将列添加到Table_A,以便Table_A上的所有数据类型,长度和字段始终与View_A相同。
由于
答案 0 :(得分:1)
我不确定syscolumns只显示基表列,但您可以使用此查询:
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'YourView'
答案 1 :(得分:0)
sys.columns
包含视图的列信息:
CREATE VIEW dbo.Test_View
AS
SELECT * FROM sys.objects
SELECT *
FROM sys.columns
WHERE object_id = OBJECT_ID('dbo.Test_View')
答案 2 :(得分:0)
sys.columns
中的列适用于视图和表格。
所以,你应该能够像表一样,即
SELECT *
FROM sys.columns
WHERE object_id = OBJECT_ID('MyViewName')