English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

(1)想建立一個VIDEO表格(錄影帶)
欄位有id:10位,Name:12位,Price:8位
前三位為錄影帶別=動作片:ACT愛情片:LOV卡通片:CAT
後七位為流水號:
→動作片:為妳的身分證後兩碼開始編
→愛情片:為妳的身分證後三碼開始編
→卡通片:為妳的身分證後四碼開始編

(2)建立3個view
第一個view(ACT)為表格VIDEO中的所有動作片
第二個view(LOV)為表格VIDEO中的所有愛情片
第三個view(CAT)為表格VIDEO中的所有卡通片

2005-12-15 19:44:02 · 1 個解答 · 發問者 體貼專愛 2 in 電腦與網際網路 程式設計

1 個解答

因為你的問題太模糊了,故就假設你那video的table是transaction檔而非video主檔,
也就是說你所指的是租借紀錄檔的話:
狀況設定如下:
使用Oracle Database

VIDEO_MST 影片主檔==>
欄位有: VIDEO_ID,VIDEO_TYPE(即你的分類),VIDEO_NAME

VIDEO_DETAIL 租借紀錄 ==>
欄位有:ID,NAME,Price,Out_date(借出日),Due_date(到期日),.....

CUST_MST 客戶主檔 ==>
欄位有: CUST_ID(即身份證),NAME,ADDRESS,.....

ACT_seq (影片出借流水號-Sequence object)
LOV_seq (影片出借流水號-Sequence object)
CAT_seq (影片出借流水號-Sequence object)

則當你要紀錄一筆交易時,若依你的編碼則為
INSERT VIDEO_DETAIL(ID,NAME,Price,.....)
SELECT B.VIDEO_TYPE||DECODE(B.VIDEO_TYPE,
'ACT',SUBSTR(B.ID,9,2)||LPAD(ACT_seq.NEXT_VALUE,'0',5),
'LOV',SUBSTR(B.ID,8,3)||LPAD(LOV_seq.NEXT_VALUE,'0',4),
'CAT',SUBSTR(B.ID,9,4)||LPAD(CAT_seq.NEXT_VALUE,'0',3))
A.VIDEO_NAME,
????、 ===> 單價
..........
FROM VIDEO_MSG A,CUST_MST B
WHERE A.VIDEO_ID = 影帶的編號
AND B.ID = 客戶身份證號

====================================
VIEW的部分:
CREATE OR REPLACE VIEW ACT_VIEW AS
SELECT * FROM VIDEO_DETAIL WHERE ID LIKE 'ACT%'

CREATE OR REPLACE VIEW LOV_VIEW AS
SELECT * FROM VIDEO_DETAIL WHERE ID LIKE 'LOV%'

CREATE OR REPLACE VIEW CAT_VIEW AS
SELECT * FROM VIDEO_DETAIL WHERE ID LIKE 'CAT%'

2005-12-17 06:56:11 · answer #1 · answered by steven0 2 · 0 0

fedest.com, questions and answers