数据库
zyn010101
这个作者很懒,什么都没留下…
展开
-
hibernate与oracle的clob
存贮长度在1000到2000之间的字符的clob类型字符时,会莫名其妙丢失字符,刚开始的时候怀疑是hibernate的bug(直接用sql语句在pl/sql中操作不存在该问题),还报不能转换为Long类型,经过我们头的排查,最终发现是驱动的问题。我们开发用的是tomcat,tamcat中的lib包中有个odbc驱动,项目中也有个odbc驱动,在保存clob的时候,可能发生了冲突,把项目中的odbc...原创 2011-05-09 14:19:51 · 108 阅读 · 0 评论 -
查看mysql元数据(转)
information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。在 MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息...原创 2012-07-26 17:12:32 · 107 阅读 · 0 评论 -
惨痛的教训
前段时间数据库做了读写分离,在执行批量更新的时候,脑袋短路,在没有禁用触发器的情况下,直接执行了sql,数据库性能一下子就不行了,100秒后还没执行结束,更2的事情发生了,我直接把数据库进程给杀掉了,没错,直接杀掉了,数据库的性能上来了,结果是主库和从库不同步了!!!生产库啊!!!!!!...原创 2012-03-23 10:42:32 · 79 阅读 · 0 评论 -
oracle 字符串函数
这些函数全都接收的是字符族类型的参数(CHR除外)并且返回字符值. 除了特别说明的之外,这些函数大部分返回VARCHAR2类型的数值. 字符函数的返回类型所受的限制和基本数据库类型所受的限制是相同的。 字符型变量存储的最大值: VARCHAR2数值被限制为2000字符(ORACLE 8中为4000字符) CHAR数值被限制为255字符(在ORACLE8中是2000) long类型为2GB Clob...原创 2011-12-05 14:51:37 · 84 阅读 · 0 评论 -
mysql 字符串函数
对于针对字符串位置的操作,第一个位置被标记为1。 1.ASCII(str) 返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。 mysql> select ASCII('2'); -> 50 mysql> select ASCII(2); -> 50 m...原创 2011-12-05 14:50:19 · 200 阅读 · 0 评论 -
mysql中文排序
数据库采用utf-8编码,order by 无法对中文按照拼音排序 ,对中文字段转为GBK后排序即可。 SELECT * FROM dept ORDER BY CONVERT( fd_dept_name USING gbk ) ;原创 2012-05-23 10:07:05 · 84 阅读 · 0 评论 -
查询重复记录和删除重复记录
/* Navicat MySQL Data Transfer Source Server : 本机 Source Server Version : 50022 Source Host : localhost:3306 Source Database : test Target Server Type : MYSQL Tar...原创 2012-04-24 19:47:11 · 90 阅读 · 0 评论 -
mysql中的decode(转)
举例: oracle: select decode(pay_name,'aaaa','bbb',pay_name),sum(comm_order),sum(suc_order),sum(suc_amount) From payment.order_tab group by decode(pay_name,'aaaaa','bbbb',pay_name) 转换成mysql:实现...原创 2012-04-24 17:20:22 · 263 阅读 · 0 评论 -
mysql 触发器更新本表
mysql的触发器不能对本表进行update操作,如下面 的示例,直接报 Can’t update table ‘tbl’ in stored function/trigger because it is already used by statement which invoked this stored function/trigger 错误, 如果你在触发器里面对刚刚插...原创 2012-01-09 20:12:37 · 684 阅读 · 0 评论 -
mysql建立触发器
创建触发器。创建触发器语法如下:CREATE TRIGGER trigger_name trigger_time trigger_eventON tbl_name FOR EACH ROW trigger_stmt其中trigger_name标识触发器名称,用户自行指定;trigger_time标识触发时机,用before和after替换;trigger_event标识触发事件,用insert,u...原创 2012-01-06 11:16:06 · 103 阅读 · 0 评论 -
MYSQL树状查询
oracle中可以采用connect by 来进行树状查询,在MYSQL中却没有提供该功能,但是,使用存贮过程我们也可以实现该查询。 创建一张表 fd_id varchar(50)--主键,fd_name varchar(50),fd_parentid varchar(20); 创建存贮过程: drop procedure if exists findLChild; /...原创 2011-08-30 14:11:59 · 414 阅读 · 0 评论 -
java类大批量导入数据到MYSQL
今天在写一个java类,用jdbc批量更新某表一个字段,该字段需要查询其他多张表进行计算得出,中间用了许多select查询,最后拼装成update语句用jdbc操作,当导入到200多条的时候,报错了,提示数据库连接已经用完(我每次调用的时候连接都记得关闭了,程序逻辑没有问题),具体信息如下: 15:50:12 [ERROR] com.zyn.hibernate.test.DataSo...2011-08-29 17:21:01 · 292 阅读 · 0 评论 -
mysql中使用光标的demo
第一次用游标,写了个demo,此游标蛋疼的实现了从test1表逐条复制数据到同样的表结构的test2,等价于insert into test2 select * from test1; DROP TABLE IF EXISTS `test1`; CREATE TABLE `test1` ( `id` int(11) NOT NULL auto_increment, `typ...2012-04-18 15:46:29 · 95 阅读 · 0 评论