1、Create、Alter和Drop

CREATE PROCEDURE USP_CategoryList
AS
SELECT CategoryID,CategoryName
FROM Category

  在创建存储过程时,应该使用一致的规范来命名存储过程,而不要使用sp_,使用sp_只会导致名称冲突和混乱。可以使用usp_作为存储过程名的前缀,但即使不使用任何前缀,也比使用sp_好。

2、返回记录集

EXEC USP_CategoryList

3、编译存储过程

EXEC sp_recompile USP_CategoryList

4、查看存储过程

sp_helptext USP_CategoryList

5、加密存储过程

CREATE PROCEDURE USP_CategoryList
WITH ENCRYPTION
AS
SELECT CategoryID,CategoryName
FROM Category

6、输入参数

CREATE PROCEDURE USP_CategoryList
(
@CategoryID INT
)
AS
SELECT CategoryID,CategoryName
FROM Category
WHERE CategoryID = @CategoryID
EXEC USP_CategoryList 1
EXEC StoredProcedure
@Parameter1 = n,
@Parameter2 = 'n'

7、参数的默认值

  调用存储过程时,必须为所有参数指定值,除非创建参数有默认值。

CREATE PROCEDURE StoredProcedure
(
@Variable DataType = DefaultValue
)

8、输出参数

  使用output定义输出参数,在不需要返回整个记录集时,输出参数非常适合用于返回单个数据单元。返回单行数据时,使用输出参数比使用记录集快得多。

CREATE PROCEDURE USP_CategoryList
(
@CategoryID INT,
@CategoryName VARCHAR(50) OUTPUT
)
AS
SELECT @CategoryName = CategoryName
FROM Category
WHERE CategoryID = @CategoryID
DECLARE @CategoryName VARCHAR(50)
EXEC USP_CategoryList @CategoryID = 1, @CategoryName OUTPUT
PRINT @CategoryName

9、return关键字

  return关键字无条件地终止存储过程的执行,并向调用它的批处理或客户返回一个值。

  使用返回值来指出运行是失败还是成功,而不是使用它返回实际数据。如果只需要返回一个值而不是这个数据集,可以使用输出参数。

EXEC @IntLocalVariable = storedProcedureName
CREATE PROCEDURE USP_IsItOK
(
@OK VARCHAR(10)
)
AS
IF @OK = 'OK'
RETURN 0
ELSE
RETURN -100
DECLARE @ReturnCode INT
EXEC @ReturnCode = USP_IsItOK 'OK'
PRINT @ReturnCode
EXEC @ReturnCode = USP_IsItOK 'NotOK'
PRINT @ReturnCode

MS SQL Server存储过程的更多相关文章

  1. 查看ms SQL Server存储过程,函数的内容

    方法1:最简单的,右键单击要查看的存储过程,选择“修改”: 方法2: SELECT definition FROM solar.sys.sql_modules WHERE [object_id]=(O ...

  2. MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建

    前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候 ...

  3. 在易语言中调用MS SQL SERVER数据库存储过程方法总结

    Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...

  4. MS SQL Server2014链接MS SQL Server 2000

    开发与企业应用中,好几个版本SQL Server相互链接.分布式读取与存储,需要实现sp_addlinkedserver.SQL Server 2000, SQL Server 2008, SQL S ...

  5. MS SQL SERVER 中的系统表

    MS SQL SERVER 中的系统表 序号 名称 说明 备注 1 syscolumns 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行.   2 syscomments 包含每 ...

  6. (火炬)MS SQL Server数据库案例教程

    (火炬)MS SQL Server数据库案例教程 创建数据库: CREATE DATABASE TDB //数据库名称 ON ( NAME=TDB_dat,//逻辑文件名 在创建数据库完成之后语句中引 ...

  7. 使用SqlBulkCopy导入数据至MS SQL Server

    原文:使用SqlBulkCopy导入数据至MS SQL Server Insus.NET一直使用表类型来数据入MS SQL Server.参考<存储过程参数为DataTable>http: ...

  8. MS SQL Server数据库修复/MDF数据文件数据恢复/MDF质疑/mdf无法附加

    微软的SQL Server 数据库最常用的有两种类型的文件: 1.主要数据文件,文件后缀一般是.MDF: 2.事务日志文件,文件后缀一般是.LDF. 用户数据表.视图.存储过程等等数据,都是存放在MD ...

  9. ms sql server,oracle数据库实现拼接一列的多行内容

    项目中要将查询出的一列的多行内容拼接成一行,如下图:ypmc列. ms sql server: 网上查到相关资料如下:http://blog.csdn.net/rolamao/article/deta ...

随机推荐

  1. MongoDB初步(一)

    1.软件下载:mongodb-win32-x86_64-2008plus-ssl-3.4.1-signed.msi 2.下载补丁:hotfix kb2731284

  2. jdk1.6 webService 客户端代码生成和测试

    参数:测试webService的地址:http://10.113.11.1:9090/enocpService/buildingEngService?wsdl 1,eclipse中新建一个项目, 2, ...

  3. windows编程:资源和播放声音

    要播放声音,要附加项:winmm.lib,然后包含头文件:#include <mmsystem.h> 播放声音用PlaySound函数,只能播放midi和wav波形文件. #define ...

  4. C#.net 中 修饰符 详解 (来自MSDN)

    自己理解的不够深刻,无奈基础较差!记上一笔,记忆深刻些,哈哈…… 1. 访问修饰符 public 同一程序集中的任何其他代码或引用该程序集的其他程序集都可以访问该类型或成员. private 只有同一 ...

  5. 详解spring事务属性

    Spring声明式事务让我们从复杂的事务处理中得到解脱.使得我们再也无需要去处理获得连接.关闭连接.事务提交和回滚等这些操作.再也无需要我们在与事务相关的方法中处理大量的try…catch…final ...

  6. 解剖SQLSERVER 第六篇 对OrcaMDF的系统测试里避免regressions(译)

    解剖SQLSERVER 第六篇  对OrcaMDF的系统测试里避免regressions (译) http://improve.dk/avoiding-regressions-in-orcamdf-b ...

  7. Android热修复技术选型(不在市场发布新版本的情况下,直接更新app)

    2015年以来,Android开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案,如QQ空间补丁方案.阿里AndFix以及微信Tinker,它们在原理各有不同,适用场景各异,到 ...

  8. [Xamarin] 從Xamarin中呼叫 *.jar 的 library - 呼叫篇 (转帖)

    上篇文章我們建立一個很簡單的Library : com.example.blackfactory.UtilFunc 現在我們要在Xamarin 中呼叫囉! 首先我們要先成立一個橋接的專案 JARBri ...

  9. Docker Registry搭建私有仓库

    利用Registry镜像搭建Docker私有仓库遇到了很多坑,说来也是找到的资料都是杂而不精的东西,所以也没少走了弯路,现在回过头看去感觉好多坑还是别人给挖的··· 不过努力的最终结果还是好的,因为找 ...

  10. 即时通信系统中如何实现:全局系统通知,并与Web后台集成?【低调赠送:QQ高仿版GGTalk 5.1 最新源码】

    像QQ这样的即时通信软件,时不时就会从桌面的右下角弹出一个小窗口,或是显示一个广告.或是一个新闻.或是一个公告等.在这里,我们将其统称为“全局系统通知”.很多使用GGTalk的朋友都建议我加上一个类似 ...