簡體   English   中英

SQL Server中搜索功能的快捷方式

[英]Shortcut for search functionality in SQL Server

我想為下面的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>然后執行>並將其放在快捷鍵上。 有關更多信息,請訪問以下鏈接:

單行GO(Batch)語句在SQL Server中給出錯誤?

謝謝,

維沙爾

我將以下存儲的過程添加到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查詢窗口中鍵入user ,突出顯示它並按下快捷鍵組合,那么我會得到包含用戶的當前數據庫中每個已存儲proc的列表。

如果您將我的選擇替換為

set @sql = 'USE [' + @origdb +'];' 
set @sql += 'Select * FROM sys.tables WHERE name LIKE N' + CHAR(39) + '%' + @targetText + '%' + CHAR(39)

這樣您就可以實現自己的目標。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM