TLDR:私が最終的に探しているのは、SQLクエリエディタの一部のテキストを強調表示できるようにすることです(部分的なオブジェクト名)、次にキーボードのショートカット(たとえばCTRL+5
)を押すと、強調表示されたテキストの一致に基づいてオブジェクトの現在のデータベースが検索されます。次に結果にオブジェクトを配置し、それをコピー(またはエイリアス化されたバージョン)し、CTRL+R
を押してグリッドを閉じて貼り付けます。その後、コーディングを続けます(そして、おそらく1分後にもう一度やり直してください)。コーディングするときSQL Server検索データベースオブジェクトネイティブSSMS機能/ SSMSブースト
/SSMSは、SQLクエリエディタを使用してクエリを書いて、私は常にオブジェクトが私の現在のクエリで使用するためにデータベースを検索する自分自身を見つけます。私はSSMS Boostを使用していますので、私の方法は次のとおりです。
- 新しいウィンドウが開きます(CTRL + N)
使用SSMS AutoReplace次のコードを貼り付けします。 (
#
が位置する場所にカーソルが配置されている。)DECLARE @t nvarchar(100) SET @t = N'%#%' SELECT o.Type, o.Type_Desc, '['+SCHEMA_NAME(o.schema_id)+'].['+o.name+']' AS ObjectName, CASE WHEN Type IN (N'U') AND o.name LIKE N'%[_]%' THEN o.name + N' AS ' + STUFF(o.name, 1, CHARINDEX(N'_', o.name), N'') END AS Alias FROM sys.objects AS o WHERE o.name like @t AND RIGHT(REPLACE(o.name, N'sel', N''), 3) NOT IN (N'upd', N'del', N'ins', N'bdc') --AND Type IN (N'U') ORDER BY o.name
タイプまたは
- クエリで使用する結果からオブジェクト名をコピーし、クエリを実行するテキスト
- 押し
F5
を貼り付け - 結果のテーブル(およびエイリアス)を貼り付け
CTRL+F4
- とウィンドウを閉じ
私はこれをやるのがかなり早かったが、かなりの時間が浪費されているような気がします。
この問題を解決し、SSMS Boostと機能性を高めるためにしようとするために、私はコピーをテキスト強調表示Macro Functionality
- 使用しようとしました - Edit.Copy、(グローバル::はCtrl + Cを、グローバル:: Ctrl + Ins)
- 新しいウィンドウを開く - File.NewQuery、(グローバル:: Ctrl + N)
- 自動置換を実行する - ???あるように表示されませんのでEdit.Paste、(グローバル::はCtrl + V、グローバル+ Insをシフト::)
- またはテキストを貼り付け
また、ネイティブSSMSキーボードショートカットをうまく組み込もうとしました。
オブジェクト(ビューまたはテーブル)が有効な場合、次の2つのクエリはSSMSショートカットでうまく機能します。また、ショートカットは、強調表示されたテキストをショートカットコード/ SQLの最後に追加できるため、ショートカットが機能するように見えます。
SELECT COUNT(*) AS [Count] FROM --to get a quick count of the number of records in a table
SELECT TOP 100 * FROM --to get a glimpse of the data in the highlighted table or view
最後に、私は(かなりくそ良い機能のように思える)SSMSのテンプレートを使用してに見えたが、私はキーボードショートカットで、その場でそれらを使用する方法を見つけ出すことができませんでした。ここで
ワウ。それは私が探していたものを正確に*達成します。ネイティブのSSMSショートカットを使用してストアドプロシージャを実行すると、強調表示されたテキストがパラメータとして渡されることはわかりませんでした。完璧。また、一時的なストアドプロシージャを作成できるかどうかもわかりませんでした。 – JoeFletch
@JoeFletch - それは起こっていることではありません。私は私の説明をより明確にしようとしました。ハイライトされたテキストは一時的な手続きの 'exec'に渡されます。 –
はい、私は理解しています(少なくとも私はそうすると思います)。私のコメントはおそらく完全にはっきりしていなかった。しかし、更新をありがとう! – JoeFletch