SQL 视图、事务

unruledboy 阅读:169 2022-09-29 09:59:35 评论:0

假设看多个不同的表

select *from student ,score,course,teacher

有重复的    改为select student.Sno,sname,ssex,sbirthday,Class,score.Cno,degree,cname,tname,prof,depart from student,Score,Course,Teacher

做出来这个表  不是真实存在的  但是以后要用   怎么保存下来呢

就要用到视图   把这表的数据保存下来  

1、只能用来查看的,不能增删改

2、不能有重复列(重复列是 多个sno列  多个cno列。。。)

创建视图

create  view 视图名

as

以后要查看的数据图     的语句

例如:

create view hah 
as 
select student.Sno,sname,ssex,sbirthday,Class,score.Cno,degree,cname,tname,prof,depart from student,Score,Course,Teacher
View Code

视图所在的位置

调用视图

select *from 视图名

例如:

select *from hah

 

 事务

相当于C#的抓捕异常,但是这里的是只要有一处错误就会返回刚开始   

事务就是监控异常,  比如  假设银行转账  一个转账  一个接受钱  没有事务的话  假设转账钱转了  接受钱的没有到账    那么钱是转了 是输入进去   就是没有给接受的钱转    两家亏

                                       有事务的话就是一个转   一个没接受  就会回到原始位置  就是转账的没有转账    要不一起(一个转到账  一个接受到账) 

例如:

begin tran 
  /*--定义变量,用于累计事务执行过程中的错误--*/ 
declare @a int; 
set @a=0 --初始化为0,即无错误 
  /*--转账:张三的账户少1000元,李四的账户多1000元*/ 
update bank set money=money-1000 where name='张三' 
   
update bank set Money=Money+1000 where Name='李四' 
   
if @@error >0 --如果有错误 
 begin 
  print '交易失败'  -- 提示 
  rollback tran       --回滚事务    
 end 
else 
 begin 
  print '交易成功'    
   commit tran        --提交事务,写入硬盘,永久的保存 
 end 
  GO 
  print '查看转账事务后的余额' 
  SELECT * from bank 
  GO
View Code

备份还原

   备份数据,防止数据错误操作,影响数据库数据。

(1)                                                                                                          

     

(2)

 

(3)

还原数据,在有备份的基础上还原数据。

(1)

(2)

四。分离附加

分离

多人项目合作时需要将每人的数据分离复制到同一台电脑的数据库中。找到后复制粘贴即可。

附加 

将赋值来的数据在统一数据库中运行

(1)

(2)找到位置添加即可


本文参考链接:https://www.cnblogs.com/zhangwei99com/p/6600519.html
标签:数据库
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号