MSSQL手札三 MSSQL存储过程
2015-02-06 11:05
155 查看
--存储过程完成一段sql代码的封装 create proc trim --参数列表,多个间用逗号分隔 @str varchar(10) as --自定义代码段 declare @str1 varchar(10) set @str1=LTRIM(RTRIM(@str)) print @str1 --使用存储过程 exec trim ' abc ' --'abc' --===带输出参数的存储过程 --求两个数的和 create proc sum1 @num1 int, @num2 int, @result int output--表示这个参数可以将结果带出存储过程 as set @result=@num1+@num2 declare @r1 int exec sum1 1,2,@r1 output--必须要写output关键字,否则调用出错 print @r1 --===参数带默认值的存储过程,注意:默认值必须是最后一个参数 alter proc multi @num1 int, @num2 int=10 output--output的功能类似于C#中的ref修饰参数 as set @num2=@num2*@num1 print @num2 --测试带出值的效果 declare @num int=2 exec multi 3,@num output select @num --测试默认值 exec multi 3
例子如上,其中存储过程名不能超过128个字。每个存储过程中最多设定1024个参数,另外在存储过程内部声明参数需要关键字declare,参数之间也需要逗号隔开。
注意事项:不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程。
临时存储过程,以井字号(#)作为其名称的第一个字符,则该存储过程将成为一个存放在tempdb数据库中的本地临时存储过程,且只有创建它的用户才能执行它;
相关文章推荐
- MSSQL手札一 MSSQL的游标
- MSSQL手札二 MSSQL的触发器
- MSSQL手札四 MSSQL的函数
- mssql 不能读取数据
- 与MSSQL对比学习MYSQL的心得(一)--基本语法
- A Class For Executing MSSql Store Procedure
- nagios学习手札
- jdbc连接mssql
- mssql中把text类型的字段转成varchar来使用
- 在MSSQL中实现Sequence功能
- Spring 注解学习手札
- Perl学习手札
- MSSQL附加数据库拒绝访问提示5120错误的处理方法
- 上传文件到MsSql数据库中
- 与MSSQL对比学习MYSQL的心得(七)--查询
- 单用户多角色权限的MSSQL实现
- MSSQL段落还原脚本,SQLSERVER段落脚本
- 看看这(MSSQL)
- MSSQL与Oracle数据库事务隔离级别与锁机制对比
- mssql中的view(视图)