seq数据库
A. 求大神相助,seq sever2000数据库连接不上去
sql自带的连接程序试下,看能联上不,如果不能,就得重装sql吧,这样省事,如果能,检查java程序的联接包是否丢失,联接字符串和帐号密码是否正确。,再看看是不是防火墙挡住了。
B. oracle数据库怎么建sequences作为自增长序列
其实Oracle是没有SQL Server 的自增长的列的概念。
我通过这种方式就是为了尽可能模拟。
seq_a 是序列号
insert into t_a (id, value) values(seq_a.nextval,'test'); 这就是Oracle的经典(后者通常)的使用方法。
id当然就是你所谓的自增长列(再次强调,Oracle没有这个概念)
只有通过触发器+sequence,能够实现你所谓自增长列。
C. 怎么用sequence read archive 数据库做基因表达分析
重复),没有其他任何意义。
Sequence是数据库系统的特性,有的数据库有Sequence,有的没有。比如Oracle、DB2、PostgreSQL数据库有Sequence,MySQL、SQL Server、Sybase等数据库没有Sequence。
根据我个人理解,Sequence是数据中一个特殊存放等差数列的表,该表受数据库系统控制,任何时候数据库系统都可以根据当前记录数大小加上步长来获取到该表下一条记录应该是多少,这个表没有实际意义,常常用来做主键用,非常不错,呵呵,不过很郁闷的各个数据库厂商尿不到一个壶里--各有各的一套对Sequence的定义和操作。在此我对常见三种数据库的Sequence的定义和操作做一个对比和总结,以便日后查看。
一、定义Sequence
定义一个seq_test,最小值为10000,最大值为99999999999999999,从20000开始,增量的步长为1,缓存为20的循环排序Sequence。
Oracle的定义方法:
create sequence seq_test
minvalue 10000
maxvalue 99999999999999999
start with 20000
increment by 1
cache 20
cycle
order;
DB2的写法:
create sequence seq_test
as bigint
start with 20000
increment by 1
minvalue 10000
maxvalue 99999999999999999
cycle
cache 20
order;
D. access数据库转换成SEQ数据库怎么转有用什么软件转
由于SQL2000里面没有"自动编号",所以你的以"自动编号"设置的字段都会变成非空的字段,这就必须手工修改这些字段,并把他的"标示"选择"是",种子为"1",增量为"1",
2,另外,ACCESS2000转换成SQL2000后,原来属性为"是/否"的字段将被转换成非空的"bit",这时候你必须修改成自己想要的属性了;
ACCESS转SQL
SERVER中的一些经验
1.ACCESS的数据库中的自动编号类型在转化时,sql
server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号!
2.转化时,跟日期有关的字段,SQL
SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。我遇见这种情况,用smalldatetime型时,转化失败,而用datetime型时,转化成功。
3.对此两种数据库进行操作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:"delete
*
from
user
where
id=10",而对SQL
SERVER数据库进行删除是用:"delete
user
where
id=10".
4.日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对
SQL
SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。
5.在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL
SERVER数据库处理中,却不能用。
1、必须先安装Microsoft
Office
Access
2003,和SQL
Server2000。2、把旧的动网数据库备份,备份完成后,用Access
2003打开动网旧数据库,在打开时会出现一个警告,不要理会它(安全警告),按打开键,打开后按工具栏——数据库实用工具——转换数据库——转换为2002-2003格式,把数据库转换成2003格式。
2、转换完成后再用Access
2003打开,打开后按工具栏——数据库实用工具——升迁向导——新建数据库——填写SQL数据库登陆名称、密码和要新建的动网数据库(准备转成新的动网数据库),按下一步,按“
》”键,再按下一步,选取所有选项,再按下一步,选择“不对应用程序作任何改动”,再按完成。
3、打开SQL企业管理器——数据库吹礁詹判陆ǖ亩菘饬税桑慊髡飧鍪菘庖幌拢缓笤诠ぞ呃浮?/FONT>SQL脚本——常规——全部显示——编写全部对象脚本——确定(记住存放的位置)。
4、用记事本打开刚才生成的SQL脚本,在编辑栏——替换——查找内容为“smalldatetime”替换为“datetime”——替换全部;完成后再在编辑栏——替换——查找内容为“nvarchar”替换为“varcha”——替换全部,完成后保存退出。
5、打开SQL企业管理器——数据库——点击这个数据库一下新建的动网数据库,然后在工具栏——SQL查询分析器——文件——打开——“刚才生成的SQL脚本”——查询——执行,然后关闭窗口。
6、再回到SQL企业管理器——数据库——点击这个数据库一下新建的动网数据库,然后打开工具栏——数据库转换服务——导入数据——下一步——数据源“Microsoft
Access”文件名“为旧的动网数据库”——下一步——再下一步——从源数据复制表和视图——下一步——全选——下一步——立即运行——下一步——完成。
7、修改动网文件夹两个文件conn.asp和inc\const.asp。
SQL时间函数是getdata()
参考资料:网上整理,因为当初我也碰到这问题
E. sql中sequence的用法
sequence是序列号的意思,每次取的时候它会自动增加。sequence与表没有从属关系,与表一样属于用户。
在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。
1、Create Sequence语法
首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限,CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10;
一旦定义了emp_sequence,你就可以用CURRVAL,NEXTVAL
CURRVAL=返回 sequence的当前值
NEXTVAL=增加sequence的值,然后返回 sequence 值
比如:
emp_sequence.CURRVAL
emp_sequence.NEXTVAL
可以使用sequence的地方:
- 不包含子查询、snapshot、VIEW的 SELECT 语句
- INSERT语句的子查询中
- NSERT语句的VALUES中
- UPDATE 的 SET中
可以看如下例子:
INSERT INTO emp VALUES
(empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20);
SELECT empseq.currval FROM DUAL;
但是要注意的是:
第一次NEXTVAL返回的是初始值;随后的NEXTVAL会自动增加你定义的INCREMENT BY值,然后返回增加后的值。CURRVAL 总是返回当前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否则会出错。
一次NEXTVAL会增加一次SEQUENCE的值。但是如果你在同一个条SQL语句里面针对同一个sequence使用多次NEXTVAL,其值都是一样的。
如果指定CACHE值,ORACLE就可以预先在内存里面放置一些sequence,这样存取的快些。cache里面的取完后,oracle自动再取一组到cache。
使用cache或许会跳号, 比如数据库突然不正常down掉(shutdown abort),cache中的sequence就会丢失. 所以可以在create sequence的时候用nocache防止这种情况。
2、Alter Sequence
你或者是该sequence的owner,或者有ALTER ANY SEQUENCE 权限才能改动sequence. 可以alter除start至以外的所有sequence参数.如果想要改变start值,必须 drop sequence 再 re-create .
Alter sequence 的例子:
ALTER SEQUENCE emp_sequence
INCREMENT BY 10
MAXVALUE 10000
CYCLE -- 到10000后从头开始
NOCACHE ;
影响Sequence的初始化参数:
SEQUENCE_CACHE_ENTRIES =设置能同时被cache的sequence数目。
可以很简单的Drop Sequence
DROP SEQUENCE order_seq;
修改sequence参数:
拥有ALTER ANY SEQUENCE 权限才能改动sequence. 可以alter除start至以外的所有sequence参数.如果想要改变start值,必须 drop sequence再create。例:
alter sequence SEQ maxvalue 9999999;
alter sequence SEQ cache 10;
在Sql语句中可以使用sequence的地方:
(1)不包含子查询、snapshot、VIEW的 SELECT 语句
(2)INSERT语句的子查询中
(3)INSERT语句的values中
(4)UPDATE 的 SET中
例如:
insert into student(id,name) values(seq.Nextval,'jack');
注意:
第一次NEXTVAL返回的是初始值,随后的NEXTVAL会返回增加后的值。CURRVAL 总是返回当前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否则报如下错误:
ORA-08002 序列currval尚未在会话中定义。
使用一次NEXTVAL会增加一次 SEQUENCE的值,所以如果你多次执行包含NEXTVAL的一条语句,其值就是不一样的。
删除sequence:drop sequence seq_a;
当删除sequence后,对应它的同义词会被保留,但是引用时会报错。
oracle为了在rac环境下为了sequence的一致性,使用了三种锁:row cache lock、SQ锁、SV锁。
row cache lock的目的是在sequence指定nocache的情况下调用sequence.nextval过程中保证序列的顺序性;
SQ锁是应用于指定了cache+noorder的情况下调用sequence.nextval过程中。
SV 锁(dfs lock handel) 是调用sequence.nextval期间拥有的锁。前提是创建sequence时指定了
cache 和order属性 (cache+order)。order参数的目的是为了在RAC上节点之间生成sequence的顺序得到保障。
(5)seq数据库扩展阅读:
定义Sequence:定义一个seq_test,最小值为10000,最大值为99999999999999999,从20000开始,增量的步长为1,缓存为20的循环排序Sequence。
定义方法:
create sequence seq_test
minvalue 10000
maxvalue 99999999999999999
start with 20000
increment by 1
cache 20
cycle
order;
DB2的写法:
create sequence seq_test
as bigint
start with 20000
increment by 1
minvalue 10000
maxvalue 99999999999999999
cycle
cache 20
order;
PostgreSQL的写法:
create sequence seq_test
increment by 1
minvalue 10000
maxvalue 99999999999999999
start 20000
cache 20
cycle;
二、Oracle、DB2、PostgreSQL数据库Sequence值的引用参数为:currval、nextval,分别表示当前值和下一个值。下面分别从三个数据库的Sequence中获取nextval的值。
Oracle中:seq_test.nextval
例如:select seq_test.nextval from al;
DB2中:nextval for SEQ_TOPICMS
例如:values nextval for seq_test;
PostgreSQL中:nextval(seq_test)
例如:select nextval('seq_test');
三、Sequence与indentity的区别与联系
Sequence与indentity的基本作用都差不多。都可以生成自增数字序列。
Sequence是数据库系统中的一个对象,可以在整个数据库中使用,和表没有任何关系;indentity仅仅是指定在表中某一列上,作用范围就是这个表。
四、postgresql中的Sequence分配策略(postgresql8.3.x)
调用select nextval(seq_test);后,系统马上分配一个序号给用户,然后系统的次Sequence马上加上之前设置的步长(increment by 1),不论此序号用户是否使用。
调用select currval(seq_test);返回当前的序列号,该序列号只要没有使用,就不会变化,直到被使用后,才会变化,并且该序列号已经分配给当前请求,不会再分配给其他的请求。
所以,减少浪费时,使用currval,不在乎浪费,而且id不连续的话,可以使用nextval。因为一旦分配给你后,使用失败,将会把该序列号丢弃!
F. 哪里可以找到 13 mESC ChIP-seq datasets数据库
一个从ChIP-Seq数据中解码长链非编码RNA和microRNA基因转录调控的数据库
长链非编码RNAs(lncRNAs)和microRNAs(miRNAs)代表了真核生物中两类重要的非编码RNAs。尽管这些非编码RNAs涉及到生物体发育和各种人类疾病,但是令人惊讶的是有关它们的转录调控知之甚少。染色体免疫沉淀和下一代DNA测序(ChIP-Seq)的最新进展已经以空前的敏感性提供了检测转录因子结合位点(transcription factor binding sites,TFBSs)的方法。本研究中,我们描述了ChIPBase(http://deepbase.sysu.e.cn/chipbase/),我们开发的一个新数据库以促进从ChIP-Seq数据中进行转录因子结合图谱和lncRNAs与miRNAs转录调控关系的综合注释和发现。ChIPBase的当前版本包括了通过在来自六种生物体的不同组织和细胞系中的543个ChIP-Seq实验产生的高通量测序数据。
通过分析数以百万计的TFBSs,我们鉴定了数以万计的TF-lncRNA和TF-miRNA调控关系。此外,开发了两个基于网络的服务器以从ChIP-Seq数据中注释和发现lncRNAs和miRNAs的转录调控关系。另外,我们开发了两个基因组浏览器deepView和genomeView,以提供多维数据的整合查看。而且,我们的网络实现支持不同的查询类型及TFs、lncRNAs、miRNAs、基因本体论和通路的探索。
G. 请教oracle数据库SQL语句中sequence的问题
其他程序或者存储过程用到了xx这个SEQ呗
主键只要不重复其他没有任何关系,不会影响记录值。如果你说需要连号,那么就应该设置一个ID字段来做处理。ORACLE的 SEQ就是同步下自增,不回逆的。
只要你在数据库中select xx.nextval from al 等方法去看是多少,那么就已经加了一次,并不是insert到某张表后SEQ才增加。SEQ与表完全是独立的,只谈可用的话你完全可以在另一张表插主键时也用这个SEQ
H. 数据库中的key seq是什么
create table news( ---建一个名为news的表
newsid number primary key, ----主键为newsid
title varchar2(20), ----剩下的其他字段
content varchar2(1000),
createdate varchar2(20)
);
create sequence news_seq ----创建一个时序
minvalue 1 ----最小值1
maxvalue 9999999 ----最大9999999
start with 1 ----从1开始
increment by 1 ----增减值1
nocache;
Create Or Replace Trigger news_tri --创建一个触发器
Before insert ---条件是执行insert之前触发
on student ---下边的是触发字段和事件
for each row
begin
select news_seq.NEXTVAL into :new.newsid from al;
end;
自己找本sql的书,自己转。别人动手自己永远学不会
I. sequence怎么用
在pl/sql developer工具,也可以在其企业管理器中进去后中选sequence,然后新建,写上序列号名称seq,最小值写1,最大值不用管,开始于写1,增量是1,其它的默认就行了
sequence有两个用法,一个是得到后面一个值,一个是得到当前序列号的值
sequence.nextval得到是下一个序列号值
sequence.currval得到是当前序列号的值
你可以用select sequence.currval from seq
序列号建完后就入表里面插入
insert into table (id,name,age) values (seq.nextval,'刘翔','20');
这样就ok了