从sql查询中提取对象名称

时间:2014-12-15 10:40:14

标签: sql-server stored-procedures

我需要使用sql server从sql查询中提取对象名称(表名,存储过程,视图等)。 是否有任何sql语句或关键字或系统存储过程可以帮助完成此任务?

4 个答案:

答案 0 :(得分:1)

你的意思是你想要一个数据库中对象名称的列表吗?

那将是select * from sys.objects

答案 1 :(得分:0)

您应该查看Tokenizer - 它会将您的查询分成不同的部分(" WHERE CLAUSE"," FUNCTION"等等)

我猜您可以使用任何其他工具,但一般方法是将您的查询标记化。

答案 2 :(得分:0)

有很多不同的方法可以解决这个问题,但每种方法都有所不同,具体取决于您所使用的SQL Server版本。

提取此信息的最低级别之一是sysobjects ...

SELECT o.name,
CASE o.type 
WHEN 'U' THEN 'Table' 
WHEN 'V' THEN 'View'
WHEN 'P' THEN 'Procedure'
WHEN 'FN' THEN 'Function'
ELSE o.Type
END as Type
FROM sysobjects o
WHERE type in ('U', 'V', 'P', 'FN')
ORDER BY Type

这几乎适用于任何版本的SQL Server。

希望有所帮助

答案 3 :(得分:0)

这将为您提供对象列表。就像保罗答案一样。

SELECT名称,            type_desc,            类型,            CREATE_DATE,            modify_date     来自sys.objects     ORDER BY type_Desc,               类型,               名字