1. 程式人生 > >SQL Service 數據庫 基本操作 視圖 觸發器 遊標 存儲過程

SQL Service 數據庫 基本操作 視圖 觸發器 遊標 存儲過程

使用 ice info -- commit use dea 聲明 事務

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 數據庫 基本操作 視圖 觸發器 遊標 存儲過程