新建一張數據庫表用來存儲app更新信息
數據表為:
CREATE TABLE APP_UPDATE_MESSAGE(
APP_ID VARCHAR2(50), --appId,01:android 02:ios
APP_CODE VARCHAR2(50), --客戶端設備id字符串,如:app.android.version.key
APP_NAME VARCHAR2(50), --客戶端設備名字
VERSION_MILEPOST NUMBER DEFAULT 0, --是否是一個里程牌式的版本,默認為0,是則為1
VERSION_CODE VARCHAR2(50) , --版本號
VERSION_CODE_BEFORE VARCHAR2(50) , --上一個版本號
VERSION_TYPE NUMBER, ---版本類型,0選擇更新,1強制更新
VERSION_BIG VARCHAR2(50), --新版本大小
DOWNLOAD_URL VARCHAR2(50), --更新地址
UPDATE_TITLE VARCHAR2(50), --升級信息簡要
UPDATE_MESSAGE VARCHAR2(4000), --升級信息詳情
STATUS NUMBER, --版本狀態 1:最新版本,0:之前老版本
CREATE_TIME DATE, --版本創建時間
UPDATE_PARAMS VARCHAR2(50), --添加擴展
CONSTRINT APP_UPDATE_MESSAGE PRIMARY KEY(APP_ID,VERSION_CODE) --把APP_ID和VERSION_CODE作為組合主鍵約束,兩者組合不能重復
);
COMMENT ON TABLE APP_UPDATE_MESSAGE IS 'APP更新提示表';
COMMENT ON COLUMN APP_UPDATE_MESSAGE.APP_ID IS 'appId,01-android,02-ios';
COMMENT ON COLUMN APP_UPDATE_MESSAGE.APP_CODE IS '客戶端設備id字符串';
COMMENT ON COLUMN APP_UPDATE_MESSAGE.APP_NAME IS '客戶端設備名字';
COMMENT ON COLUMN APP_UPDATE_MESSAGE.VERSION_MILEPOST IS '0-普通版本,1-里程碑式版本';
COMMENT ON COLUMN APP_UPDATE_MESSAGE.VERSION_CODE IS '版本號';
COMMENT ON COLUMN APP_UPDATE_MESSAGE.VERSION_CODE_BEFORE IS '上一個版本號';
COMMENT ON COLUMN APP_UPDATE_MESSAGE.VERSION_TYPE IS '版本類型,0-選擇更新,1-強制更新';
COMMENT ON COLUMN APP_UPDATE_MESSAGE.VERSION_BIG IS '新版本大小';
COMMENT ON COLUMN APP_UPDATE_MESSAGE.DOWNLOAD_URL IS '更新地址';
COMMENT ON COLUMN APP_UPDATE_MESSAGE.UPDATE_TITLE IS '升級信息簡要';
COMMENT ON COLUMN APP_UPDATE_MESSAGE.UPDATE_MESSAGE IS '升級信息詳情';
COMMENT ON COLUMN APP_UPDATE_MESSAGE.STATUS IS '版本狀態,0-之前的老版本,1-新版本';
COMMENT ON COLUMN APP_UPDATE_MESSAGE.CREATE_TIME IS '版本創建時間';
COMMENT ON COLUMN APP_UPDATE_MESSAGE.UPDATE_PARAMS IS '添加擴展';
擴展:
1、app客戶端收到返回值后,根據版本狀態STATUS,來判斷是否顯示更新提示框
2、對於字段長度的一些解釋:
CHAR的長度是固定的,沒有字符就補空,VARCHAR2是變化的,如:VARCHAR2(20),表示20是最大值,小於20時,按實際長度存儲。
VARCHAR2在oracle數據庫中保存變長字符,在數據庫中存儲空間的大小是根據實際的字符長度,不會像CHAR一樣不上空格,這樣占用的空間更少。
由於VARCHAR2是變長存儲,那么VARCHAR2(10),VARCHAR2(1000)有個什么區別,反正是變長的,存儲空間相同,直接弄1000得了,免得以后要加長又要改變字段定義。為什么不直接用1000呢,有以下幾個原因:首先字段長度是數據庫的一種約束,可以保證進入數據庫的數據符合長度要求,定義合理的字段長度可以減少一部分非法數據進入,等等,具體可以搜索oracle數據庫字段長度設計來深究這個長度的問題,總體下來結論就是:
不能隨便定義,並不是越大越好,要結合自身的實際業務,對於描述詳情的信息,長度不可預知,可以保留更大的長度,避免以后經常進行長度調整,如直接定為4000.
3、更改字段長度sql語句:
例如調整APP_ID字段長度為10
ALTER TABLE APP_UPDATE_MESSAGE MODIFY APP_ID VARCHAR2(10);
4、oracle數據庫中varahcr2存儲漢字問題
根據數據庫字符集的不同,存儲漢字多少不同,如果用的是GBK編碼,那個一個漢字將占用2個字節,用的是UTF8編碼,那么一個漢字將占用3個字節。定字段長度時需要考慮到這點,這個問題的具體詳解,可以搜索oracle的varchar2怎么存儲漢字來深究。
小菜水平有限,高手勿噴,歡迎交流~~~