当前位置: 首页 > 面试题库 >

如何列出VIEW中的列的源表名称(SQL Server 2005)

笪德华
2023-03-14
问题内容

只是想知道如何在一个视图查询中列出列名和表名。

例如:

名为viewC,创建者tbl1 inner join tbl2,的视图包含a,b,c,d列(a,bfromtbl1c,dfrom
tbl2)。

如何

Select COLUMN_NAME, DATA_TYPE, column_default, character_maximum_length, sourceTableNAME 
FROM information_schema.columns 
where table_name='viewC'

一起?


问题答案:

这些信息可从以下INFORMATION_SCHEMA视图获得:

SELECT * 
FROM    INFORMATION_SCHEMA.VIEW_COLUMN_USAGE AS cu
JOIN    INFORMATION_SCHEMA.COLUMNS AS c
ON      c.TABLE_SCHEMA  = cu.TABLE_SCHEMA
AND     c.TABLE_CATALOG = cu.TABLE_CATALOG
AND     c.TABLE_NAME    = cu.TABLE_NAME
AND     c.COLUMN_NAME   = cu.COLUMN_NAME
WHERE   cu.VIEW_NAME    = '<your view name>'
AND     cu.VIEW_SCHEMA  = '<your view schema>'

如果您的视图包含来自多个数据库的表,则查询将变得更加复杂



 类似资料:
  • 例如,现在我有如下数据帧: A, B, C...是列名。 现在,我想删除列,其名称包含在列表中: 所以基本上我希望看到: 我怎么能这么做?谢谢

  • 有什么方法可以获得套接字上注册的所有命名空间的列表吗? 例如,假设某个客户机连接到一个命名空间:`socket=io('/some-nsp'); 它们现在自动地位于名称空间中,因为socket.io并不阻止创建随机名称空间。 如果我想查看所有现有命名空间的列表并断开这些用户的连接,我如何获得这样的列表。 我尝试过,但这只是一个循环的垃圾列表。 是否有一种“正式”的方法来获取套接字上注册的所有名称空

  • 问题内容: 例如, 我正在尝试使用运行时反射获取列表。 问题答案: 试试这个: 游乐场的例子 获取接口类型的reflect.Type是棘手的部分。请参阅如何获取接口的reflect.Type?进行解释。

  • 我在Python Pandas中使用一个数据框,该数据框的列名前缀为。我可以通过声明来访问给定的列。但是,当我尝试对其执行查询时,例如,它会抛出一个错误,即不是数据框的成员。 如何在名称前加上句点执行查询或其他类似操作? 此外,一些系列名称中也有空格。我假设带句点的列名的解决方案类似于包含空格的名称的解决方案。

  • A表字段:id,name B表字段:id,a_id(A表id),status(0.正常,1禁用) A表B表是一对多关系 要求:查出来A表中非正常的名称(name)列表 A表id在B表中禁用或不存在的关联的数据都属于不正常

  • 问题内容: 是否有一种快速的方法可以从中的所有表获取所有列名,而不必列出所有表? 问题答案: