第 1 頁:單選題 |
第 4 頁:應(yīng)用題 |
第 6 頁:設(shè)計與應(yīng)用題 |
48設(shè)有商品表(商品號,商品名,單價)和銷售表(銷售單據(jù)號,商品號,銷售時間,銷售數(shù)量,銷售單價)。其中,商品號代表一類商品,商品號、單價、銷售數(shù)量和銷售單價均為整型。請編寫查詢某年某商品的銷售總毛利的存儲過程,毛利=銷售數(shù)量x(銷售單價一單價)。要求商品號和年份為輸入?yún)?shù),總毛利用輸出參數(shù)返回。(10分)
參考解析:存儲過程是由PL/SQL語句書寫的過程,這個過程經(jīng)編譯和優(yōu)化后存儲在數(shù)據(jù)庫服務(wù)器中,使用時只要調(diào)用即可。使用存儲過程具有以下優(yōu)點:其已經(jīng)編譯和優(yōu)化過了,所以運行效率高,提供了在服務(wù)器端快速執(zhí)行SQL語句的有效途徑;存儲過程降低了客戶端和服務(wù)器之間的通信量;方便實施企業(yè)規(guī)則,當(dāng)企業(yè)規(guī)則發(fā)生變化時只要修改存儲過程,而無需修改其他應(yīng)用程序。創(chuàng)建存儲過程:
create procedure過程名
@[參數(shù)名][類型],@[參數(shù)名][類型]/*過程首部*/
As
Declare/*as下面對應(yīng)的塊為過程體*/
begin
end
如上所示,存儲過程包括過程首部和過程體。過程名是數(shù)據(jù)庫服務(wù)器合法的對象標(biāo)識;參數(shù)列表:用名字來標(biāo)識調(diào)用時給出的參數(shù)值,必須指定值的數(shù)據(jù)類型。參數(shù)可以是輸人參數(shù)或輸出參數(shù),默認(rèn)為輸人參數(shù)。
【參考答案】
CREATE PROCEDURE PRODUCT@商品號int,@年份int,@毛利int output
AS
DECLARE
@某商品銷售量int,@某商品進(jìn)價int,@某商品銷售單價int/*中間變量定義:*/
BEGIN
Select@某商品進(jìn)價=單價from商品表where@商品號=商品號
Select@某商品銷售單價=銷售單價,@某商品銷售量=count(*)from銷售表where
@商品號=商品號and銷售時間=@年份
IF@某商品進(jìn)價is NULL THEN/木判斷該商品是否存在*/
ROLLBACK;
RETURN;
END IF
IF@某商品銷售單價is NULL THEN/*判斷該兩晶是否可賣*/
ROLLBACK;
RETURN;
END IF
SET@毛利=(@某商品銷售單價-@某商品進(jìn)價)*@某商品銷售量
GO
相關(guān)推薦:
2015計算機三級《數(shù)據(jù)庫》上機試題及答案匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |