MS SQL Server存储过程
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存储过程的更多相关文章
- 查看ms SQL Server存储过程,函数的内容
方法1:最简单的,右键单击要查看的存储过程,选择“修改”: 方法2: SELECT definition FROM solar.sys.sql_modules WHERE [object_id]=(O ...
- MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建
前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候 ...
- 在易语言中调用MS SQL SERVER数据库存储过程方法总结
Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...
- MS SQL Server2014链接MS SQL Server 2000
开发与企业应用中,好几个版本SQL Server相互链接.分布式读取与存储,需要实现sp_addlinkedserver.SQL Server 2000, SQL Server 2008, SQL S ...
- MS SQL SERVER 中的系统表
MS SQL SERVER 中的系统表 序号 名称 说明 备注 1 syscolumns 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行. 2 syscomments 包含每 ...
- (火炬)MS SQL Server数据库案例教程
(火炬)MS SQL Server数据库案例教程 创建数据库: CREATE DATABASE TDB //数据库名称 ON ( NAME=TDB_dat,//逻辑文件名 在创建数据库完成之后语句中引 ...
- 使用SqlBulkCopy导入数据至MS SQL Server
原文:使用SqlBulkCopy导入数据至MS SQL Server Insus.NET一直使用表类型来数据入MS SQL Server.参考<存储过程参数为DataTable>http: ...
- MS SQL Server数据库修复/MDF数据文件数据恢复/MDF质疑/mdf无法附加
微软的SQL Server 数据库最常用的有两种类型的文件: 1.主要数据文件,文件后缀一般是.MDF: 2.事务日志文件,文件后缀一般是.LDF. 用户数据表.视图.存储过程等等数据,都是存放在MD ...
- ms sql server,oracle数据库实现拼接一列的多行内容
项目中要将查询出的一列的多行内容拼接成一行,如下图:ypmc列. ms sql server: 网上查到相关资料如下:http://blog.csdn.net/rolamao/article/deta ...
随机推荐
- VBoxManage: error: Cannot register the hard disk 解决办法
将虚拟盘从一个分区拷到另外一个分区上,打开虚拟机挂载这个虚拟盘老是报错,VBoxManage: error: Cannot register the hard disk '/media/New Vol ...
- 重编译Linux命令源代码
转: http://blog.csdn.net/endoresu/article/details/6967435 以su命令为例. 查看su命令的路径: # which su /bin/su 查看su ...
- [转] 多进程下数据库环境的恢复:DB_REGISTER
http://www.cnblogs.com/promise6522/archive/2012/05/09/2493542.html
- c++中的指针
指针用起来是一把利器,但用得不好的童鞋 无异于 火上浇油 ,下面笔者将自己学习 的一点小小心得,与君共享 指针在类中 1.对象指针 初始化 Point a(4,5); Point *p1 = & ...
- MSP430单片机的位操作
MSP430单片机属于RISC(Reduced Instruction Set Computer)型处理器.与普通的51单片机的复杂指令集相区别.普通51单片机执行一条指令最少需要12个时钟周期,而R ...
- 移动端web开发 问题
1.APP 返回按钮 <a href='#' onclick='javascript:history.back(-1);'></a> 返回有问题需要使用 href='javas ...
- iOS CGContextRef画图时的常用方法
UIView的drawRect方法 CoreGraphics绘图 综述:描述系统会调用UIView的drawRect方法,所以coreGraphics的所有实现代码放在该函数内,setNeedsDis ...
- JavaScript 基础第八天(DOM第二天)
一.引言 初步认识DOM有可能会被各种不熟悉的因为因素影响自己的学习心态,你需要的是多去记忆一些单词然后加强自己的代码量. 二.导入 在昨天初步认识DOM以后我们见天将接着介绍有关于DOM的内容. 三 ...
- LNMP编译安装基于centos7.2
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...
- 使用vim在Linux下编写C语言程序
1.进入字符界面 2.创建文件夹用于存放源文件 mkdir helloworld //创建文件夹命令 cd helloworld //进入新建的文件夹,这里应该说目录比较好,win ...