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 i…
事务==流程控制 确保流程只能成功或者失败,若出现错误会自动回到原点 具体的实现代码如下: begin tran insert into student values(') goto tranrollback--直接到tranrollback insert into course values(') goto tranrollback insert into score values() begin tranrollback:---回滚事务 rollback tran end else comm…
SQL(Structured Query Language)——结构化查询语言 SQL语言的组成部分 数据定义语言 (DDL:Data Definition Language) 负责数据结构定义与数据库对象定义的语言,由CREATE.ALTER.DROP三个语法所组成,操作的对象包括关系表.视图.索引等. 数据操纵语言(DML: Data Manipulation Language) 其语句包括动词SELECT(查询).INSERT(添加).UPDATE(修改).DELETE(删除)表中的行.…
一.游标 1.游标简介 SQL是一种集合操作语言,但有时候需要对单行操作怎么办呢? 也就是有时候会过滤出不止一行的数据,但是想一行行的处理: ---游标 游标: 从集合中依次提取单条记录,直接提取完最后一条: 类似于指针的作用: 尽管游标能遍历结果中的所有行,但一次只指向一行: 游标的适用场景: 存储过程 函数 触发器 游标的使用步骤: 定义游标 DECLARE 游标名称 CURSOR FOR SELECT子句; 打开游标 OPEN 游标名称 使用游标 FETCH 游标名称 INTO 变量名1,…
变量 定义变量: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…
约束 主键约束 防止在新增数据时出错,有约束性,起唯一标志的作用,在新增条目的时候防止不慎添加重复内容(不允许有null值) 1.  右键—设计—设置主键 2.在创建表格时设置 code int primary key, 3.可以设置自增长的功能 code int primary key identity(1,1) 4.在自增长的环境下删掉其中一行,其他行不受影响 5.可以加快查询的速度,减慢新增和修改的速度 外键约束 设计—关系—添加—表和列规范—需要有联系的两个列 主键需要先设置,然后在主键…
字符串函数 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…
触发器(方便备份) 本质上还是一个存储过程,只不过不是通过exec来调用执行,而是通过增删改数据库的操作来执行(可以操作视图) 全部禁用触发器 alter table teacher disable trigger all 全部开启触发器 alter table teacher enable trigger all create trigger TR_student_delete--默认触发器名 on student --在哪个表上操作 instead of delete --为了对表做什么而建…
视图 即虚拟表 系统-右键-新建视图 编辑前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…
存储过程procedure(proc) 数据库—可编程性—存储过程 新建存储过程: create proc firstproc as select *from fenshu go 执行存储过程: 存储过程—右键—执行存储过程 declare @fanhuizhi  int exec @fanhuizhi = firstproc select 'Return Value' = @fanhuizhi return  value执行成功/失败的返回值(0为成功) execute/exec firstp…