實驗九 存儲過程和觸發器

?題目

  1. 創建并執行一個無參數的存儲過程proc_product1,通過該存儲過程可以查詢商品類別名稱為“筆記本電腦”的商品的詳細信息:包括商品編號、商品名稱、品牌、庫存量、單價和上架時間信息

2、創建并執行一個帶輸入參數的存儲過程proc_product2,通過該存儲過程可以根據輸入參數供應商名稱和包含關鍵字的商品名稱進行商品具體信息的查詢:包括商品編號、商品名稱、品牌、庫存量、單價、成本價、供應商名稱、聯系電話信息

3、創建并執行一個帶輸入參數和輸出參數的存儲過程proc_product3,通過該存儲過程可以根據輸入的會員用戶名查詢出該會員購買的商品信息:包括商品名稱、購買數量和實付總金額信息

4、刪除存儲過程proc_product3

5、創建一個名為tri_insert1的DML觸發器,該觸發器的作用是:當向會員表member中添加一條記錄時,如果新添加的會員編號已經存在于表中,則禁止插入該條記錄,并提示該會員已經存在!。

6、創建一個名為tri_update1的DML觸發器,該觸發器的作用是:不允許修改訂單表orders中的discount屬性列的值,并給出提示語句“禁止修改orders表中的discount屬性列的數據!”

7、創建一個名為tri_insert2的DML觸發器,該觸發器的作用是:當向會員表member新插入一條會員記錄時,系統自動將部門表department中對應部門的屬性列deptotal進行加1處理

8、創建一個名為tri_delete的DML觸發器,該觸發器的作用是:用刪除會員表menmber中某條會員記錄的時,系統自動在訂單表orders中查詢是否有該會員的訂單記錄,如果有,則同時刪除該會員的所有訂單記錄

9、刪除觸發器tri_delete

步驟

  1. 創建并執行一個無參數的存儲過程proc_product1,通過該存儲過程可以查詢商品類別名稱為“筆記本電腦”的商品的詳細信息:包括商品編號、商品名稱、品牌、庫存量、單價和上架時間信息

Create?procedure?proc_product1?as

select?prono,?proname,?brand,?stock,?price,?ontime?from?product

?

2.創建并執行一個帶輸入參數的存儲過程proc_product2,通過該存儲過程可以根據輸入參數供應商名稱和包含關鍵字的商品名稱進行商品具體信息的查詢:包括商品編號、商品名稱、品牌、庫存量、單價、成本價、供應商名稱、聯系電話信息

Create??procedure??proc_product2(@supname?varchar(255),?@keyword?varchar(255))

as

select?prono,?proname,?brand,

?stock,?price,?cost,?supname,?telephone

from?product

left?join?supplier

on?supplier.supno?=?product.supno

where?supname?=?@supname?and?proname?like?'%'?+?@keyword?+?'%'

3.創建并執行一個帶輸入參數和輸出參數的存儲過程proc_product3,通過該存儲過程可以根據輸入的會員用戶名查詢出該會員購買的商品信息:包括商品名稱、購買數量和實付總金額信息

Create?procedure?proc_product3

@memname?varchar(50)

as

select?proname,qty,totalmoney

from?member,product,orders

where?member.memno=orders.memno?and?orders.prono=product.prono?and?memname?=?@memname

4、刪除存儲過程proc_product3

drop?procedure?proc_product3

5、創建一個名為tri_insert1的DML觸發器,該觸發器的作用是:當向會員表member中添加一條記錄時,如果新添加的會員編號已經存在于表中,則禁止插入該條記錄,并提示該會員已經存在!。

CREATE?TRIGGER?tri_insert1

on?member

for?insert

as

begin

declare?@memno?int;

select?@memno?=?memno?from?inserted;

select?*?from?member?where?memno?=?@memno;

if?exists(select?*?from?member?where?memno?=?@memno)

begin

rollback?tran

print?'不允許添加'

end

End

6、創建一個名為tri_update1的DML觸發器,該觸發器的作用是:不允許修改訂單表orders中的discount屬性列的值,并給出提示語句“禁止修改orders表中的discount屬性列的數據!”

CREATE?TRIGGER?tri_update1

on?orders

after?update

as

if?update(discount)

begin

rollback?tran

print'禁止修改orders表中的discount屬性列的數據!'

End

  1. 創建一個名為tri_insert2的DML觸發器,該觸發器的作用是:當向會員表member新插入一條會員記錄時,系統自動將部門表department中對應部門的屬性列deptotal進行加1處理

CREATE?TRIGGER?tri_insert2

on?employee

after?insert

as

begin

update?department

set?deptotal?=?deptotal+1

where?depno?=?(select?depno?from?inserted);

End

  1. 創建一個名為tri_delete的DML觸發器,該觸發器的作用是:用刪除會員表menmber中某條會員記錄的時,系統自動在訂單表orders中查詢是否有該會員的訂單記錄,如果有,則同時刪除該會員的所有訂單記錄

CREATE?TRIGGER?tri_delete

on?member

for?delete

as

delete?from?orders

where?memno=(select?memno?from?deleted)

9、刪除觸發器tri_delete

??drop?trigger?tri_delete

??

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/39425.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/39425.shtml
英文地址,請注明出處:http://en.pswp.cn/web/39425.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【軟件測試】Postman接口測試基本操作

🍅 視頻學習:文末有免費的配套視頻可觀看 🍅 點擊文末小卡片 ,免費獲取軟件測試全套資料,資料在手,薪資嘎嘎漲 Postman-獲取驗證碼 需求:使用Postman訪問驗證碼接口,并查看響應結果…

圖書管理系統(持久化存儲數據以及增添新功能)

目錄 一、數據庫表設計 二、引入MyBatis 和MySQL 驅動依賴 三、配置數據庫 & 日志 四、Model創建 五、枚舉類 常量類用戶登錄 六、用戶登錄 七、添加圖書 八、圖書列表 九、修改圖書 十、刪除圖書 十一、批量刪除 十二、強制登錄 十三、前端代碼 &#xff0…

AI與測試相輔相成

AI助力軟件測試 1.AI賦能軟件測試 使用AI工具來幫助測試人員提高測試效率,提供缺陷分析和缺陷預測。 語法格式 設定角色 具體指示 上下文格式 例: 角色:你是一個測試人員 內容:請幫我生成登錄案例的測試用例 ? 1.只有輸入正確賬號和密碼才…

生命在于學習——Python人工智能原理(3.2.1)

二、隨機變量 2.1 隨機變量及其分布 (一)基本概念 定義1 隨機變量 隨機變量表示隨機試驗各種結果的實值單值函數,即能用數學分析方法來研究隨機現象,例如某一時間內公共汽車站等車的乘客人數、淘寶在一定時間內的交易次數等&am…

Shenandoah GC概述

文章目錄 1_介紹2_原理1.0版本2.0版本3_ShenandoahGC的執行流程4_并發轉移階段 – 并發問題 1_介紹 Shenandoah 是由Red Hat開發的一款低延遲的垃圾收集器,Shenandoah 并發執行大部分 GC 工作,包括并發的整理,堆大小對STW的時間基本沒有影響…

if __name__ == “__main__“

在Python中,if __name__ "__main__": 這行代碼非常常見,它用于判斷當前運行的腳本是否是主程序。這里的 __name__ 是一個特殊變量,當Python文件被直接運行時,__name__ 被自動設置為字符串 "__main__"。但是&…

【pearcmd】通過pearcmd.php 進行GetShell

https://cloud.tencent.com/developer/article/2204400 關于PHP 配置 register_argc_argv 小結 的一些研究文章。 應用例題 [NewStarCTF 2023 公開賽道]Include &#x1f350; <?phperror_reporting(0);if(isset($_GET[file])) {$file $_GET[file];if(preg_match(/flag|l…

如何理解synchronized鎖升級

在Java中&#xff0c;synchronized 關鍵字是實現線程同步的一種方式&#xff0c;它涉及到鎖的升級和釋放的過程。理解synchronized 鎖的升級可以分為三個階段&#xff1a;無鎖狀態、偏向鎖狀態和輕量級鎖狀態。 無鎖狀態&#xff1a; 當對象被創建時&#xff0c;默認處于無鎖狀…

貪心 | Java | LeetCode 455, 376, 53 做題總結

貪心算法介紹 貪心算法&#xff1a;貪心的本質是選擇每一階段的局部最優&#xff0c;從而達到全局最優。 說實話貪心算法并沒有固定的套路。 一般解題步驟 貪心算法一般分為如下四步&#xff1a; ① 將問題分解為若干個子問題 ② 找出適合的貪心策略 ③ 求解每一個子問題的…

SQL Server數據庫的組成

《SQL Server 2022從入門到精通&#xff08;視頻教學超值版&#xff09;》圖書介紹-CSDN博客 對于數據庫的概念&#xff0c;沒有一個完全固定的定義&#xff0c;隨著數據庫歷史的發展&#xff0c;定義的內容也有很大的差異&#xff0c;其中一種比較普遍的觀點認為&#xff0c;…

Java中的并行計算與任務分發策略

Java中的并行計算與任務分發策略 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 并行計算的重要性與挑戰 在當今軟件開發領域&#xff0c;隨著數據量和計算復…

c++獲取路徑中的文件名

C獲取路徑中的文件名有狠多方法&#xff0c;最常見的方法&#xff1a; 使用C標準庫 首先&#xff0c;可以使用C標準庫中的字符串處理函數來獲取路徑中的文件名。可以通過以下步驟實現&#xff1a; 使用字符串分割函數&#xff08;例如std::string::find_last_of、std::string…

Winform中使用HttpClient實現調用http的post接口并設置傳參content-type為application/json示例

場景 Winform中怎樣使用HttpClient調用http的get和post接口并將接口返回json數據解析為實體類&#xff1a; Winform中怎樣使用HttpClient調用http的get和post接口并將接口返回json數據解析為實體類_winform解析json-CSDN博客 上面使用HttpClient調用post接口時使用的HttpCon…

21.《C語言》——【位操作符】

&#x1f33b;開場語 親愛的讀者&#xff0c;大家好&#xff01;我是一名正在學習編程的高校生。在這個博客里&#xff0c;我將和大家一起探討編程技巧、分享實用工具&#xff0c;并交流學習心得。希望通過我的博客&#xff0c;你能學到有用的知識&#xff0c;提高自己的技能&a…

今天不看文章,明天變垃圾(明天收費)-----字節數據分析發展過程中所遭遇的挑戰

字節數據分析發展過程中所遭遇的挑戰 三個核心議題&#xff1a; 海量數據分析性能&#xff1a;會議指出Spark分析性能不足成為了一個顯著問題&#xff0c;尤其是在需要毫秒級響應的業務場景中。實時導入與查詢能力&#xff1a;目前Kylin只能以T1的形式提供分析服務&#xff0…

藍牙資訊|蘋果Apple Pencil新專利:用筆套擴展傳感器 / 續航等模塊化方案

根據美國商標和專利局最新公示的清單&#xff0c;蘋果公司獲得了一項 Apple Pencil 的專利&#xff0c;探索了模塊化設計方案&#xff0c;用戶未來可以根據自身需求或者使用場景&#xff0c;隨心更換 Pencil 的模塊&#xff0c;達到不同的效果。 蘋果在專利中表示筆套內置傳感器…

Docker實戰教程(一)

文章目錄 Docker實戰教程一、Docker簡介二、Docker安裝過程1. Windows上安裝Docker2. Linux上安裝Docker三、Docker基本概念四、Docker常用命令五、Docker常見應用場景六、總結Docker實戰教程 Docker是一種開源的容器化平臺,能夠自動化應用程序的部署、管理和隔離。它使得開發…

jQuery UI 簡介

jQuery UI 簡介 1. 引言 jQuery UI 是一個建立在 jQuery JavaScript 庫之上的開源小部件和交互庫,旨在創建高度交互的網頁。它提供了一系列預先設計好的小部件,如拖放、排序、對話框、工具提示等,以及用于構建復雜用戶界面的交互方法。jQuery UI 的設計目標是簡化 HTML 文…

圖書電商引入實在Agent:自動化運營提效80%,節省人天1000+

某知名教輔圖書品牌深耕中小學教輔圖書領域&#xff0c;是中國最具影響力的教育出版策劃與發行集團之一&#xff0c;以豐富的圖書品類&#xff0c;滿足了小學、初中、高中各年齡段讀者多元化的閱讀需求。 2023年&#xff0c;該品牌在運營、客服等多部門超60個場景中部署實在Ag…

2024高考作文題“人工智能”

今年開年到現在&#xff0c;明顯的感受就是&#xff0c;咨詢人工智能機器人的客戶比往年更多了。什么原因&#xff0c;是因為人工成本太高了&#xff0c;今年整體經濟環境變差&#xff0c;招不起人&#xff0c;所以想用AI機器人來降低用工成本嗎&#xff1f; 還是說因為語音線路…