超级详细的RedGateSqlServer工具教程,效率提高的不止一点点之SQLPrompt

来源:互联网 发布:mac foxmail 收取邮件 编辑:程序博客网 时间:2024/05/05 09:43

距离上次SQLDoc教程贴过去2个月了,时间真快,好了,废话不多说,继续

http://pan.baidu.com/share/link?shareid=177401896&uk=3308224797这是我的百度网盘的分享地址

第一个是RedGate公司的针对SQLServer的工具包,里面包含16个工具套件,具体介绍在下面的Red Gate.doc里面有介绍,以及SQL Doc 2.0的详细教程,第三个是注册机,详细使用方法在Red Gate.doc里有介绍,里面还有SQLPrompt独立版本的exe程序,自己看喜好安装吧

或者看我上次到百度文库的Red Gate.doc,链接如下

http://wenku.baidu.com/view/d5fe3cea7c1cfad6195fa736.html

 

这是SQL Prompt5的工具栏按钮

 

Refresh Suggestions       刷新提示(数据库更改表结构后,需要刷新一下)

 

Format SQL                         格式化代码(Pro版本才能启用,可定制,所有前边带红花的,都是Pro版可用,以下不再特意说明),格式化乱糟糟的SQL语句,方便查看

 

Uppercase Keywords       SQL关键词全部转换为大写(自定义变量不变)

 

Qualify Object Names      限定对象名称,比如原来是Selectcln from A,通过此功能,会变成Select A.cln from A,即将列进行完全限定

 

Expand Wildcards             展开通配符,将Select *fromtable 的*展开为具体的列

 

Find Invalid Object            查询无效对象

 

Find Unused Variables and Parameters           在当前脚本里查找未使用到的参数或者变量,能够减少参数或者变量冗余

 

Summarize Script              这个类似代码缩放的功能, 能够层次清晰的显示出当前脚本的嵌套关系,你再也不用怕别人一大坨的嵌套的IF-ELSE,WHILE啥的了

 

Script Object  as  ALTER       选中的对象,生成ALTER脚本(只适用于视图,存储过程,触发器,函数),会新打开一个查询器窗口,并生成该对象的ALTER脚本

 

Smart Rename                            重命名,如果你用过Eclipse或者Myeclipse,而且用过Alt+Shift+R,那么你会跟深刻的理解这个功能,在SQLServer Management Studio左侧资源列表里选中对象(表,视图,以及表或视图的列,存储过程,函数,以及其参数),会自动更新其他依赖此对象的依赖关系

 

Encapsulating SQL as a new stored procedure把选中的SQL脚本封装成一个新的存储过程

 

Split Table                          分割表,将大表或者什么原因想要把两个表拆分的,用这个功能还行

 

Options                                选项(设置,SQLPrompt的精髓所在)

 

Disable Code Suggesttions      禁用提示,如果你觉得提示很烦,那么,就关了它吧

 

Snippet Manager              这个是SQLprompt我特别喜欢的一个功能,代码片段,稍候细讲

 

Serial Number                   输入注册码

 

Provide Feedback              反馈建议,意见

 

Help                                      这个,额,不用解释了吧

 

ExperimentalFeatures    实验室功能,恩,还可以吧

 

Data Explore                      数据资源管理器

 

1、  Refresh Suggestions

刷新提示(数据库更改表结构后,需要刷新一下),如果勾选了实验性功能里的

则每次修改表结构后会自动更新,但是如果数据库太大,或者机身内存不够,建议不要勾选,就跟eclipse很多人把自动提示取消,每次用到后选择alt+/一个道理

快捷键:Ctrl+Shift+D

 

2、  Format SQL

a)        设置的格式选项

b)        要设置格式选项,在的SQL提示菜单,选择“Options“。在SQL提示选项“对话框中,格式化选项都是可用的格式组:

c)        

d)        单击页包含格式选项要设置的类型。

e)        讲到Options时再细说

 

快捷键:Ctrl+K,Ctrl+Y

 

3、  Uppercase Keywords

当前查询器内的脚本,如果选中部分脚本语句,则值将此部分SQL关键字转化为大写,否则,当前查询器脚本的所有关键字都将大写(自定义变量不变)

快捷键:Ctrl+B,Ctrl+U

 

4、  Qualify Object Names

将选中部分的变量转换为全限定名,即

Owner.object

或者

Table.Column

快捷键是:Ctrl+B,Ctrl+Q

 

5、  Expanding wildcards

让他们列出引用的表中存在的所有列

快捷键:Ctrl+B,Ctrl+W

 

6、  Find Invoid Objects

a)        查询库里所有无效的对象(无法编译,或者已经编译完成,但是无法执行)

b)        查询出结果后,可以进行Alter(可以多选)

c)        可以复制无效对象列表

d)        我想说的是,如果数据库很大,或者机器性能不行,建议不要使用该功能,特别容易卡死

 

7、  Find Unused Variables and Parameters

           在当前脚本里查找未使用到的参数或者变量,能够减少参数或者变量冗余

           没有使用的变量或者参数,用下划线进行标识

          快捷键:Ctrl+B,Ctrl+F

 

8、  Summarize Script

           这个类似代码缩放的功能, 能够层次清晰的显示出当前脚本的嵌套关系,你再也不用怕别人一大坨的嵌套的IF-ELSE,WHILE啥的了

           快捷键:Ctrl+B,Ctrl+S

 

9、  Script  Object  as  ALTER

选中的对象,生成ALTER脚本(只适用于视图,存储过程,触发器,函数),会新打开一个查询器窗口,并生成该对象的ALTER脚本

快捷键:F12

10、Smart  Rename

         重命名对象,并同时修改依赖此对象的引用,只能在对象资源管理器视图,选中要修改的对象,选择Smart  Rename(支持修改,表,视图,以及表或视图的列,存储过程,函数,以及其参数)

        

 

 

 

11、EncapsulatingSQL as a new stored procedure

将选中的代码封装成一个存储过程,很简单,就不贴图了

12、Splitting atable

分割表:就是将一个大的表,查分成几个小表,同过主外键关联进行查询,具体的没研究,感兴趣的可以自己看看

13、Options 选项

关于sqlPrompt的设置,在博客园看到一篇不错的文章,就懒得自己整理了,感兴趣的自己看看吧

http://www.cnblogs.com/lyhabc/archive/2013/05/02/3055583.html

为了方便上网不方便的朋友,我已经把文章复制下来,贴到另外一个word里了,不过不可避免的错版了,凑合看吧

14、SnippetManage

最后讲一下Snippet Manage—代码片段

类似Eclipse的快捷键,比如,Eclipse里的快捷键sysout,生成的代码就是System.out.println();

 

这里有一些自带的,比如ssf,生成的代码就是SELECT * FROM ,如果输入表明后把光标放在*处,再按一下tab键就会把这个表的列展开,比如A表有C1,C2字段, SELECT * FROM A,

在*处按tab,就会变成

 SELECT C1,

                   C2

FROM A                                        

 

快捷键Scf生成的是SELCT COUNT(*) FROM

 

快捷键ct 生成的是

CREATE TABLE $CURSOR$

(

    -- column_name data_type,...

)

期中在代码片段里带有$CURSOR$生成代码后,光标会跳到$CURSOR$处

类似的占位符有$DATE$ , $TIME$ , $USER$ , $MACHINE$

分别会生成,当前日期2013-09-26星期四($DATE$),当前时间21:51($TIME$),当前用户AnJia ($USER$),当前机器的计算机名ANJIA-PC($MACHINE$)

比如公司为了降低学习成本,一般对于一些存储过程有硬性要求,这样写出来的存储过程,视图,等SQL块,比较规范,便于新人掌握,理解,所以对于一些,套式的东西,完全可以自定义成快捷键,每次直接生成就可以,比如我自己定义的cpa,生成的代码如下

--**************************************************************************

--版本号Ver1.0 软件工程事业部\物流仓储系统模块\

--编写目的:

--编写人:     赵安家                             

--编写日期: 2013-09-26星期四 21:57

--修改目的:

--最后修改人: 

--最后修改日期:

--**************************************************************************

CREATE PROCEDURE[dbo].[]

    @oper_code    VARCHAR(12),                   -- 操作编码

    @key_code     VARCHAR(12),                   -- 入库通知单主键

    @Check_Oper       VARCHAR(20),                   -- 审核人

    @Check_Des    VARCHAR(5000),                    --传入的字符串

    @Check_Msg    VARCHAR(500)OUTPUT                --返回信息

AS

    BEGIN

      

      

      

      

       --公共变量

       DECLARE @int_count                               INT;                       --

       DECLARE @int_i                                   INT;                       --

 

       SET @key_code= REPLACE(@key_code,'''', '');        --获取主表主键

       SET @Check_Des= REPLACE(@Check_Des,'''', '');         --获取字符串

   

       --开启事务

       BEGIN TRANTrans;

       SAVE TRANTrana;

 

       --生成主键

       --EXEC dbo.BarCode_GetSheetNoProc'081033', '', @str_SOCode OUTPUT,@ErrorMsg = @HintMsg1 OUTPUT;

       --生成单据号

       --EXEC dbo.CreateNewBusinessDocNo'081002', @str_SBusinessDocNo OUT;

       --截取字符串

       --SELECT a FROMdbo.split(@Check_Des,',') WHERE i=1

       -- 错误处理

       IF @@error<> 0

           BEGIN

              ROLLBACK TRAN Trana;

              COMMIT TRAN Trans

           END

       ELSE

           BEGIN

              COMMIT TRAN Trans;

           END

    END

---------------------------------------------------------------------------------------------------------------

/* 时调用此存储过程

 * 存储过程名:

 * 第一个参数指操作编码,目前为空

 * 第二个参数指主键编码,如'10001'

 * 第三个参数指审核人工号,如管理员审核,其工号为'101'

 * 第四个参数指备注,传参

 * 第五个参数指返回信息,前台接收的提示信息

 */

/*

EXEC  @oper_code = '', @key_code = '10010',  @Check_Oper = '101', @Check_Des = '',@Check_Msg = ''

插入操作的时候,@Check_Des为空

EXEC  '', '10010', '101', '',  '';

 

EXEC  '', '10010', '101', '',  '';

*/

 

比如自定义ds,代码如下

 

DECLARE @str_光标在此                VARCHAR(12);--注释

 

比如自定义的while 代码如下

WHILE (@int_i<=@int_count)

BEGIN

    SELECT @int_i=@int_i+1,FROM 光标在此 WHERE id=@int_i;

   

END

 

如何创建代码片段呢?

1.      在查询分析器,选中要创建成片段的代码,然后右键

2.




不贴图了,详细的word文档在我的网盘里:http://pan.baidu.com/s/19nRv2

原创粉丝点击