存储过程的基本语法与事务的基本概念

  • 事务
    1. 开始事务
      1. Begin transaction
    2. 提交事务
      1. Commit transaction
    3. 回滚事务
      1. Rollback transaction

 

例如:银行转账的典型案例

语法:

Begin transition   --开始事务

Declare @money int  --定义变量来判断sql语句是否报错

Update bank set money = money - 100 where person = ‘张总’  -- 张总的账户减少100万

@money = @@error             --@@error 判断上一句SQL语句是否错误

Update bank set money = money - 100 where person = ‘李总’  -- 张总的账户钱增加100万

@money = @money + @@error

 

If(@@money = 0)

Begin

Commit            --提交事务

End

Else

Begin

Rollback         --回滚事务

end

 

@@error 系统变量:判断上一条SQL语句是否出错,如果出错返回值不等于0,不出错,返回值就是0

 

 

 

  • 存储过程
    1. 创建存储过程
      1. Create procedure proc_name

@变量名  数据类型  =  默认值          --参数

@变量名  数据类型  =  默认值  out/output   --输出参数

as  

Begin

@变量名 数据类型

SQL语句

End

go

 

out与output的区别:

相同点:都是输出参数

不同点:out只能指明输出参数是谁,不能够给参数赋值

Output可以赋值 ,而且在存储过程中可以当作变量来使用

 

 

  • 字符串截取常见的方法
    1. Select left(‘hello word’,4)  ==>hell  ---第一个参数是要截取的字符串,第二个参数是截取长度
    2. Select right(‘hello word’,4)  ==>word
    3. Substring(‘hello word’,1,3)  ==>hel   --第一个参数是要截取的字符串,第二个参数是从那个位置开始截取,第三个参数是截取到那个位置
  • 去掉空格的方法
    1. Select ltrim(‘    hello  word’)   --去掉左边的空格
    2. Select ltrim(‘ hello  word     ’)   --去掉右边的空格

猜你喜欢

转载自blog.csdn.net/qq_42653574/article/details/81952824