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