SQL Server Management Studio 有个模板资源管理器,不知你用过没有?使用模板创建脚本、自定义模板等功能能大大提高你的工作效率,如果没有尝试过,赶紧去试试吧。很多时候,我们习惯了手写脚本,而不愿意花费精力去研究陌生的工具。

你可以在通过下面方式打开模板资源管理器  视图->模板资源管理器; 也可以通过快捷键CTRL + ALT + T打开它。如图所示,你可以看见里面已经包含了许多模板了。

你可以点击任何一个模板,查看它的属性,就可以知道这些模板存储在那个地方了,我本地数据的模板存储在C:\Documents and Settings\Administrator\Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell\Templates\Sql  目录下面。

模板资源管理器下有SQL Server模板、Analysis Services模板、SQL Server Compact Edition模板三种类型。

在创建自己的模板前,我们来看看系统提供的一些模板. 打开目录Stored Procedure,选择Create Procedure Basic Template 双击打开,如下图所示

Create Procedure Basic Template

-- =============================================
-- Create basic stored procedure template
-- =============================================

-- Drop stored procedure if it already exists
IF EXISTS (
  SELECT * 
    FROM INFORMATION_SCHEMA.ROUTINES 
   WHERE SPECIFIC_SCHEMA = N'<Schema_Name, sysname, Schema_Name>'
     AND SPECIFIC_NAME = N'<Procedure_Name, sysname, Procedure_Name>' 
)
   DROP PROCEDURE <Schema_Name, sysname, Schema_Name>.<Procedure_Name, sysname, Procedure_Name>
GO

CREATE PROCEDURE <Schema_Name, sysname, Schema_Name>.<Procedure_Name, sysname, Procedure_Name>
    <@param1, sysname, @p1> <datatype_for_param1, , int> = <default_value_for_param1, , 0>, 
    <@param2, sysname, @p2> <datatype_for_param2, , int> = <default_value_for_param2, , 0>
AS
    SELECT @p1, @p2
GO

-- =============================================
-- Example to execute the stored procedure
-- =============================================
EXECUTE <Schema_Name, sysname, Schema_Name>.<Procedure_Name, sysname, Procedure_Name> <value_for_param1, , 1>, <value_for_param2, , 2>
GO

然后你在查询菜单下选择“指定模板参数的值”,快捷键(CTRL + SHIFT + M),弹出如下窗台,你可以定义存储过程名、参数以及参数的默认值等(如下图所示),

定义完后,单击确定,就可以得到如下你想要的存储过程基本定义,然后填写自己的逻辑代码,避免了从头开始一步一步重写。减少不必要的重复劳动。最重要的是它能灵活的定义你自己想要的模板名称。下面来看看一步步定义自己的模板。如图所示:我们首先新建一个名为“Kerry Stored Procedure”的文件夹,然后点击文件夹,新建名为“Create Procedure Basic Template”的模板

  • 右键单击新模板,然后单击“编辑”。在“连接到数据库引擎”对话框中,单击“连接”在查询编辑器中打开新模板。

  • 在查询编辑器中创建一个脚本。按照 <parameter_name, data_type, value> 格式在脚本中插入参数。数据类型和数据值区域必须存在,但是可以为空。

  • 在工具栏上,单击“保存”以保存新模板。

    这样一个新的模板就建立了,如下所示

    自定义的存储过程模板

    USE [MyAssistant]
    GO

    SET ANSI_NULLS ON
    GO

    SET QUOTED_IDENTIFIER ON
    GO

    IF OBJECT_ID('<Procedure_Name>', N'P') IS NOT NULL 
    BEGIN
        DROP PROC <Procedure_Name>;
    END
    GO

    --====================================================================================================
    --        Function             :        ...........................
    --        Author                :        Kerry
    --        Create    Date        :        2010-08-11
    --        Description           :        ...........................。
    ------------------------------------------------------------------------------------------------------
    --        2010-08-12                    修改了.....删除了..........    
    --====================================================================================================
    CREATE PROCEDURE <Schema_Name, sysname, Schema_Name>.<Procedure_Name, sysname, Procedure_Name>
        <@param1, sysname, @p1> <datatype_for_param1, , int> = <default_value_for_param1, , 0>, 
        <@param2, sysname, @p2> <datatype_for_param2, , int> = <default_value_for_param2, , 0>
    AS

    SET NOCOUNT ON;
    BEGIN TRY

    END TRY

    BEGIN CATCH
        SELECT   ERROR_NUMBER()        AS ErrorNumber  
                ,ERROR_SEVERITY()      AS ErrorSeverity
                ,ERROR_STATE()         AS ErrorState
                ,ERROR_PROCEDURE()     AS ErrorProcedure
                ,ERROR_LINE()          AS ErrorLine
                ,ERROR_MESSAGE()       AS ErrorMessage;
    END CATCH

    GO

当你要定义一个存储过程的时候,就可以像上面那样创建一个新的存储过程,当然,如果你不习惯上面哪种定义参数的方式,你也可以用下面的方式,把存储过程名、参数等命名为一个特定的存储过程,新建存储过程时、手动在打开的模板里面修改。如下所示,这个可以视个人习惯而定。

代码

USE [MyAssistant]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

IF OBJECT_ID('USP_StoreProcedureName', N'P') IS NOT NULL 
BEGIN
    DROP PROC USP_StoreProcedureName;
END
GO

--====================================================================================================
--        Function              :        ...........................
--        Author                :        Kerry
--        Create    Date        :        2010-08-11
--        Description           :        ...........................。
------------------------------------------------------------------------------------------------------
--        2010-08-12                    修改了.....删除了..........    
--====================================================================================================
CREATE PROCEDURE [dbo].[USP_StoreProcedureName]
    @StartTime            DATETIME,
    @EndTime              DATETIME,
    @CstartTime           DATETIME,
    @CendTime             DATETIME
AS
SET NOCOUNT ON;

BEGIN TRY

END TRY

BEGIN CATCH
    SELECT   ERROR_NUMBER()        AS ErrorNumber  
            ,ERROR_SEVERITY()      AS ErrorSeverity
            ,ERROR_STATE()         AS ErrorState
            ,ERROR_PROCEDURE()     AS ErrorProcedure
            ,ERROR_LINE()          AS ErrorLine
            ,ERROR_MESSAGE()       AS ErrorMessage;
END CATCH

GO

SQL模板资源管理器,你用了吗?的更多相关文章

  1. Sql Server系列:Microsoft SQL Server Management Studio模板资源管理器

    模板资源管理器是Microsoft SQL Server Management Studio的一个组件,可以用来SQL代码模板,使用模板提供的代码,省去每次都要输入基本代码的工作. 使用模板资源管理器 ...

  2. SQL server2008-对象资源管理器

    对象资源管理器:数据库 .安全性.服务器对象.复制.管理 .SQL server代理 六部分组成

  3. sql server 对象资源管理器(一)

    当需要查看具体数据库的所有用户表.存储过程等创建修改等脚本的时候,可以借用视图中的对象资源管理器的详细信息里面获取. 具体操作如下图所示:

  4. SQL Server Management Studio的对象资源管理器的使用

    1.查看 2.对象资源管理器 3.点到某个表的身上 4.出现以下图片,因为有时动态创建的触发器,刷新表下面的触发器可能不出来,所以来这里面找

  5. OCM_第十二天课程:Section6 —》数据库性能调优_ 资源管理器/执行计划

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  6. Oracle资源管理器(二)-- 创建和使用数据库资源计划

    (参考 http://blog.csdn.net/mrluoe/article/details/7969436 -- 整理并实践通过) 第1步,创建3个用户 SQL> create user s ...

  7. Oracle资源管理器介绍(一)

        数据库资源管理器通过控制数据库内部的执行调度来控制资源在各个会话之间的分布.通过控制所要运行的会话以及会话运行的时间长度,数据库资源管理器可以确保资源分布与计划指令相匹配,因此也符合业务目标. ...

  8. SQL语句构建器类

    问题 Java程序员面对的最痛苦的事情之一就是在Java代码中嵌入SQL语句.这么来做通常是由于SQL语句需要动态来生成-否则可以将它们放到外部文件或者存储过程中.正如你已经看到的那样,MyBatis ...

  9. 第七课 GC资源管理器实验

    <GC资源管理器> 要求: 1.定义2个资源消耗组(OLTP事务处理资源消耗组和DSS数据仓库资源消耗组) 2.创建一个日程计划schedule   3.对于OLTP资源消耗组,我们最多不 ...

随机推荐

  1. OLEDB数据源

    title: OLEDB数据源 date: 2018-01-12 21:42:37 tags: [OLEDB, 数据库编程, VC++, 数据库] categories: windows 数据库编程 ...

  2. JBDC工具类

    package Util; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultS ...

  3. 【Docker】安装Docker及基本使用

    该文以CentOS系统为例,介绍Docker安装及基本使用.为了简化安装流程,Docker 官方提供了一套安装脚本,CentOS 系统上可以使用这套脚本安装: curl -sSL https://ge ...

  4. gitignore文件的作用

    早上上传文件的时候,发现有一些密钥不需要增加到版本库中,但是由于每次git status都会提示Untracked files ...并且这些文件并不需要一直提示,会占用相应的需要跟踪的文件位置,导致 ...

  5. strace命令【转】

    strace命令使用: strace常用来跟踪进程执行时的系统调用和所接收的信号. 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用 ...

  6. CSS基础知识(display和visibility、overflow、文档流)

    9.显示与隐藏 u  display属性: (1)none:隐藏元素,不会再占有页面的任何空间,即不会影响布局. (2)inline:默认值.将元素[显示]为内联元素     (与HTML元素本身无关 ...

  7. fiddler抓手机报文的配置指南

    前言 1.fiddler大名鼎鼎的抓包工具,而且支持重发,自动解码报文之类. 2.做爬虫时经常遇到需要抓移动端(手机/pad等)报文的情况. 网上各种资料比较,下面这篇是最准确的,转载自csdn:ht ...

  8. HDU 1024 Max Sum Plus Plus【动态规划求最大M子段和详解 】

    Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  9. POJ 1804 Brainman(5种解法,好题,【暴力】,【归并排序】,【线段树单点更新】,【树状数组】,【平衡树】)

    Brainman Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 10575   Accepted: 5489 Descrip ...

  10. ACM中常见错误对应表

    因为经常写错题,找了个这个看看... 传送门:http://www.cnblogs.com/ZouCharming/p/3868844.html 我太垃圾了... 我出现过的错误: Wrong Ans ...