仓酷云

标题: MYSQL教程之带排序的oracle分页存储历程 [打印本页]

作者: 若相依    时间: 2015-1-16 22:17
标题: MYSQL教程之带排序的oracle分页存储历程
即使对于MySQL的商业化的企业版来说,也没有高昂的许可证成本,当你将其与像甲骨文和微软之类的大型专有商业数据库比较的话。  输出orderby的sqeuence是,应当为“desc”大概“asc”
  若输出两个orderby则,v_order_field="a[sequence],orderbyb"
CREATEORREPLACEPROCEDURETABLEPAGE_SELECT(v_page_size  int,--thesizeofapageoflist
                      v_current_pageint,--thecurrentpageoflist
                      v_table_namevarchar2,--thetalbename
                      v_order_field varchar2,--theorderfield
                      v_order_sequencevarchar2,--theordersequenceshouldby"_desc"or"_asc",_isblank.
                      --v_sql_select varchar2,--theselectsqlforprocedure
                      --v_sql_count  varchar2,--thecountsqlforprocedure
                      --v_out_recordcountOUTint,--thenumofreturnrows
                      p_cursorOUTrefcursor_pkg.return_cursor)as
 v_sql    varchar2(3000);--thesqlforselectallrowsoflist
 v_sql_count varchar2(3000);--thecountsqlforprocedure
 v_sql_order varchar2(2000);--theorderoflist
 v_count   int;--theamountrowsfooriginallist
 v_endrownum int;--theendrownumofthecurrentpage
 v_startrownumint;--thestartrownumofthecurrentpage
BEGIN
 ----settheorderoflist
 if v_order_field!=NOthen
  v_sql_order:=ORDERBY||v_order_field||||v_order_sequence;
 else
  v_sql_order:=;
 endif;
 ----catchtheamountrowsoflist
 v_sql_count:=SELECTCOUNT(ROWNUM)FROM||v_table_name;
 executeimmediatev_sql_countintov_count;
 --v_out_recordcount:=v_count;
 ----setthevalueofstartandendrow
 ifv_order_sequence=descthen
  v_endrownum:=v_count-(v_current_page-1)*v_page_size;
  v_startrownum:=v_endrownum-v_page_size+1;
 else
  v_endrownum:=v_current_page*v_page_size;
  v_startrownum:=v_endrownum-v_page_size+1;
 endif;
 ----thesqlforpageslide
 v_sql:=SELECT*FROM(SELECT||v_table_name||.*,rownumrnFROM||v_table_name||WHERErownum<=||
     to_char(v_endrownum)||||v_sql_order||) WHERErn>=||
     to_char(v_startrownum)||||v_sql_order;
 openp_cursorforv_sql;
ENDTABLEPAGE_SELECT;一些典型的RDBMS功能并不总是在DBaaS系统中可用。例如MySQL学习教程,WindowsAzureSQLDatabase(以前的SQLAzure)是微软的DBaaS产品,提供了一个类似于SQLServer的数据库平台。
作者: 第二个灵魂    时间: 2015-1-19 06:47
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
作者: 深爱那片海    时间: 2015-1-27 08:21
发几份SQL课件,以飨阅者
作者: 透明    时间: 2015-2-5 06:48
需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。
作者: 小女巫    时间: 2015-2-11 08:00
学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!
作者: 飘灵儿    时间: 2015-3-2 01:05
习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。
作者: 谁可相欹    时间: 2015-3-11 01:33
Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。
作者: 飘飘悠悠    时间: 2015-3-17 18:10
大家注意一点。如下面的例子:
作者: 兰色精灵    时间: 2015-3-17 18:10
所以你总能得到相应的升级版本,来满足你的需求。
作者: 乐观    时间: 2015-3-24 18:51
学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2