Transact SQL - 查看数据类型Schronization问题

时间:2011-07-11 19:54:02

标签: sql sql-server tsql sql-server-2008

我正在进行一个自动同步项目,我希望从SQL Server 2008 R2上的View中获取数据类型,并将其与同一数据库中的表进行比较。我熟悉syscolumns,但是,这似乎只适用于表,而不是视图。任何建议或参考将不胜感激。

基本上,如果View_A添加了一个新列,我需要使用与View_A相同的属性将列添加到Table_A,以便Table_A上的所有数据类型,长度和字段始终与View_A相同。

由于

3 个答案:

答案 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')