我想为下面的SQL代码创建快捷方式
DECLARE @Proc_Name VARCHAR(255)
SET @Proc_Name ='norway'
SELECT * FROM sys.tables WHERE name LIKE '%' + @Proc_Name + '%'
现在我正在使用下面的快捷方式
然后我输入{LIKE'%test%'}并按Ctrl + 8。
但我想让它更简化格式(就像我可以输入{test}并按Ctrl + 8)以便我可以快速使用它。
我以不同的方式尝试相同,例如创建proc>然后执行>并按快捷键按下它。欲了解更多信息,请访问以下链接:
Single line GO(Batch) statement giving error in SQL Server?
谢谢,
维沙尔
答案 0 :(得分:0)
我有以下存储过程,我添加到SQL Server上的主数据库
USE [master]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[SP_FindAllReferences]
@targetText nvarchar(128)
AS
BEGIN
SET NOCOUNT ON;
declare @origdb nvarchar(128)
select @origdb = db_name()
declare @sql nvarchar(1000)
set @sql = 'USE [' + @origdb +'];'
set @sql += 'select object_name(m.object_id), m.* '
set @sql += 'from sys.sql_modules m where m.definition like N' + CHAR(39) + '%' + @targetText + '%' + CHAR(39)
exec (@sql)
SET NOCOUNT OFF;
END
然后我将dbo.SP_FindAllReferences
添加到我的一个SSMS键盘快捷键中,以便我可以在服务器上任何数据库的上下文中搜索文本。
例如,如果我在SSMS查询窗口中键入用户,请突出显示它并按快捷键组合,然后我会获得当前数据库中包含用户的每个存储过程的列表
如果用
替换我的选择set @sql = 'USE [' + @origdb +'];'
set @sql += 'Select * FROM sys.tables WHERE name LIKE N' + CHAR(39) + '%' + @targetText + '%' + CHAR(39)
然后你就能实现目标。