Sql server 如何从sql中的过程中找到数据库实例名称

Sql server 如何从sql中的过程中找到数据库实例名称,sql-server,tsql,Sql Server,Tsql,我的问题是:如果我编写这样的存储过程: create procedure test as begin select * from databasename..Tablename end create procedure test1 as begin select * from databasename..Tablename end 那么如何从上述两个过程中找到databasename..?我需要一个查询来查找使用过的过程名列表,如Databasename..tablena

我的问题是:如果我编写这样的存储过程:

create procedure test
as
begin
    select * from databasename..Tablename 
end

create procedure test1
as
begin
    select * from databasename..Tablename 
end
那么如何从上述两个过程中找到
databasename..
?我需要一个查询来查找使用过的过程名列表,如
Databasename..tablename
。在程序内,请尝试以下操作:

create procedure test
as
begin
    select * from databasename..Tablename 
end

GO

create procedure test1
as
begin
    select * from databasename..Tablename 
end

GO




DECLARE @SearchWord NVARCHAR(128) = 'databasename..Tablename'

SELECT ROUTINE_NAME
FROM INFORMATION_SCHEMA.ROUTINES 
WHERE ROUTINE_DEFINITION LIKE '%'+@SearchWord+'%' 
UNION
SELECT OBJECT_NAME(id) 
FROM SYSCOMMENTS 
WHERE [text] LIKE '%'+@SearchWord+'%' 
GROUP BY OBJECT_NAME(id)
UNION 
SELECT OBJECT_NAME(object_id)
FROM sys.sql_modules
WHERE definition LIKE '%'+@SearchWord+'%' 

请格式化问题中的代码并添加更多详细信息。使用ANTLR解析查询,您将很容易找到数据库名称。“数据库实例名称”是什么?“使用数据库名..表名.在过程内容中使用的过程名列表”到底是什么?是的,它适用于你想要的每个关键词和对象-函数,视图,过程,触发器。非常感谢。这对我们非常有帮助。如果这回答了你的问题,那么请将其标记为答案。