小魔女 发表于 2015-1-16 22:18:09

MYSQL编程:谈SQL Server 2005中的T-SQL加强

解决方案提供商应记住DBaaS通常仅仅是解决方案的一部分。客户之所以与他们的解决方案提供商协同工作,不仅是因为他们出售的产品,而且还因为他们所提供的服务。  丰厚的数据范例RicherDataTypes
  1、varchar(max)、nvarchar(max)和varbinary(max)数据范例最多能够保留2GB的数据,能够代替text、ntext或image数据范例。
CREATETABLEmyTable
(
idINT,
contentVARCHAR(MAX)
)</p>  2、XML数据范例
  XML数据范例同意用户在SQLServer数据库中保留XML片断或文档。
  毛病处置ErrorHandling
  1、新的非常处置布局
  2、能够捕捉和处置已往会招致批处置停止的毛病。条件是这些毛病不会招致毗连中止(一般是严峻水平为21以上的毛病,比方,表或数据库完全性可疑、硬件毛病等等。)。
  3、TRY/CATCH机关
SETXACT_ABORTON
BEGINTRY
<corelogic>
ENDTRY
BEGINCATCHTRAN_ABORT
<exceptionhandlinglogic>
ENDTRY
@@errormaybequiredasfirststatementinCATCHblock</p>  4、演示代码
USEdemo
GO
--创立事情表
CREATETABLEstudent
(
stuidINTNOTNULLPRIMARYKEY,
stunameVARCHAR(50)
)
CREATETABLEscore
(
stuidINTNOTNULLREFERENCESstudent(stuid),
scoreINT
)
GO
INSERTINTOstudentVALUES(101,zhangsan)
INSERTINTOstudentVALUES(102,wangwu)
INSERTINTOstudentVALUES(103,lishi)
INSERTINTOstudentVALUES(104,maliu)
--挪用一个运转时毛病
SETXACT_ABORTOFF
BEGINTRAN
INSERTINTOscoreVALUES(101,90)
INSERTINTOscoreVALUES(102,78)
INSERTINTOscoreVALUES(107,76)/*外键毛病*/
INSERTINTOscoreVALUES(103,81)
INSERTINTOscoreVALUES(104,65)
COMMITTRAN
GO
SELECT*FROMstudent
SELECT*FROMscore
--利用TRY...CATCH机关,并挪用一个运转时毛病
SETXACT_ABORTOFF
BEGINTRY
BEGINTRAN
INSERTINTOscoreVALUES(101,90)
INSERTINTOscoreVALUES(102,78)
INSERTINTOscoreVALUES(107,76)/*外键毛病*/
INSERTINTOscoreVALUES(103,81)
INSERTINTOscoreVALUES(104,65)
COMMITTRAN
PRINT事件提交
ENDTRY
BEGINCATCH
ROLLBACK
PRINT事件回滚
SELECTERROR_NUMBER()ASErrorNumber,
ERROR_SEVERITY()ASErrorSeverity,
ERROR_STATE()asErrorState,
ERROR_MESSAGE()asErrorMessage;
ENDCATCH
GO
SELECT*FROMscore
GO</p>DBaaS解决方案既可以解决这些问题,又能为客户节约资金。相反作为解决方案提供商,采用DBaaS模式似乎就并不那么有吸引力了,因为与企业内部署软件的解决方案相比,DBaaS意味着更低的利润。

透明 发表于 2015-1-19 07:20:21

其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!

因胸联盟 发表于 2015-1-24 12:03:22

一直以来个人感觉SQLServer的优化器要比Oracle的聪明。SQL2005的更是比2k聪明了不少。(有次作试验发现有的语句在200万级时还比50万级的相同语句要快show_text的一些提示没有找到解释。一直在奇怪。)

小魔女 发表于 2015-2-1 10:11:54

大家注意一点。如下面的例子:

简单生活 发表于 2015-2-7 03:12:25

XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)

admin 发表于 2015-2-20 04:57:01

在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。

再见西城 发表于 2015-3-6 16:32:49

SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。

飘灵儿 发表于 2015-3-13 04:10:22

然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情

只想知道 发表于 2015-3-20 12:39:33

SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上.
页: [1]
查看完整版本: MYSQL编程:谈SQL Server 2005中的T-SQL加强