首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从表同义词中获取列元数据

如何从表同义词中获取列元数据
EN

Stack Overflow用户
提问于 2010-12-07 20:41:15
回答 3查看 8.1K关注 0票数 5

如何从SQL Server2005数据库中的表synonym确定列元数据?对于名为“项目”的表,我有一个同义词“ProjectSyn”,但我找不到该同义词的列元数据。

我的猜测是在某个地方确定同义词的“基表”,然后查询该表的列元数据。这是一种正确的方法吗?如果不是,那会是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-07 20:58:59

像这样的东西?(编辑)

代码语言:javascript
复制
select c.*
from
   sys.columns c
   inner join sys.synonyms s on c.object_id = object_id(s.base_object_name)
where
   s.name = 'ProjectSyn'
票数 1
EN

Stack Overflow用户

发布于 2014-11-25 20:20:30

这是我的解决方案,使用不同数据库的同义词:

代码语言:javascript
复制
SELECT TOP 0 * INTO #TEMP1 FROM YourTable 
SELECT
    [column_name] = c.name,
    [data_type] = t.name,
    [character_maximum_length] = c.max_length
FROM tempdb.sys.columns c
inner join tempdb.sys.types t on t.system_type_id = c.system_type_id
WHERE [object_id] = object_id('tempdb..#TEMP1');
DROP TABLE #TEMP1
票数 4
EN

Stack Overflow用户

发布于 2010-12-07 20:52:18

是的,我认为获取基对象,然后检索列,是您唯一的选择。

要获取同义词的基本对象名称,只需查询视图sys.synonyms

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4376667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档