现在位置:中国IDC吧>服务器>Windows服务器> 文章内容

SQL Server静态页面导出技术(SQL Server Web Assistant)5

收藏发布 来源:[标签:出处] 作者:[标签:作者] 更新日期:2008-09-21 点击:
   本段文章节选自铁道出版社新出的《用BackOffice建立Intranet/Extranet应用》一书(现已在海淀图书城有售,外地或者需要送货上门的读者可以到www.wanbook.com.cnwww.e-bookshop.com.cn上在线购买。本书书号为ISBN7113039448)。本书详尽地讲述了如何使用微软BackOffice系列产品来组建Intranet/Extranet应用。通过它您将掌握NT的安装和设置、使用IIS建立Web站点、通过ILS建立网络会议系统、用Exchange建立企业的邮件和协作系统、用SQL Server建立Web数据库应用、用Proxy Server建立同Internet安全可靠的连接、用Media Server建立网络电视台/广播站、用Chart server建立功能强大的聊天室、用Site Server建立个性化的邮件列表和分析网站的访问情况、用Commerce Server建立B2B或B2C的电子商务网站。

   此外本书还对网络的安全性进行了讨论,从而指导您建立一个更为健壮和安全的网络应用。阅读本书之后,您将发现实现丰富多彩的网络应用原来这样简单……绝对原创,欢迎转载。但请务必保留以上文字。
  
  
   技巧:游标的定义和使用
   一个游标的定义及使用的过程如下:
   1:定义游标,为其指定一个查询语句并对游标的各种属性和选项进行设置。
   2:打开游标,通过OPEN语句可以打开并填充一个已经定义的游标。
   3:将游标所对应记录中的数据取出或对其进行修改。通常读取游标数据的方法是将它赋给一些变量。
   4:关闭游标,通过CLOSE语句来实现游标的关闭。一个已经关闭的游标,可以再次通过OPEN语句将其打开。
   5:释放游标,对于游标的释放,使用deallocate语句。一个游标一旦被释放,其占用的资源也将被释放。如果想要再次使
   用它,只能对其进行重新定义。
   游标的定义:
   既然游标是用于对结果集合中的记录进行操作,那么对其的定义就必然会包含一个返回结果集合的查询。定义游标使
   用DECLARE CURSOR语句,它具有两种语法结构。一种为兼容SQL-92而保留的,一种为SQL Server自己的"方言"(Transact-
   SQL)。其语法结构分别如下:
   SQL-92语法结构:
   DECLARE cursor_name [INSENSITIVE] [SCROLL] CURSOR
   FOR select_statement
   [FOR {READ ONLY | UPDATE ][OF column_name ][,...n]]}]
   其中cursor_name为定义游标的名字。
   INSENSITIVE选项指明查询的结果集将保存在tempdb之中。也就是说为结果集建立了一个份临时拷贝。所有的游标操作都是
   基于此临时拷贝的。如果在此之后原来表中的数据发生了变化,也不会反映到此游标的结果集之中了。
   SCROLL选项则指明游标可以使用哪些提取记录的方式,其可以有如下选择:
   ■ FIRST:提取游标的结果集中的第一个记录。
   ■ LAST:提取游标的结果集中的最后一个记录。
   ■ PRIOR:提取游标的结果集中当前记录的前一个记录。
   ■ NEXT:提取游标的结果集中当前记录的后一个记录。
   ■ RELATIVE n:提取游标的结果集中当前记录之后(n为正数)或之前(n为负数)的第n个记录。
   ■ ABSOLUTE n:提取游标的结果集中的第n个记录。
   如果不指明SCROLL选项,在默认情况下只支持NEXT方式。
   select_statement为产生结果集的SQL查询语句,但其中不能包含COMPUTE、COMPUTE BY、FOR BROWSE、INTO这些关键字。
   READ ONLY选项指明所定义的游标为只读游标,它禁止通过游标来修改表中的数据。
   UPDATE [OF column_name ][,...n]]选项指明可以通过游标来修改表中的数据。并可以通过OF column_name [,...n]参数
   来限定只能对表中的哪些字段进行修改。
   Transact-SQL语法结构:
   DECLARE cursor_name CURSOR
   [LOCAL | GLOBAL]
   [FORWARD_ONLY | SCROLL]
   [STATIC | KEYSET | DYNAMIC | FAST_FORWARD]
   [READ_ONLY | SCROLL_LOCKS | OPTIMISTIC]
   [TYPE_WARNING]
   FOR select_statement
   [FOR UPDATE ][OF column_name ][,...n>
   其中cursor_name、SCROLL、FOR select_statement、FOR UPDATE [OF column_name ][,...n]]、READ_ONLY等参数和
   选项的含义同SQL-92。
   LOCAL和GLOBAL选项指明所定义的游标为局部游标还是全局游标。局部游标作用范围为定义它的批命令、存贮过程或触
   发器。而全局游标的作用范围为当前的链接。如果不指明此选项,则由数据库的default to local cursor选项(此选项默
   认为FALSE)来决定。所以默认情况下,定义的都是GLOBAL型的游标。可以通过系统存贮过程sp_dboption来修改数据库的
   default to local cursor选项。
   FORWARD_ONLY选项指明只能以NEXT的方式提取游标结果集中的记录。
   STATIC的含义和SQL-92中的INSENSITIVE选项相同。
   KEYSET指明建立的游标的结果集中记录的顺序是固定的。所有能够唯一标识结果集中记录的关键字都将存贮到tempdb
   中的一个临时表中(键集)。
   DYNAMIC指明定义的游标为动态游标。任何影响结果数据集的修改都将被反映出来。也就是说,游标的结果集中的数据
   同数据库中的数据会同步地改变。而对于动态游标,不能使用ABSOLUTE方式来提取结果集中的记录。
   FAST_FORWARD指明定义的游标为FORWARD_ONLY且只读。在指定了SCROLL和 FOR UPDATE选项后,不能指定此选项。而且
   它同FORWARD_ONLY选项互斥。
   SCROLL_LOCKS指明在提取游标结果集中的记录时,将其对应的表中的记录进行锁定。从而阻止其他用户对此记录的修
   改。
   OPTIMISTIC指明在提取游标结果集中的记录时,不将其对应表中的记录进行锁定。如果通过游标对记录进行修改,则
   系统先检测记录是否发生的改变;如果改变,则取消记录的修改操作。

上一页12 下一页
收藏此页到网摘/书签:
所有评论

评论列表

用户名: 新注册) 密码: 匿名评论