数据库
文章平均质量分 77
zengshaotao
大道至简,未来可期
展开
-
informix dbaccess
导出数据库中的所有对象(包含表,存储过程,触发器。。。)到文件db.sql$>dbschema -d your_database db.sql 交互模式的语句 dbaccess - - <<! create table ......; insert into ......;!...2014-05-01 23:19:29 · 449 阅读 · 0 评论 -
求得月末的数据
对于一些报表,取数都会有一些特性,比如要取一段时间内每个月月末的数据。 一种思路:目标是求得月末函数。如果是这样,那就是针对一段时间进行求解,可是一段时间跨度可能很大,有10几个月。一般的,求解月份的数据,都是针对单个时间点的,比如给定一个日期2015-07-01,针对这个日期求月初,月末。如此,求得每个时间点的月末后,还得除去重复的求得的月末时间。似乎可以这样 select ...2015-07-01 21:11:08 · 165 阅读 · 0 评论 -
字段长度小,存储了汉字的一半
都设计过数据库,里面的字段也都接触过,设计时没有考虑周全,或者由于实际需求的变更,很多字段的使用会发生一些变化,比如它的长度。有时候是存储id值,但是由于各种原因,实际没用上,后来又用来存储中文了。一连串的变化,让你立马头晕。后期很隐蔽的问题慢慢就来了。 首先 是varchar长度是30,这个存储id没有问题,后来要存储中文,也即实际需求有变化,很明显,30的长度不够的,可是我们可能很少...2016-08-16 14:29:10 · 133 阅读 · 0 评论 -
密码过期
oracle sql develop ,一个oracle客户端,好久不用就会有密码的过期问题,这个时候需要更改密码: 过程如: cmdsqlplus /nologsql>conn 管理用户名/密码 as sysdba;sql>select * from dba_users;找到你要修改的用户名。如:temp1,修改其密码为123sql>alt...原创 2015-11-10 17:30:52 · 226 阅读 · 0 评论 -
数据库的递归查询
机构,通常都是有层级的,当机构编码没有规则的时候,仅通过 id和pid,就需要通过递归查询来求得给定机构的所有下属代码:create table tb(id varchar(3) , pid varchar(3) , name varchar(100)); insert into tb values('002' , 0 , '浙江省'); insert into tb...2015-12-01 17:45:53 · 553 阅读 · 0 评论 -
Teradata错误总结
1、除法总是得到0。看下是否是除数和被除数的类型。需转换为decimal2、6706while inserting data from a table [with Insert Into.. Sel * from command] it encounters below error.. Any inputs ??Error: INSERT Failed. 6706: The stri...原创 2017-05-15 13:04:11 · 5914 阅读 · 0 评论 -
数据库事务详解--spring事务基础
数据库事务中的隔离级别和锁数据库事务在后端开发中占非常重要的地位,如何确保数据读取的正确性、安全性也是我们需要研究的问题。ACID首先总结一下数据库事务正确执行的四个要素(ACID):原子性(Atomicity):即事务是不可分割的最小工作单元,事务内的操作要么全做,要么全不做,不能只做一部分;一致性(Consistency):在事务执行前数据库的数据处于正确的状态,而事务执行完成后数据...原创 2017-07-31 17:11:42 · 102 阅读 · 0 评论 -
Spring声明式事务
Spring提供了许多内置事务管理器实现,常用的有以下几种: DataSourceTransactionManager:位于org.springframework.jdbc.datasource包中,数据源事务管理器,提供对单个javax.sql.DataSource事务管理,用于Spring JDBC抽象框架、iBATIS框架的事务管理;HibernateTransactionM...原创 2017-07-31 17:38:38 · 112 阅读 · 0 评论 -
oracle的trunc函数
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; --显示当前时间2011-12-29 16:24:34select trunc(sysdate,'year') from dual; --截取到年(本年的第一天)2011-1-1select trunc(sysdate,'q') from dual; --截取到季度(本...原创 2018-01-19 16:43:49 · 179 阅读 · 0 评论 -
sql查询条件位置和执行顺序
经常有这样的场景:在页面的表格处显示指标的数据,如果指标的数据不存在,那么指标的名称也不会显示。而实际上,有时候是需要显示名称的,因为这样可以知道页面区域的内容,没有数据是另外一回事,因此,我们需要对sql的执行原理有一定认识,才不会走太多的弯路。如下SQL:SELECT * FROM Class c LEFT JOIN Student s ON c.ClassID=s.ClassID...2018-01-23 10:24:29 · 1708 阅读 · 0 评论 -
sql的使用注意事项
1.对于mybatis,经常要写sql,而且会碰到in的关键字,并且in后面是变量,内容是动态的,这个时候不应该 使用in ## 这样的形式,而应该使用循环标签 2、对于oracle的number字段,如果是作为where的筛选条件,那么传入的参数内容必须是一个数字,如果是字段字符,查询时就会提示 invalid num的错误 3、如果sql文件里已经设置了占位参数,程序没有传入...2018-01-26 14:03:13 · 352 阅读 · 0 评论 -
查看DB2常用数据库字典表(转自ITeye)
原文地址:http://blog.csdn.net/drifterj/article/details/8198973最近测试系统时想导出处记录然后插入到另一个表中,一直报外键约束问题,外键名称为F_517,在DbVisualizer中查看特定表,确实有这个约束,但苦于没有给出定义,不知该约束在哪张表上,搜索,得到如下sql语句: -- P :主键约束, F : 外键约束, tabname指定...原创 2015-07-01 21:01:48 · 282 阅读 · 0 评论 -
数据库范式
数据库范式1NF 2NF 3NF BCNF(实例) 设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(...原创 2014-04-25 20:29:36 · 97 阅读 · 0 评论 -
视图、索引、存储过程 、触发器、游标及事务详解
1.视图不占物理存储空间,它只是一种逻辑对象。可将其看成一个"虚表" 视图是一个由select 语句指定,用以检索数据库表中某些行或列数据的语句存储定义 注:创建视图语句中,不能包括order by、compute或者compute by 子句,也不能出现into关键字2.创建水平视图 视图的常见用法是限制用户只能够存取表中的某些数据行,用这种方法产生的视图称为水平视图,即...原创 2014-05-02 23:13:44 · 161 阅读 · 0 评论 -
TRUNCATE
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。TRUNCA...原创 2014-05-03 21:46:20 · 140 阅读 · 0 评论 -
oracle性能优化31条建议
1.ORACLE的优化器共有3种 A、RULE (基于规则) b、COST (基于成本) c、CHOOSE (选择性) 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS 。 你当然也在SQL句级或是会话(session)级对其进行覆盖。为了使用基于成本的优化...原创 2014-05-07 22:32:48 · 129 阅读 · 0 评论 -
数据库的事务隔离级别
在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别。2问题的提出编辑数据库是要被广大客户所共享访问的,那么在数据库操作过程中很可能出现以下几种不确定情况。更新丢失两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修改都失效了。这是因为系统没有执行任何的锁操作,因此并发事务并没有被隔离开来。脏读一个事务读取到了...原创 2014-05-29 11:24:54 · 88 阅读 · 0 评论 -
查询日志访问日均
select sum(total)/count(*) from(select cast(log_datetime as date format 'YYYYMMDD') logdate,count(*) totalfrom c_sys_log_tblwhere logdate>='20141201'group by 1)log2014-12-19 18:02:30 · 127 阅读 · 0 评论 -
查询某一个角色的活跃用户
select * from c_user_infowhere role_id=5and user_id in(select distinct user_id from tap_c_sys_log_tblwhere cast(log_datetime as date format 'YYYYMMDD')>='20141201')2014-12-19 18:19:08 · 164 阅读 · 0 评论 -
索引的优缺点
为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在查询的过程...原创 2014-03-23 00:02:00 · 81 阅读 · 0 评论 -
关系数据库采用的数据结构
关系数据库采用的数据结构是什么?二叉树吗?关系模型的具体存储方式: (1)数值存储方式 地理实体以数值存储模型存放时,空间数据存储在几何表中,特征表的几何列存储指向几何表的指针。每一个地理实体的空间数据由一系列坐标对来描述,其坐标值用数值类型来存储。如果坐标对数超过了几何表中的定长坐标对数时,就分行存储。 (2)二进制存储方式 地理实体的空间数据以二进制形式(BLOB)...原创 2014-03-23 00:02:33 · 1302 阅读 · 0 评论 -
mysql创建表
Mysql Comment for table 'TABLE_NAME' is too long 出现这样的错误提示,一般是因为创建表时声明过长,对于没mysql,不同版本的表声明长度可能不太一致。一般都是60个字符。 表声明例子如:create table 'tablename'(.......)engine=InnoDBcharacter set 'utf8'...原创 2014-03-25 13:59:21 · 251 阅读 · 0 评论 -
Oracle中"listener does not currently know of SID given in connect descriptor"
本机的应用服务器是tomcat,数据库连接是通过配置连接池的方式,启动时出现:listener does not currently know of SID given in connect descriptor出现问题的原因很多,首先可以看看sid有没有配置 还可以通过sql语句:SELECT NAME FROM v$database;查看oracle数据库当前的s...2015-06-03 09:09:31 · 186 阅读 · 0 评论 -
case when group by
SELECT CASE WHEN price IS NULL THEN 'Unpriced' WHEN price < 10 THEN 'Bargain' WHEN price BETWEEN 10 and 20 THEN 'Average' ELSE 'Gift to impress relatives' EN...原创 2018-02-06 18:39:12 · 154 阅读 · 0 评论