導航:首頁 > 編程大全 > 資料庫中的枚舉類型

資料庫中的枚舉類型

發布時間:2021-12-15 12:52:43

資料庫的枚舉型問題

1、這個類型可以多種:int, char(n) -- 只要約定好就行,存貯枚舉值的代碼
2、枚舉類型的允許值,可以由DB保證(比如在tradeInfo.tradeType上加約束);也可以只是由程序來控制 -- DB中加上約束會強壯一些,但會犧牲性能;
3、為了軟體界面的易讀性,通常需要讓枚舉值可讀。每個枚舉值對應的文本最好存貯在DB中。這個稱為MasterData。可以建一張表存貯
4、如果有對應的主數據表,前面2中的約束,就可以改為Foreign Key

至於JAVA編程,枚舉類型的處理,可以使用常量,也可以更優雅地定義一個類。

⑵ oracle資料庫 枚舉怎麼寫

取數據用for或游標都可以,其餘不都是一堆判斷創表、寫表嘛(使用execute immediate)! 再加點日誌列印異常rollback 只能幫你到這一步,加油!

⑶ 在資料庫中存枚舉值,用數字還是字元好

這個要看你的 枚舉, 是 僅僅一次只能選擇一個的? 還是一次可以選擇多個的.

例如你的
order_id order_status
1 SUCS(成功success)
2 PCES(處理process)

某行數據, 要麼就是 SUCS(成功success) , 要麼就是 PCES(處理process)
這種情況下, 用字元是比較合適的。

但是如果枚舉是可以選擇多個的, 例如:
id desc
1 無黨派
2 知識分子
4 少數民族
8 女性
16 ......

這種情況下, 如果一個人, 多個枚舉都滿足的情況下, 那麼這種情況下, 使用 數字 是比較適合的。
也就是
如果某個人,是 無黨派漢族女性研究生, 那麼枚舉值 = 1+2+8

⑷ mysql怎麼獲取數據表欄位enum類型的默認值

enum有優點。但個人覺得。。。缺點更多,客觀的講:優點主要是在建數據 庫的回時候就可以把一些值答給規范好。缺點是。。enum不適合PHP。主要是PHP是弱類型,如:你insert into ..... set a= 1,你沒法知道你是想 a= '1' 還是 a= 1(a='1'是插入值1,a=1是插入enum的第一個值,尤其php弱類型的,如果int的,很少有人在sql里加雙引號。),這是PHP和mysql 在使用enum 最大的問題。所以。。安心點啦。乾脆點直接tinyin

⑸ 關於資料庫中枚舉字典類型的查詢問題

select name,count(favor) from member where name='這個人名字' group by name

⑹ 資料庫欄位,枚舉

這個要放點代碼。但是這種方式沒有必要,其次就放50分,實在少點,回頭你看我的回復
是否值50分?
----------------------
第一:如果代碼類似如下
columns[int(TC_User.id)]
columns[int(TC_User.Name)]
columns[int(TC_User.Sex)]
columns[int(TC_User.Address)]
如果從持久實體直接獲取,雖然有點效率,但是你可以試驗一下如下查詢:
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='T_CRD'
以上T_CRD 是表名,你看到有一列是ORDINAL_POSITION:
這個是按照資料庫設計表的自然序排列,之後你就看到,只要在設計視圖中換換位置就改變了這個值。
本身在DBA優化里有一項就是數據類型同項歸類提速,結果代碼過於拘泥,讓DBA根本不能實施這項工作。這是一方面:
--------------------------------------------------
第二:其次就是使用反射來獲悉枚舉列名。你可以自己試驗一下:還不如最原始的if else快,性能差個幾百倍。
--------------------------------------------------
第三:即使元數據析構table,也是類似如下方式,如下是linq上下文生成列的方式,使用的是特性描述,別看原始,這確是大智慧。
[Column(Storage="_RpNo", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string RpNo
{
get
{
return this._RpNo;
}
set
{
if ((this._RpNo != value))
{
this.OnRpNoChanging(value);
this.SendPropertyChanging();
this._RpNo = value;
this.SendPropertyChanged("RpNo");
this.OnRpNoChanged();
}
}
}
---------------------
第四:如果你們領導都同意用枚舉來映射表,你也沒必要修改,順水推舟吧!
出錯你在擺平,也讓你出名一把!你自己先提前想好方案!

⑺ 枚舉類型映射到資料庫中以什麼存在

Enum為枚舉提供基類,其基礎類型可以是除 Char 外的任何整型。如果沒有顯式聲明基礎類型,則使用 Int32。編程語言通常提供語法來聲明由一組已命名的常數和它們的值組成的枚舉。 注意:枚舉類型的基類型是除 Char 外的任何整型

⑻ Oracle 有沒有枚舉資料庫類型,很常見的問題

資料庫對象你可以從user_objects中查詢 表你可以從tabs 或者 user_tables 中查詢 欄位你可以從 cols 或者 USER_TAB_COLUMNS 中查詢 函數語法等可以從user_source 中查詢 等等

⑼ sqlserver有枚舉(enum)類型嗎有Set類型嗎

SQL Server沒有枚舉類型。

可以使用約束限製取值:
列名 VARCHAR(10) NOT NULL CHECK (列名 IN('可選值1', 可選值2', 可選值3))

⑽ mysql中總用enum類型是不是不太好

你好通常的做法是資料庫不設限制,而是在UI層或是數據層進行限制。

閱讀全文

與資料庫中的枚舉類型相關的資料

熱點內容
下載的大文件放哪裡好 瀏覽:518
蘋果系統如何查找文件 瀏覽:21
遍歷txt資料庫 瀏覽:960
夾子文件夾 瀏覽:793
小新pad文件管理器在哪裡打開 瀏覽:945
閃照位於qq文件哪裡 瀏覽:441
加工好內孔200怎麼編程 瀏覽:310
如何把網站的視頻放大 瀏覽:796
網路銀行申請信用卡怎麼激活 瀏覽:10
win10重裝不需要激活碼 瀏覽:447
刻光碟用什麼app 瀏覽:633
世紀葵花網路直播 瀏覽:117
壓縮文件達到上限不好發 瀏覽:997
打開文件變慢win10 瀏覽:75
手機改文檔用什麼app 瀏覽:809
文件管理的主要作用 瀏覽:685
泰安哪個app賣房好用 瀏覽:317
360n4s降回出廠版本 瀏覽:764
win10無法分區安裝win10系統安裝 瀏覽:305
ext文件怎麼轉換為excel 瀏覽:640

友情鏈接