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='测试名'