|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
一样平常来说,序列在实践开辟过程当中是常常用到的一种工具,经由过程它来天生主键长短常便利的,可是有些时分我们必要将其从头置零,一般接纳的体例就是删除后从头创立。
上面我们来看一下别的一种体例:
SQL>createsequenceseq_1incrementby1startwith1maxvalue999999999;
序列已创立。SQL>createorreplaceprocedureseq_reset(v_seqnamevarchar2)as2nnumber(10);3tsqlvarchar2(100);4begin5executeimmediateselect||v_seqname||.nextvalfromdualinton;6n:=-(n-1);7tsql:=altersequence||v_seqname||incrementby||n;8executeimmediatetsql;9executeimmediateselect||v_seqname||.nextvalfromdualinton;10tsql:=altersequence||v_seqname||incrementby1;11executeimmediatetsql;12endseq_reset;13/
历程已创立。
SQL>selectseq_1.nextvalfromdual;
NEXTVAL---------2
SQL>/
NEXTVAL---------3
SQL>/
NEXTVAL---------4
SQL>/
NEXTVAL---------5
SQL>execseq_reset(seq_1);
PL/SQL历程已乐成完成。
SQL>selectseq_1.currvalfromdual;
CURRVAL---------1
SQL>
如许能够经由过程随时挪用此历程,来到达序列重置的目标。
此存储历程写的对照仓皇,还能够进一步完美,在此就不再进一步报告。
为了在某种程序上弥补这一缺陷,许多SQL命令都有一个DELAY_KEY_WRITE项。这个选项的作用是暂时制止MySQL在该命令每插入一条新记录和每修改一条现有之后立刻对索引进行刷新,对索引的刷新将等到全部记录插入/修改完毕之后再进行。 |
|