国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

購(gòu)物車(chē)的存儲(chǔ)過(guò)程學(xué)習(xí)

2024-07-21 02:07:13
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

從來(lái)沒(méi)有接觸過(guò)存儲(chǔ)過(guò)程,為了這個(gè)項(xiàng)目寫(xiě)了幾個(gè)存儲(chǔ)過(guò)程。就當(dāng)是學(xué)習(xí)了,呵呵,這個(gè)購(gòu)物車(chē)的存儲(chǔ)過(guò)程中使用了table(表),cursor(游標(biāo))變量。

要求如下:

一個(gè)商品表[ware],里面包含有的字段有id,marketprice,memberprice,vipprice等等,還一個(gè)會(huì)員購(gòu)物車(chē)[membercar]數(shù)據(jù)表。包括的有id,memberid,wareid,warenum等等?,F(xiàn)要求是能取得購(gòu)物車(chē)表里的所有數(shù)據(jù)和marketprice*warenum(所有商品和)的總價(jià)錢(qián),即有n件商品就獲取這n件商品的總價(jià)錢(qián)而不是單一的價(jià)錢(qián)。本來(lái)在客戶端里直接根據(jù)購(gòu)物車(chē)[membercar]表的數(shù)據(jù)讀取商品表[ware]里的數(shù)據(jù),再用變量累加即可的。但問(wèn)題卻是,購(gòu)物車(chē)?yán)锏乃猩唐凤@示使用了分頁(yè)顯示。所以累加時(shí)就出問(wèn)題,如果為了累加這些價(jià)錢(qián)而在分頁(yè)循環(huán)顯示后再加一個(gè)循環(huán)所有記錄來(lái)累加價(jià)錢(qián)數(shù)據(jù),這樣不是不行,但效率就可想而知了!??!

現(xiàn)一個(gè)解決方法就是,重新構(gòu)造一個(gè)購(gòu)物車(chē)表的鏡像,但卻多了商品的幾個(gè)價(jià)錢(qián)總數(shù)字段。即marketprice*warenum(單一商品)。從而讀取購(gòu)物車(chē)時(shí)不是讀取原來(lái)購(gòu)物車(chē)數(shù)據(jù)表,而是讀取這個(gè)鏡像數(shù)據(jù)表,并在讀取時(shí)累加這些總價(jià)錢(qián)。

存儲(chǔ)過(guò)程代碼如下:
----#####################################################################################
----# 過(guò)程作用:返回用戶購(gòu)物車(chē)?yán)锏乃袛?shù)據(jù),并包含統(tǒng)計(jì)了商品的價(jià)錢(qián) (價(jià)錢(qián)=商品表的價(jià)格*購(gòu)物車(chē)表里的數(shù)量)
----# 作者:死在水中的魚(yú)
----# 日期:2004年10月15日
----#####################################################################################
create procedure membercar_info @memberid int  as
--使用此句才能保持客戶端的數(shù)據(jù)
set nocount on
declare @car_id int,@car_wareid int,@car_warenum smallint
declare @car_totalmemberprice numeric(8,2),@car_totalmarketprice numeric(8,2),@car_totalvipprice numeric(8,2)
--定義一個(gè)查詢membercar表的游標(biāo)變量。獲取數(shù)據(jù)
declare car_cursor  cursor for
                select id,wareid,warenum from [membercar] where [email protected] and ispay=0
--建立一個(gè)臨時(shí)表變量
declare @car_table table  (id int,
                                       wareid int,warenum smallint,marketprice numeric(8,2),memberprice numeric(8,2),vipprice numeric(8,2))
--打開(kāi)membercar表提取數(shù)據(jù)到臨時(shí)變量
open car_cursor
fetch next from car_cursor into @car_id,@car_wareid,@car_warenum
while @@fetch_status = 0
begin
     --取得商品的總市場(chǎng)價(jià)、總會(huì)員價(jià)和總vip價(jià)
     select @car_totalmarketprice=marketprice*@car_warenum,@car_totalmemberprice=memberprice*@car_warenum,@car_totalvipprice=vipprice*@car_warenum from [ware] where [email protected]_wareid
    --添加進(jìn)臨時(shí)變量表
      insert into @car_table (id,wareid,warenum,marketprice,memberprice,vipprice) values (@car_id,@car_wareid,@car_warenum,@car_totalmarketprice,@car_totalmemberprice,@car_totalvipprice)
     -- 沒(méi)有到表尾,繼續(xù)提取數(shù)據(jù)到臨時(shí)變量
      fetch next from car_cursor into @car_id,@car_wareid,@car_warenum
end
--關(guān)閉membercar數(shù)據(jù)庫(kù)的游標(biāo)
close car_cursor
deallocate car_cursor
--返回最終數(shù)據(jù)表
select * from @car_table
go

 

要求表達(dá)不是很清楚,各位原諒...

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 林周县| 长汀县| 华安县| 惠州市| 甘肃省| 霸州市| 集安市| 惠来县| 广宗县| 岑巩县| 方正县| 信阳市| 富顺县| 微山县| 尼玛县| 华容县| 自治县| 鹤庆县| 安远县| 呼和浩特市| 高阳县| 历史| 镇康县| 都江堰市| 阳原县| 平阳县| 镇康县| 定西市| 常熟市| 永城市| 石景山区| 金川县| 子长县| 孟津县| 南和县| 漳平市| 洪雅县| 南通市| 竹溪县| 雅安市| 白玉县|