SQL Service 数据库 基本操作 视图 触发器 游标 存储过程

use NewTest1

---声明视图---
create view NewViewte
as
select StudentInfo.name as 姓名,StudentInfo.sex as 性别,course.name as 课程 from StudentInfo join Course on StudentInfo.Cid= Course.id

---调用视图
select * from NewViewte
--- 声明触发器---
create trigger NewTri
on ClassInfo
for insert
as print'数据插入测试'
go

create trigger NewTri1
on ClassInfo
for Delete
as print'数据删除测试'
go


insert into ClassInfo Values('测试name','测试老师name')

Delete from ClassInfo where id=7


create trigger NewTri11
on Course
for insert
as print'数据插入测试'
go

create trigger NewTri111
on Course
for Delete
as print'数据删除测试'
go

--- 声明游标---
declare  NewDeclare cursor
for
select * from  StudentInfo where Cid='1'

---游标使用---
---打开游标
open NewDeclare
---读取数据 fetch 获取
fetch Next from NewDeclare
select * from  StudentInfo where Cid='1'
--- 关闭游标
close NewDeclare
--- 删除游标 deallocate 释放
deallocate NewDeclare


--- 创建存储过程---

create proc NewProc
@Cname Nvarchar(50),
@TeacheName Nvarchar(50),
@Name Nvarchar(50)
as
begin
  begin try  
     begin tran
     insert into Course values(@Cname)
     insert into ClassInfo values(@Name,@TeacheName)
     commit tran
  end try
  begin catch
  --- 若捕获到异常   ---则操作终止 回滚到最初
  if @@TRANCOUNT>0   ---在SqlServer里,嵌套事务的层次是由@@TranCount全局变量反映出来的
   ---则操作终止 回滚到最初
   begin
   
   rollback
   
   end
  end catch
end

exec NewProc @Cname='测试课程名',@TeacheName='测试老师名',@Name='测试名'

  

反思 空杯 担当
原文地址:https://www.cnblogs.com/oralig/p/7883902.html