17、SQL基础整理(事务)

事务

事务==流程控制 确保流程只能成功或者失败,若出现错误会自动回到原点

例:

begin tran

insert into student values(‘111‘,‘王五‘,‘男‘,‘1999-09-09‘,‘95033‘)

if @@ERROR>0

goto tranrollback--直接到tranrollback

insert into course values(‘3-102‘,‘语文‘,‘804‘)

if @@ERROR>0

goto tranrollback

insert into score values(‘111‘,‘3-102‘,98)

if @@ERROR>0

begin

tranrollback:---回滚事务

rollback tran

end

else

commit tran--提交事务

-------------------格式--------------------

begin  tran

if  @@error>0

goto  tranrollback

……

if  @@error>0

begin

tranrollback:

rollback  tran

end

else

commit  tran

时间: 2024-08-29 17:09:36

17、SQL基础整理(事务)的相关文章

必杀技———SQL基础整理系列(一)

SQL(Structured Query Language)——结构化查询语言 SQL语言的组成部分 数据定义语言 (DDL:Data Definition Language) 负责数据结构定义与数据库对象定义的语言,由CREATE.ALTER.DROP三个语法所组成,操作的对象包括关系表.视图.索引等. 数据操纵语言(DML: Data Manipulation Language) 其语句包括动词SELECT(查询).INSERT(添加).UPDATE(修改).DELETE(删除)表中的行.

SQL基础整理

SQL 是用于访问和处理数据库的标准的计算机语言. 什么是 SQL? SQL 指结构化查询语言 SQL 使我们有能力访问数据库 SQL 是一种 ANSI 的标准计算机语言 编者注:ANSI,美国国家标准化组织  SQL 能做什么? SQL 面向数据库执行查询 SQL 可从数据库取回数据 SQL 可在数据库中插入新的记录 SQL 可更新数据库中的数据 SQL 可从数据库删除记录 SQL 可创建新数据库 SQL 可在数据库中创建新表 SQL 可在数据库中创建存储过程 SQL 可在数据库中创建视图 S

11、SQL基础整理(变量)

变量 定义变量:declare  @hello  varchar(20) 赋值:set  @hello = ‘你好’ select(结果框显示)/print(消息框显示) @hello *三行必须同时运行 declare @hello varchar(20) set @hello = '销售部' select *from bumen where name = @hello 当放到select 和from中间时,可以当做赋值语句,不执行查询功能(赋值为查询到的最后一行数据) declare @he

5、SQL基础整理(字符串函数)

字符串函数 ASCII 返回字符串首字母的ascii编码 select ASCII('name') select ASCII(name) from xuesheng select *from xuesheng where ASCII(name)>=200 CHAR --将ascii代码转换成对应的字符 select CHAR(13)--回车键 CHARINDEX 在一个表达式中搜索另一个表达式,并返回其起始位置(如果没找到,返回’0’) select CHARINDEX('efg','abcde

8、SQL基础整理(约束)

约束 主键约束 防止在新增数据时出错,有约束性,起唯一标志的作用,在新增条目的时候防止不慎添加重复内容(不允许有null值) 1.  右键—设计—设置主键 2.在创建表格时设置 code int primary key, 3.可以设置自增长的功能 code int primary key identity(1,1) 4.在自增长的环境下删掉其中一行,其他行不受影响 5.可以加快查询的速度,减慢新增和修改的速度 外键约束 设计—关系—添加—表和列规范—需要有联系的两个列 主键需要先设置,然后在主键

15、SQL基础整理(视图)

视图 即虚拟表 系统-右键-新建视图 编辑前200行 select *from studentscore 代码创建法: create view studentscore as select student.sno,sname,ssex,sbirthday,class,cno,degree from student join score on student.Sno=score.sno 删除视图: drop view studentscore 修改视图: alter view cts as sel

7、SQL基础整理(子查询)

子查询 (用来进行两表等之间的查询) ***括号里面的查询只能显示一个列的信息 select *from haha where age in ( select MAX(age) from haha where bumen = '销售部' )and bumen in ( select bumen from haha group by bumen having COUNT(*)>5 ) --练习:按年龄从小到大排序后第..人的信息 select top 3 *from haha where code

6、SQL基础整理(日期时间数据类型,转换函数)

日期时间数据类型 *系统常量: @@DATEFIRST(返回当前时间) DATEADD 增加时间 语法:DATEADD (datepart , number , date ) select DATEADD(YEAR,2,'2013-11-2') DATEDIFF 两个日期之间的距离 select DATEDIFF(YEAR,'2011-7-18','2014-11-2') DATENAME 返回某个时间值里面想要得到某块类型的数 select DATENAME(YEAR,'2011-7-8')

12、SQL基础整理(运算符与优先级)

运算符 + - * / %(取余),赋值运算符 = declare @jia int set @jia = 1+1 print @jia declare @jia int set @jia = 10%3 print @jia 比较运算符> ,<, >=, <=,<>(不等于),!=, !<, !>   ?逻辑运算符and, or, all(条件全部满足), any(任何一个条件满足), between(范围), in(任何一个条件满足), like, not