SSMS查询快捷方式设置
2014-02-15 18:26
232 查看
打开SQL Server Mangement Studio,然后依次打开:工具->选项->环境->键盘->查询快捷方式,大家可以看到,SSMS已经自带了12个快捷键,其中3个已经有了定义。善用这些快捷方式,分析对象时会让你有行云流水般的感觉,下面我就介绍几个常用的快捷键
说明
#1. 执行原理:当在SSMS中按下快捷键时,会调用其已经绑定的存储过程;如果当前活动连接窗口中有选中的文本,则把文本值作为参数传给存储过程执行,否则无参数执行存储过程。好像只能传一个参数。
#2. 设置完成后,重启SSMS起效。
#3. 编写自定义查询时,为了灵活,一般是调用sp_executesql存储过程,且用EXEC的方式实现,示例如下:
[align=left] [/align]
[align=left]小结[/align]
[align=left] 快捷键的定义可提高分析对象时的效率,建议大家根据需要定义自己的快捷键。[/align]
[align=left] [/align]
快捷方式 | 存储过程 | 说明 |
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
[align=left] [/align]
[align=left]小结[/align]
[align=left] 快捷键的定义可提高分析对象时的效率,建议大家根据需要定义自己的快捷键。[/align]
[align=left] [/align]
相关文章推荐
- 网络编程(6)单进程多线程并发服务器实现
- ZT eoe android4.2 Bluetooth记录01-结构和代码分布
- ZT Android 4.2 BT系统之蓝牙关闭过程全跟踪
- 《学习OpenCV》练习3-7
- ln命令 (软链接)
- 访问iPod Library及MPMusicPlayerController
- Xen 初学者指南
- c语言中运算符优先级
- Object-C支持多继承吗?可以实现多个接口吗?Category是什么?
- 比特币Bitcoin-qt客户端加密前后如何导入导出私钥?
- Centos6.3利用iptables配置网关防火墙
- 第三周:继承
- JrtpLib在VS2010中编译并运行测试程序
- Kmeans的改进-kmeans++算法的聚类中心初始点选取和蓄水池采样算法
- opencv中图像显示的问题
- HDU2049 不容易系列之(4)——考新郎
- 康托展开及其逆运算--我是第几个,第几是谁
- Partition a set of numbers into two so that difference between their sum is minimum with equal size
- Centos6.3下jdk+tomcat安装部署
- 《学习OpenCV》练习3-6