麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

觸發器和存儲過程

2019-11-14 14:28:27
字體:
來源:轉載
供稿:網友

觸發器

現有字典表(Dict)

字段說明
Id標示
ItemKey
ItemValue
UpperId上層標示

需求一:當新增一條記錄的時候,若已存在相同鍵的,拒絕插入

//操作步驟:展開相關表,右擊‘觸發器’,新建即可

復制代碼
USE [sqlffwj]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TRIGGER [dbo].[CheckKeyRepeated]   ON  [dbo].[Dict]   for INSERTASif(select COUNT(*) from [Dict], inserted inobj where [Dict].ItemKey = inobj.ItemKey and [Dict].Id != inobj.Id) > 0BEGIN    raiserror('已有相同鍵,不能插入',16,1)    rollback tranEND
復制代碼

需求二:當刪除一條記錄的時候,若有下層記錄,拒絕刪除

復制代碼
USE [sqlffwj]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TRIGGER [dbo].[CheckDependence]   ON  [dbo].[Dict]   for deleteASif(select COUNT(*) from [Dict], deleted delbj where [Dict].UpperId = delbj.Id) > 0BEGIN    raiserror('有下層記錄,不能刪除',16,1)    rollback tranEND
復制代碼

需求三:當刪除一條記錄的時候,若有下層記錄,下層也一起刪除

復制代碼
USE [sqlffwj]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TRIGGER [dbo].[CheckDependence2]   ON  [dbo].[Dict]   AFTER deleteASwhile(select COUNT(*) from [Dict] where UpperId != 0 and UpperId not in (select Id from [Dict])) > 0BEGIN    delete from [Dict]     where UpperId != 0 and UpperId not in (select Id from [Dict])    END
復制代碼

 

 存儲過程

 現有用戶表(User)

字段說明
Id標示
Name姓名
Age年齡
DeptId部門標示

部門表(Dept)

字段說明
Id標示
Name名稱

需求一:用存儲過程查詢所有用戶的信息(標示、姓名、年齡、部門名)

 //操作步驟:展開數據庫,再展開可編程性,右擊‘存儲過程’,新建即可

復制代碼
SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE [dbo].[GetUsers]ASBEGIN        select [User].Id '標示',[User].Name '姓名', [User].Age '年齡', [Dept].Name '部門' from [User] left join [Dept] on [User].DeptId = [Dept].IdENDGO
復制代碼
/* 調用 */exec GetUsers

需求二:用存儲過程查詢指定部門的用戶信息(標示、姓名、年齡、部門名)

復制代碼
SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE [dbo].[GetUsersByDept](    @deptid int /* 部門標示 */    )ASBEGIN        select [User].Id '標示',[User].Name '姓名', [User].Age '年齡', [Dept].Name '部門'    from [User] left join [Dept] on [User].DeptId = [Dept].Id    where [Dept].Id = @deptidENDGO
復制代碼
/* 調用 */exec GetUsersByDept 2

需求三:在項目中用ADO調用存儲過程'GetUsersByDept'

1、環境:VS2010+sql2008

2、新建edmx文件,引用兩張表和存儲過程

 3、切換到‘模型瀏覽器’,‘添加函數導入’

 

4、在‘添加函數導入’面板,點擊‘獲取列信息’,獲取到列信息后再點擊‘創建新的復雜類型’,確定后就可以通過Func調用存儲過程了

 5、調用代碼Demo

            using (var context = new SqltestEntities())             {                var result = context.GetUsersByDept(2);                throw new Exception(result.Count().ToString());            }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 激情av在线| 毛片在哪看| 国产永久免费观看 | 黄色一级片免费观看 | 亚洲国产一区二区三区 | 国产一区二区精品免费 | 七首小情歌泰剧在线播放 | 嗯~啊~用力~高h | 99re66热这里只有精品8 | 性高湖久久久久久久久aaaaa | 成人毛片视频免费看 | 成人羞羞视频在线观看免费 | 一级做a爰片性色毛片2021 | 99国内精品 | 国产精品视频在线观看免费 | 黄色网络免费看 | 成人一级免费视频 | 中文字幕在线永久视频 | 国产精品自在线拍 | 小雪奶水翁胀公吸小说最新章节 | wankz100%videos | 久久国产精品影视 | 一级一级一级毛片 | 成人一级视频在线观看 | 精品一区二区三区中文字幕 | 蝌蚪久久窝| 久久久精彩 | 久章草在线视频 | 成人啪啪色婷婷久 | 有兽焉免费动画 | 播色网 | 亚洲国产精品一区二区三区 | 精品国产一区三区| 亚洲精品永久视频 | 国产成人精品一区在线播放 | 美国一级黄色毛片 | 国产亚洲精品综合一区91 | 欧美一级特黄aaaaaa在线看首页 | 国产女王女m视频vk 中文日韩 | 黑人一区二区三区四区五区 | 亚洲成人播放 |