数据库中表的多余字段处理

问题描述

数据库中表的多余字段处理

在设计数据库资料目录管理的一张表时,其中有两个字段 一个HavezlFlag(标记此目录下是否含有资料) 另一个HaveSubDirFlag(标记此目录下是否含有目录类似文件夹),这
两个字段因为用户常添加和删除,所以不必存储,只要需要时再临时计算,这个用视图可以解决嘛,怎么解决,求详细方法。

解决方案

合理设计的表格不会有经常添加删除的字段,尤其是数据库里面数据多的时候这是严禁的操作,有些数据库一增删字段就锁整表,其它涉及这个表的操作就会进入等待状态。
如果按你说的是临时计算,那么可以考虑用计算列。或者在用户查数据的时候在应用端计算这样能减少数据库负担。

解决方案二:

如果想在数据库一级计算得到这两个字段的话,可以用视图,也可以直接用SQL,可以把子查询结果作为一个字段返回。

解决方案三:

CREATE OR REPLACE FORCE VIEW (
HavezlFlag,
HaveSubDirFlag
)
AS
SELECT HavezlFlag,HaveSubDirFlag from table where 1=1 and option1=?;
建个视图,按条件查询就可以了

解决方案四:

写动态sql语句对这2个字段进行判断

时间: 2024-11-17 12:45:54

数据库中表的多余字段处理的相关文章

java-Java选中数据库中表页面生成字段

问题描述 Java选中数据库中表页面生成字段 选中下拉框中的表名 下面的多选按钮怎么自动生成选中 的表名的字段 解决方案 简单实现 首先用JDBC中的 ResultSetMetaData 的getColumnCount()返回 ResultSet 中的列数 再用 getColumnName(int) 返回列序号为 int 的列名 或 getColumnLabel(int)返回此列暗含的标签; 最后就是JS判断打勾而已了. 有空可以去研究一般的orm框架··· 解决方案二: div+js可以实现

asp获取数据库中表名和字段名的代码_数据库相关

复制代码 代码如下: < % '功能:显示数据库中表名.字段名.字段内容 '原创:wangsdong '原创文章,转载请保留此信息,谢谢 set rs=server.CreateObject("adodb.recordset") db="db1.mdb" set conn=server.CreateObject("adodb.connection") connstr="Provider=Microsoft.Jet.OLEDB.4.

ADO如何取得数据库中表的字段信息之一

若要取得数据库中表的字段信息,由以下RecordSet对象的属性可得知: ActualSize属性:字段的实际大小. DefinedSize属性:定义字段的大小. Type属性:字段类型,使用以下数字代表之:文字text:200 日期时间date:135 整数int/识别码:3 单精准度:4 双精准度:5 备注memo:201 是否yes/no:17 Name属性:字段名称. NumericScale属性:字段小数部份的位数. Precision属性:字段的整数和小数位数部份加起来的最多位数.取

如何读取oracle数据库中表的字段,然后上传到excel服务器(勤哲excel2008服务器)

问题描述 如何读取oracle数据库中表的字段,然后上传到excel服务器(勤哲excel2008服务器) 解决方案 解决方案二:路过帮顶=============11月6日,论坛升级公告,积分已经做了调整!http://topic.csdn.net/u/20081107/11/b27dc75f-14b1-4594-9de3-5b18d9e36a11.html此次调整增加了两个新的可用分获取渠道:1:帖子被推荐(加精)后,帖主可以获得88分的可用分奖励:2:帖子结帖后会返还帖主50%的悬赏分,无

浅析常用数据库的自增字段创建方法汇总

本篇文章是对常用数据库的自增字段创建方法进行了全面的汇总介绍,需要的朋友参考下   DB2 复制代码 代码如下: CREATE   TABLE  T1 (    id  INTEGER   NOT   NULL  GENERATED ALWAYS  AS   IDENTITY  (START  WITH   1  INCREMENT  BY   1  MINVALUE  1  NO MAXVALUE NO CYCLE NO CACHE  ORDER ),    ... ); Oracle(需要创

hibernate-Oracle数据库中新增一个字段,Hibernate中映射怎样加?

问题描述 Oracle数据库中新增一个字段,Hibernate中映射怎样加? 问题:我在oracle数据库中新增一个字段,那么在Hibernate映射中,需要手动加进去吗?在中. 谢谢!! 解决方案 类似这样,第一个name对应实体中,第二个name对应数据库 解决方案二:

怎么让数据库按2个字段值合并重复的并把其他属性横向输出

问题描述 怎么让数据库按2个字段值合并重复的并把其他属性横向输出 SELECT product.pro_name, product.pro_color, product.pro_spec, xsmx.mx_num FROM xs, xsmx, product where ( xs.xs_hao = xsmx.xs_hao ) and ( xsmx.pro_id = product.pro_id ) and ( xs.xs_hao ='XS20160422001' ) 数据是从几个表里 链接按xs

SQL提取数据库表名及字段名等信息代码示例

本文向大家介绍了使用SQL语句提取数据库所有表的表名.字段名的实例代码,在SQLserver 中进行了测试,具体内容如下: --查询所有用户表所有字段的特征 SELECT D.Name as TableName, A.colorder AS ColOrder, A.name AS Name, COLUMNPROPERTY(A.ID,A.Name, 'IsIdentity') AS IsIdentity, CASE WHEN EXISTS (SELECT 1 FROM dbo.sysobjects

数据库中表绑定到treeview控件

问题描述 数据库中表绑定到treeview控件 如何在C++builder中把数据库"sql"中的一个表"tb_CarType"绑定到treeview控件上 以前没用过这些控件和数据库的知识,希望大虾们能给个详细的答案,谢谢 解决方案 QSqlRelationalTableModel了解下这个类的 然后就是MVC结构的用法