首页 > 数据库技术 > 详细

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

时间:2017-11-23 11:50:26      阅读:301      评论:0      收藏:0      [点我收藏+]
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=‘测试名‘

  

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

原文:http://www.cnblogs.com/oralig/p/7883902.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!