zoukankan      html  css  js  c++  java
  • SQL Prompt5的工具栏按钮介绍

    这是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
  • 相关阅读:
    线段树的区间更新---A Simple Problem with Integers
    划分树---Feed the dogs
    划分树基础知识
    Treap树的基础知识
    平衡二叉树---Shaolin
    KMA & ex_KMP---Revolving Digits
    DP---Mahjong tree
    《程序员代码面试指南》第一章 栈和队列 最大值减去最小值小于或等于num的数量
    《程序员代码面试指南》第一章 栈和队列 求最大子矩阵大小
    《程序员代码面试指南》第一章 栈和队列 构造数组的MaxTree
  • 原文地址:https://www.cnblogs.com/accumulater/p/13049782.html
Copyright © 2011-2022 走看看