仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 737|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL教程之分页存储历程(用存储历程完成数据库的分...

[复制链接]
小妖女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:15:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在我们工作的过程中,经常能听到很多不使用MySQL的理由,虽然其中有一些是对MySQL的误解,不过同样也有一些是合情合理的。复制代码代码以下:
--*******************************************************
--*分页存储历程*
--*撒哈拉年夜丛林*
--*2010-6-28*
--*******************************************************

ifexists(select*fromsysobjectswheretype=Pandname=NP_Paging)
dropprocedureP_Paging
go

createprocedureP_Paging
@SqlStrnvarchar(4000),--查询字符串
@CurrentPageint,--第N页
@PageSizeint--每页行数
as
setnocounton
declare@P1int,--P1是游标的id
@rowcountint
execsp_cursoropen@P1output,@SqlStr,@scrollopt=1,@ccopt=1,@rowcount=@rowcountoutput
selectceiling(1.0*@rowcount/@PageSize)as总页数--,@rowcountas总行数,@CurrentPageas以后页
set@CurrentPage=(@CurrentPage-1)*@PageSize+1
execsp_cursorfetch@P1,16,@CurrentPage,@PageSize
execsp_cursorclose@P1
setnocountoff
go


----创立测试表
--ifexists(select*fromsysobjectswheretype=Uandname=NTest_Students)
--droptableTest_Students
--go
--createtableTest_Students(
--idintIDENTITY(1,1)notnull,
--namenvarchar(100)notnull
--)
--
----创立测试数据
--declare@iint
--set@i=100000
--while@i>0
--begin
--insertintoTest_Studentsvalues(姓名)
--set@i=@i-1
--end
--
----实行存储历程
--execP_Pagingselect*fromTest_Studentsorderbyid,100,100--实行
--
----删除测试表
--ifexists(select*fromsysobjectswheretype=Uandname=NTest_Students)
--droptableTest_Students
--go
人力成本上的节省,MySQL的用户Spacemonkey实验室的首席执行官MitchPirtle如此表示:“维护MySQL使得你不需要一个年薪15万美元的DBA。
不帅 该用户已被删除
沙发
发表于 2015-1-19 06:03:47 | 只看该作者
其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!
飘飘悠悠 该用户已被删除
板凳
发表于 2015-2-2 14:53:15 | 只看该作者
而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。
若相依 该用户已被删除
地板
发表于 2015-2-7 23:28:19 | 只看该作者
另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
admin 该用户已被删除
5#
发表于 2015-2-7 23:28:19 | 只看该作者
入门没那么困难,精通没那么容易
兰色精灵 该用户已被删除
6#
发表于 2015-2-23 18:42:30 | 只看该作者
财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..
第二个灵魂 该用户已被删除
7#
发表于 2015-3-7 09:56:09 | 只看该作者
比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。
简单生活 该用户已被删除
8#
发表于 2015-3-14 22:45:33 | 只看该作者
是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
灵魂腐蚀 该用户已被删除
9#
发表于 2015-3-21 15:31:18 | 只看该作者
至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 21:09

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表