CREATE TABLE `sequence` ( `seq_name` varchar(50) NOT NULL, `current_val` int(11) NOT NULL, `increment_val` int(11) NOT NULL DEFAULT '1', PRIMARY KEY (`seq_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; --------------------------------------------------…
MySQL实现类似Oracle的序列 2013-10-22 10:33:35     我来说两句      作者:走过的足迹 收藏    我要投稿 MySQL实现类似Oracle的序列   Oracle一般使用序列(Sequence)来处理主键字段,而MySQL则提供了自增长(increment)来实现类似的目的: 但在实际使用过程中发现,MySQL的自增长有诸多的弊端:不能控制步长.开始索引.是否循环等:若需要迁移数据库,则对于主键这块,也是个头大的问题. 本文记录了一个模拟Oracle序列的…
  假设表格为student, 数据如下:   我们要在MySQL中实现Oracle中的rank()函数功能,即组内排序,具体来说: 就是对student表中按照课程(course)对学生(name)按分数(score)高低进行排名.   首先新建存储过程realize_rank_in_MySQL,代码如下: DROP PROCEDURE IF EXISTS realize_rank_in_MySQL; DELIMITER ;; CREATE PROCEDURE realize_rank_in_…
sqlserver 2008 写法 select t.PROJECTNAME, t.BUILDCONTENTSCALE, CASE t.PROJECTLEVEL ' THEN '国家重点' ' THEN '省重点' ' THEN '市重点' ' THEN '区/县重点' END AS PROJECTLEVEL, t.TOTALINVESTMENT, t.PROGRESSCONTENT, t.BUILDCOMPANY, t.CONTACTWAY, t.DUTYDEPT, t.REMARK from…
最近使用mysql开发一个项目,发现没有像之前在用oracle数据中那样有to_date方法.mysql中实现日期格式化的方法为date_to_str('日期字符串','日期格式'),而且mysql中的日期格式的写法和oracle也不同. mysql中用法为:str_to_date('2012-05-01 23:59:59','%Y-%m-%d %T') %Y:代表4位的年份 %y:代表2为的年份 %m:代表月, 格式为(01……12)  %c:代表月, 格式为(1……12) %d:代表月份中的…
第一步:创建一个索引管理表,其中包含,索引名称.最小值.最大值.当前值.增量,并设置主键为索引名称. CREATE TABLE TB_SEQUENCE ( SEQ_NAME VARCHAR(50) NOT NULL, MINVALUE INT NOT NULL , MAX_VAL DECIMAL(31) NOT NULL, CURRENT_VAL DECIMAL(31) NOT NULL, INCREMENT_VAL INT DEFAULT '1' NOT NULL, PRIMARY KEY (…
先来设计一下表结构: create table city(id varchar(3) , pid varchar(3) , name varchar(10)); 下面我们造几条测试数据: INSERT INTO city values('001','0','宁波市');INSERT INTO city values('002','001','镇海区');INSERT INTO city values('003','001','北仑区');INSERT INTO city values('004'…
sql格式: AS rownum, table_name.* ) r, table_name; AS rownum, table_name.字段1, table_name.字段2, table_name.字段3, ....... ) r, table_name; select COLUMN_NAME,COLUMN_COMMENT,DATA_TYPE,IS_NULLABLE from information_schema.columns where table_schema = 'HZ_ZJJ'…
原文地址:http://it.dataguru.cn/article-3352-1.html 摘要: 本地MySQL数据库要访问远程MySQL数据库的表中的数据, 必须通过FEDERATED存储引擎来实现. 有点类似Oracle中的数据库链接(DBLINK). 要允许这个存储引擎, 当构建MySQL时使用--with-federated-storage-engine来configure ... 1 引擎说明 本地MySQL数据库要访问远程MySQL数据库的表中的数据, 必须通过FEDERATED…
1 引擎说明 本地MySQL数据库要访问远程MySQL数据库的表中的数据, 必须通过FEDERATED存储引擎来实现. 有点类似Oracle中的 数据库链接(DBLINK). 要允许这个存储引擎, 当构建MySQL时使用--with-federated-storage-engine来configure. 当创建一个FEDERATED表的时候, 服务器在数据库目录创建一个表定义文件. 文件由表的名字开始, 并有一个.frm扩展名. 无其它文件被创建, 因为实际的数据在一个远程数据库上. 使用FED…