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

資料庫中的枚舉類型

發布時間: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層或是數據層進行限制。

閱讀全文

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

熱點內容
ps3文件分割視頻 瀏覽:280
微信圖片一鍵轉發軟體 瀏覽:331
如何判斷s200plc編程電纜 瀏覽:691
太原編程培訓班哪個好 瀏覽:171
樹葉吹奏教程 瀏覽:6
社交app帶來了哪些社會問題 瀏覽:394
如何安裝愛寶8800數據採集器 瀏覽:712
文件保存了怎麼找不到了 瀏覽:476
彩票網站怎麼辨真假 瀏覽:840
pr找不到該文件 瀏覽:963
java移除panel 瀏覽:354
jsp填充jsp 瀏覽:166
海關外貿大數據在哪裡查 瀏覽:381
思特奇java筆試題 瀏覽:121
葫蘆俠在手機中的文件名 瀏覽:813
plc編程應該怎麼收錢 瀏覽:584
c語言中源文件由什麼組成 瀏覽:890
linuxhttpdphp配置文件 瀏覽:607
拆單數據要怎麼保存 瀏覽:17
mac電腦怎樣壓縮文件到100m 瀏覽:645

友情鏈接