?題目
- 創建并執行一個無參數的存儲過程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
步驟
- 創建并執行一個無參數的存儲過程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
- 創建一個名為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
- 創建一個名為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
??