提升SQL Server程序员工作效率的几个技巧
2010-07-21 15:15
831 查看
本文转至于:http://topic.csdn.net/u/20100625/14/f03d6c40-46c6-49f3-9cd2-92d79f1162c4.html
SQL Server程序员经常要在SSMS(SQL Server Management Studio)或查询分析器(2000以前)中编写T-SQL代码。以下几个技巧,可以提升工作效率。
以下说明以SS2005为例,SS2008也适用;SS2000的话可能部分适用吧。
1. 快捷键
现在只要不是电脑新手,都知道Ctrl+C/Ctrl+V,没什么人会用菜单去进行复制/粘贴。而对于靠电脑吃饭的程序员来说,只知道这两个快捷键是不够的。
善用快捷键,可以节省用鼠标去找图标或菜单的时间。更炉火纯青的状态是全键盘操作,连把手移动到鼠标的时间都省了(UNIX程序员都是这么干的)。
在SSMS选择菜单:工具->自定义,勾选“在屏幕提示中显示快捷键”,这样,当把鼠标悬停在执行图标上方时,会显示提示F5。快捷键不需要死记,鼠标点的时候看一下,下次就可以用快捷键了,用多了就熟了。
可以参考这个帖SQL Server 查询分析器提供的所有键盘快捷方式。
2. 自定义快捷键
SQL Server Management Studio支持自定义快捷键:工具->选项->键盘:
其中,Alt+F1、Ctrl+1、Ctrl+2是系统预定义的快捷键。
双击表名(或按Ctrl单击表名),选定一个表名,如tablename,按Alt+F1,相当于执行“sp_help tablename”,可以查看对象的说明信息。
以下是我添加的一些自定义快捷键:
3. 光标的艺术
SQL Server Management Studio支持与VS类似的光标移动和选择操作。
块选:按住Alt再用鼠标拖选,或按住Alt再用Shift加方向键选择,可实现块选。块选之后可进行块删除和块复制|粘贴。遗憾的是不支持块插入。
全.键.盘.操.作.的.光.标.快.捷.键
* 上.下.方.向.键:光.标.向.上|下.移.动.一.行
* Ctrl+上.下.方.向.键:代.码.向.上|下.滚.动.一.行
* 左.右.方.向.键:光.标.向.左|右.移.动.一.个.字.符
* Ctrl+左.右.方.向.键:光.标.向.左|右.移.动.一.个.单.词
* Home|End:光.标.移.动.到.行.首|行.尾
* Ctrl+Home|End:光.标.移.动.到.代.码.开.头|结.尾
* PageUp|PageDown:代.码.向.上|下.滚.动.一.屏
* Ctrl+PageUp|PageDown:光.标.移.动.到.屏.幕.开.头|结.尾
以上的移动操作,加Shift键可变成选择操作。
4. 扩展工具
* 功能更强大的文本编辑器:Vim/Emacs/Notepad++(开源)、UltraEdit/EmEditor(收费)
* 代码对比:WinMerge(开源)、UltraCompare(收费)
* 自动化操作(包括自定义全局快捷键、自动输入等):AutoHotKey(开源),参看加速SQL代码输入的利器。
* SQL专用插件:SQL Assistant(收费)、SQL Prompt(收费)
以上工具中收费软件我都没有用过,仅供参考;开源软件我基本都用过,强烈推荐。
以下是我添加的一些自定义快捷键:
SQL code
SQL Server程序员经常要在SSMS(SQL Server Management Studio)或查询分析器(2000以前)中编写T-SQL代码。以下几个技巧,可以提升工作效率。
以下说明以SS2005为例,SS2008也适用;SS2000的话可能部分适用吧。
1. 快捷键
现在只要不是电脑新手,都知道Ctrl+C/Ctrl+V,没什么人会用菜单去进行复制/粘贴。而对于靠电脑吃饭的程序员来说,只知道这两个快捷键是不够的。
善用快捷键,可以节省用鼠标去找图标或菜单的时间。更炉火纯青的状态是全键盘操作,连把手移动到鼠标的时间都省了(UNIX程序员都是这么干的)。
在SSMS选择菜单:工具->自定义,勾选“在屏幕提示中显示快捷键”,这样,当把鼠标悬停在执行图标上方时,会显示提示F5。快捷键不需要死记,鼠标点的时候看一下,下次就可以用快捷键了,用多了就熟了。
可以参考这个帖SQL Server 查询分析器提供的所有键盘快捷方式。
2. 自定义快捷键
SQL Server Management Studio支持自定义快捷键:工具->选项->键盘:
其中,Alt+F1、Ctrl+1、Ctrl+2是系统预定义的快捷键。
双击表名(或按Ctrl单击表名),选定一个表名,如tablename,按Alt+F1,相当于执行“sp_help tablename”,可以查看对象的说明信息。
以下是我添加的一些自定义快捷键:
--Ctrl+F1:显示表或视图的前100行,选定“tablename,1000”按Ctrl+F1可显示表的前1000行。 sp_executesql N'IF OBJECT_ID(@tablename) IS NOT NULL EXEC(N''SELECT TOP(''+@n+N'') * FROM ''+@tablename)',N'@tablename nvarchar(100),@n int=100', --Ctrl+3:显示视图、存储过程、函数、触发器的定义脚本。 sp_helptext --Ctrl+4:显示表的行数和占用空间。 sp_spaceused --Ctrl+5:显示表中每个索引占用的空间。 sp_executesql N'SELECT index_name = ind.name, ddps.used_page_count, ddps.reserved_page_count,ddps.row_count FROM sys.indexes ind INNER JOIN sys.dm_db_partition_stats ddps ON ind.object_id =ddps.object_id AND ind.index_id = ddps.index_id WHERE ind.object_id = OBJECT_ID(@tablename)',N'@tablename nvarchar(100)', --Ctrl+9:显示表或视图的字段名,以逗号分隔。 sp_executesql N'SELECT columns = STUFF((SELECT '', ''+name FROM sys.columns WHERE object_id = OBJECT_ID(@tablename) FOR XML PATH('''')),1,2,'''')',N'@tablename nvarchar(100)', --Ctrl+0:根据选定关键词在当前数据库中查找表、视图、存储过程、函数 sp_executesql N'SELECT * FROM sys.objects WHERE type IN (''U'',''V'',''P'',''FN'') AND name LIKE ''%''+@keyword+''%'' ORDER BY type,name',N'@keyword nvarchar(50)',
3. 光标的艺术
SQL Server Management Studio支持与VS类似的光标移动和选择操作。
块选:按住Alt再用鼠标拖选,或按住Alt再用Shift加方向键选择,可实现块选。块选之后可进行块删除和块复制|粘贴。遗憾的是不支持块插入。
全.键.盘.操.作.的.光.标.快.捷.键
* 上.下.方.向.键:光.标.向.上|下.移.动.一.行
* Ctrl+上.下.方.向.键:代.码.向.上|下.滚.动.一.行
* 左.右.方.向.键:光.标.向.左|右.移.动.一.个.字.符
* Ctrl+左.右.方.向.键:光.标.向.左|右.移.动.一.个.单.词
* Home|End:光.标.移.动.到.行.首|行.尾
* Ctrl+Home|End:光.标.移.动.到.代.码.开.头|结.尾
* PageUp|PageDown:代.码.向.上|下.滚.动.一.屏
* Ctrl+PageUp|PageDown:光.标.移.动.到.屏.幕.开.头|结.尾
以上的移动操作,加Shift键可变成选择操作。
4. 扩展工具
* 功能更强大的文本编辑器:Vim/Emacs/Notepad++(开源)、UltraEdit/EmEditor(收费)
* 代码对比:WinMerge(开源)、UltraCompare(收费)
* 自动化操作(包括自定义全局快捷键、自动输入等):AutoHotKey(开源),参看加速SQL代码输入的利器。
* SQL专用插件:SQL Assistant(收费)、SQL Prompt(收费)
以上工具中收费软件我都没有用过,仅供参考;开源软件我基本都用过,强烈推荐。
以下是我添加的一些自定义快捷键:
SQL code
--Ctrl+F1:显示表或视图的前100行,选定“tablename,1000”按Ctrl+F1可显示表的前1000行。 sp_executesql N'IF OBJECT_ID(@tablename) IS NOT NULL EXEC(N''SELECT TOP(''+@n+N'') * FROM ''+
@tablename)',N'@tablename nvarchar(100),@n int=100', --Ctrl+3:显示视图、存储过程、函数、触发器的定义脚本。 sp_helptext --Ctrl+4:显示表的行数和占用空间。 sp_spaceused --Ctrl+5:显示表中每个索引占用的空间。 sp_executesql N'SELECT index_name = ind.name, ddps.used_page_count, ddps.reserved_page_count,
ddps.row_count FROM sys.indexes ind INNER JOIN sys.dm_db_partition_stats ddps ON ind.object_id =
ddps.object_id AND ind.index_id = ddps.index_id WHERE ind.object_id = OBJECT_ID(@tablename)',
N'@tablename nvarchar(100)', --Ctrl+9:显示表或视图的字段名,以逗号分隔。 sp_executesql N'SELECT columns = STUFF((SELECT '', ''+name FROM sys.columns WHERE object_id =
OBJECT_ID(@tablename) FOR XML PATH('''')),1,2,'''')',N'@tablename nvarchar(100)', --Ctrl+0:根据选定关键词在当前数据库中查找表、视图、存储过程、函数 sp_executesql N'SELECT * FROM sys.objects WHERE type IN (''U'',''V'',''P'',''FN'') AND name LIKE ''%''+
@keyword+''%'' ORDER BY type,name',N'@keyword nvarchar(50)',
模板的好处跟坏处一样明显。 对于不了解语法细节的情况,用模板可以省却去查文档、看BNF的麻烦。 对于经常使用的语句,用模板还要一个一个名称去修改,还不如在AHK的强力帮助下自己手写快。 需要的情况下,还可以借助Vim或Python做代码自动生成(Code Generation)。
第2条所说的自定义快捷键,要重启SSMS才能生效。
相关文章推荐
- 转载:提升SQL Server程序员工作效率的几个技巧
- 提升SQL Server程序员工作效率的几个技巧
- 11个技巧:提升程序员工作效率
- Linux/Unix提升工作效率的几个工具
- 如何提升程序员的工作效率?
- 程序员提高工作效率、节约时间的22条日常技巧
- 提升Linux 终端用户工作效率的几个小技巧
- 分享几个可以有效提升工作效率的pdf小技巧
- 提升我们工作效率的几个Windows7新功能
- 程序员想提升工作效率,就别再做这七件事啦
- 显著提升程序员身心健康和工作效率的装备有哪些?
- 程序员提升编程效率的十五点建议,Facebook程序员工作理念值得借鉴
- 提升程序员身心健康和工作效率的装备有哪些?
- 10个提升工作效率的Secure CRT小窍门 - 你玩转了几个?
- 我的几个提升工作效率的小软件(持续更新中...)
- 几种提升工作效率的Eclipse使用技巧