仓酷云

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

[学习教程] MSSQL网页编程之SQL Server 2005新功效

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

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

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

x
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。server举几个例子来复杂申明这些例子我援用了Northwind库。1.TOP表达式
SQLServer2000的TOP是个流动值,是否是以为不爽,如今改善了。
--前n名的定单
declare@nint
set@n=10
selectTOP(@n)*fromOrders
2.分页

不知列位已往用SQLServer2000是怎样分页的,年夜多都用到了一时表。SQLServer2005一句话就撑持分页,功能听说也十分不错。
--按Freight从小到年夜排序,求20到30行的了局
select*from(
selectOrderId,Freight,ROW_NUMBER()OVER(orderbyFreight)asrowfromOrders
)a
whererowbetween20and30
3.排名


select*from(
selectOrderId,Freight,RANK()OVER(orderbyFreight)asrankfromOrders
)a
whererankbetween20and30
4.try...catch

SQLServer2000没有非常,T-SQL必需逐行反省毛病代码,关于习气了trycatch程序员,2005是否是加倍亲热:
SETXACT_ABORTON--翻开try功效
BEGINTRY
begintran
insertintoOrders(CustomerId)values(-1)
committran
printcommited
ENDTRY
BEGIN
CATCH
rollback
printrolledback
ENDCATCH
5.通用表达式CTE

经由过程表达式可免去你已往创立一时表的贫苦。
--例子:分离通用表达式举行分页
WITHOrderFreightAS(
selectOrderId,Freight,ROW_NUMBER()OVER(orderbyFreight)asrowfromOrders
)
selectOrderId,FreightfromOrderFreightwhererowbetween10and20出格,经由过程表达式还撑持递回。

6.间接公布WebService

想要把storeprocedure酿成WebService就用这个吧,.NET,IIS都不必要,经由过程Windows2003的HTTPProtocolStack间接公布WebService,用这个功效必要Windows2003sp1
--DataSetCustOrdersOrders(stringcustomerID)
CREATEENDPOINTOrders_Endpoint
state=started
ashttp(
path=/sql/orders,
AUTHENTICATION=(INTEGRATED),
ports=(clear)
)
forsoap(
WebMethodCustOrdersOrders(
name=Northwind.dbo.CustOrdersOrders
),

wsdl=default,
database=Northwind,
namespace=http://mysite.org/
)WebService就公布好了,敲进http://localhost/sql/orders?wsdl失掉wsdl
在http通信时,例子代码利用的是Windows集成考证。
给个客户端例子。privatevoidbutton1_Click(objectsender,EventArgse)
{
localhost.Orders_Endpointendp=newlocalhost.Orders_Endpoint();
endp.Credentials=System.Net.CredentialCache.DefaultCredentials;
object[]r=endp.CustOrdersOrders("VINET");

DataSetds=newDataSet();
foreach(objectoinr)
if(oisDataSet)ds=(DataSet)o;

dataGridView1.DataSource=ds.Tables[0];
}

SQLServer2005撑持basic,digest,sqlauth等多种考证,你必要编写分歧的考证代码。

提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
金色的骷髅 该用户已被删除
沙发
发表于 2015-1-19 07:31:59 | 只看该作者
理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
若相依 该用户已被删除
板凳
发表于 2015-1-25 20:33:40 | 只看该作者
但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。
乐观 该用户已被删除
地板
发表于 2015-2-3 23:32:02 | 只看该作者
你可以简单地认为适合的就是好,不适合就是不好。
莫相离 该用户已被删除
5#
发表于 2015-2-9 07:16:33 | 只看该作者
现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.
飘飘悠悠 该用户已被删除
6#
 楼主| 发表于 2015-3-8 20:13:09 | 只看该作者
你可以简单地认为适合的就是好,不适合就是不好。
再现理想 该用户已被删除
7#
发表于 2015-3-16 14:01:05 | 只看该作者
Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。
活着的死人 该用户已被删除
8#
发表于 2015-3-22 23:11:12 | 只看该作者
始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 00:30

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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