逍遥一派 发表于 2015-1-16 22:14:01

MYSQL编程:微软SQL Server数据库的两种哀求游标

正如前文所提到的,MySQL易学、易部署、易管理和易维护。  【IT168手艺】游标(cursor)是体系为用户开设的一个数据缓冲区,寄存SQL语句的实行了局。每一个游标区都有一个名字。用户能够用SQL语句一一从游标中猎取纪录,并赋给主变量,交由主言语进一步处置。
  干系数据库中的操纵会对全部行集起感化。由SELECT语句前往的行集包含满意该语句的WHERE子句中前提的一切行。这类由语句前往的完全行集称为了局集。使用程序,出格是交互式联机使用程序,其实不总能将全部了局集作为一个单位来无效地处置。这些使用程序必要一种机制以便每次处置一行或一部分行。游标就是供应这类机制的对了局集的一种扩大。
  游标经由过程以下体例来扩大了局处置:
  同意定位在了局集的特定行。
  从了局集确当前地位检索一行或一部分行。
  撑持对了局会合以后地位的行举行数据修正。
  为由其他用户对显现在了局会合的数据库数据所做的变动供应分歧级其余可见性撑持。
  供应剧本、存储历程和触发器顶用于会见了局会合的数据的Transact-SQL语句。
  哀求游标
  MicrosoftSQLServer撑持两种哀求游标的办法:
  Transact-SQL
  Transact-SQL言语撑持在ISO游口号法以后制订的用于利用游标的语法。
  数据库使用程序编程接口(API)游标函数
  SQLServer撑持以下数据库API的游标功效:
  ADO(MicrosoftActiveX数据工具)
  OLEDB
  ODBC(开放式数据库毗连)
  使用程序不克不及夹杂利用这两种哀求游标的办法。已利用API指定游标举动的使用程序不克不及再实行Transact-SQLDECLARECURSOR语句哀求一个Transact-SQL游标。使用程序只要在将一切的API游标特征设置回默许值后,才能够实行DECLARECURSOR。
  假如既未哀求Transact-SQL游标也未哀求API游标,则默许情形下SQLServer将向使用程序前往一个完全的了局集,这个了局集称为默许了局集。
  游标历程
  Transact-SQL游标和API游标有分歧的语法,但以下一样平常历程合用于一切SQLServer游标:
  1、将游标与Transact-SQL语句的了局集相干联,而且界说该游标的特征,比方是不是可以更新游标中的行。
  2、实行Transact-SQL语句以添补游标。
  3、从游标中检索您想要检察的行。从游标中检索一行或一部分行的操纵称为提取。实行一系列提取操纵以便向前或向后检索行的操纵称为转动。
  4、依据必要,对游标中以后地位的行实行修正操纵(更新或删除)。
  5、封闭游标。
<Pstyle="TEXT-INDENT:2em">
怀疑这些功能在MySQL5.0中的成熟性。充其量它们在MySQL中被支持的时间也就一年左右,而在MySQL学习教程其他关系型数据库中则已经存在了近10年的时间。

只想知道 发表于 2015-1-19 05:27:45

但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。

小妖女 发表于 2015-1-27 12:54:28

从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。

逍遥一派 发表于 2015-2-5 10:57:19

分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。

小女巫 发表于 2015-2-11 11:34:44

如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。

若相依 发表于 2015-3-11 04:08:07

个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。

因胸联盟 发表于 2015-3-17 20:46:52

但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)

愤怒的大鸟 发表于 2015-3-25 02:01:20

也可谈一下你是怎么优化存储过程的?
页: [1]
查看完整版本: MYSQL编程:微软SQL Server数据库的两种哀求游标