zoukankan      html  css  js  c++  java
  • MSSQL手札三 MSSQL存储过程

    --存储过程完成一段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数据库中的本地临时存储过程,且只有创建它的用户才能执行它;
  • 相关阅读:
    剑指offer面试题17:合并两个排序的链表
    剑指offer面试题16:反转链表
    剑指offer面试题15:链表中倒数第K个节点
    Jinja2.template渲染两种常见用法
    hadoop集群运维碰到的问题汇总
    hbase配置参数总结
    hbase内核学习总结
    zookeeper学习笔记
    mongodb 3.2性能测试
    kafka内部结构笔记
  • 原文地址:https://www.cnblogs.com/llcdbk/p/4276652.html
Copyright © 2011-2022 走看看