导航:首页 > 编程大全 > 数据库中的枚举类型

数据库中的枚举类型

发布时间: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层或是数据层进行限制。

阅读全文

与数据库中的枚举类型相关的资料

热点内容
原画教程视频 浏览:893
js精确到小数点后一位 浏览:565
python写入excel数据时如何换行 浏览:794
有哪些视频学习网站 浏览:383
苹果u盘怎么连接手机 浏览:336
文件资料管理台账管理系统 浏览:804
macbookpro新建文件夹放哪里 浏览:415
pvelite2015破解文件 浏览:960
汽车购票app叫什么 浏览:288
linux网页命令配置文件 浏览:289
wordpress换logo 浏览:249
编程序选哪个笔记本 浏览:716
保存cad为pdf时显示文件不可编辑 浏览:68
邮箱版本收费版 浏览:798
下载的大文件放哪里好 浏览:518
苹果系统如何查找文件 浏览:21
遍历txt数据库 浏览:960
夹子文件夹 浏览:793
小新pad文件管理器在哪里打开 浏览:945
闪照位于qq文件哪里 浏览:441

友情链接