- 事务
- 开始事务
- Begin transaction
- 提交事务
- Commit transaction
- 回滚事务
- 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
- 存储过程
- 创建存储过程
- Create procedure proc_name
- 创建存储过程
@变量名 数据类型 = 默认值 --参数
@变量名 数据类型 = 默认值 out/output --输出参数
as
Begin
@变量名 数据类型
SQL语句
End
go
out与output的区别:
相同点:都是输出参数
不同点:out只能指明输出参数是谁,不能够给参数赋值
Output可以赋值 ,而且在存储过程中可以当作变量来使用
- 字符串截取常见的方法
- Select left(‘hello word’,4) ==>hell ---第一个参数是要截取的字符串,第二个参数是截取长度
- Select right(‘hello word’,4) ==>word
- Substring(‘hello word’,1,3) ==>hel --第一个参数是要截取的字符串,第二个参数是从那个位置开始截取,第三个参数是截取到那个位置
- 去掉空格的方法
- Select ltrim(‘ hello word’) --去掉左边的空格
- Select ltrim(‘ hello word ’) --去掉右边的空格