SSMS查询快捷方式设置

  打开SQL Server Mangement Studio,然后依次打开:工具->选项->环境->键盘->查询快捷方式,大家可以看到,SSMS已经自带了12个快捷键,其中3个已经有了定义。善用这些快捷方式,分析对象时会让你有行云流水般的感觉,下面我就介绍几个常用的快捷键
 
快捷方式 存储过程 说明
Alt + F1 sp_help 查看对象帮助信息(默认设置)
Ctrl + F1 sp_helptext 查看对象定义信息,配合Ctrl+T(以文本形式显示查询结果),可快速获取对象的定义内容
Ctrl + 1 sp_who 查看SQL Server进程信息(默认设置)
Ctrl + 2
sp_lock 查看进程的锁信息(默认设置)
Ctrl + 3
   
Ctrl + 4
sp_executesql N'EXEC(''SELECT ObjectDefinition=b.name FROM (SELECT Content=CONVERT(XML, ''''<root><v><![CDATA['''' + REPLACE(OBJECT_DEFINITION(OBJECT_ID(''''''+ @ObjectName +'''''')), CHAR(13)+CHAR(10), '''']]></v><v><![CDATA['''') +'''']]></v></root>'''')) a OUTER APPLY (SELECT [name] = C.v.value(''''.'''',''''NVARCHAR(MAX)'''') FROM a.Content.nodes(''''/root/v'''') C(v)) b'')', N'@ObjectName NVARCHAR(255)',  
获取对象定义(视图 ,函数 , 存储过程, 触发器等)
Ctrl + 5
sp_spaceused 查看数据库或表的空间占用情况(我一般用它查看某个表的大概行数)
Ctrl + 6
sp_executesql N'SELECT name, base_object_name, create_date, modify_date FROM sys.synonyms WHERE name = @name', N'@name NVARCHAR(255)', 查看同义词定义
Ctrl + 7
sp_helpindex 查看表的索引信息
Ctrl + 8
   
Ctrl + 9
sp_executesql N'EXEC(''SELECT * FROM '' + @tablename)', N'@tablename nvarchar(255)', 查询表的所有记录
Ctrl + 0
sp_executesql N'EXEC(''SELECT TOP(5) * FROM '' + @tablename)', N'@tablename nvarchar(255)', 查询表的前5行记录
  
说明
  #1. 执行原理:当在SSMS中按下快捷键时,会调用其已经绑定的存储过程;如果当前活动连接窗口中有选中的文本,则把文本值作为参数传给存储过程执行,否则无参数执行存储过程。好像只能传一个参数。
     #2. 设置完成后,重启SSMS起效。
     #3. 编写自定义查询时,为了灵活,一般是调用sp_executesql存储过程,且用EXEC的方式实现,示例如下:
USE tempdb
GO

--新建测试表
IF object_id('TestShortKey', 'u') IS NOT NULL
    DROP TABLE dbo.TestShortKey
go

CREATE TABLE dbo.TestShortKey
(
    id int,
    name varchar(10),
    code char(5)
)
INSERT INTO dbo.TestShortKey(id,name,code) VALUES(1,'wyl','')
go

--假如我要查询TestShortKey表中name字段的前5行记录,参考如下
--#1.先把EXEC写好,并保证执行结果正确
DECLARE @FieldName NVARCHAR(100)
SET @FieldName = N'name'
EXEC('SELECT TOP(5) ' + @FieldName + ' FROM dbo.TestShortKey')

--#2.把EXEC那行SQL放到第三方编辑器中,把所有的'替换成'',结果如下
EXEC(''SELECT TOP(5) '' + @FieldName + '' FROM dbo.TestShortKey'')

--#3.把#2中的字符串,和#1中的参数定义,粘贴到sp_executesql后的参数中,并让其成为1行
sp_executesql N'EXEC(''SELECT TOP(5) '' + @FieldName + '' FROM dbo.TestShortKey'')', N'@FieldName NVARCHAR(100)',

--#4.定义好快捷键后,输入一个"name"单词,并双击选中,按下快捷键
name
  
小结
  快捷键的定义可提高分析对象时的效率,建议大家根据需要定义自己的快捷键。
 
posted @ 2014-02-15 18:26  wwwwgou  阅读(698)  评论(0编辑  收藏  举报