易截截图软件、单文件、免安装、纯绿色、仅160KB

sql server 2000/2005 游标的使用操作

1. 定义游标定义
游标语句的核心是定义了一个游标标识名,并把游标标识名和一个查询语句关联起来。DECLARE语句用于声明游标,它通过SELECT查询定义游标存储的数据集合。语句格式为:
DECLARE 游标名称 [INSENSITIVE] [SCROLL]
CURSOR FOR select语句
[FOR{READ ONLY|UPDATE[OF 列名字表]}]
参数说明:
INSENSITIVE选项:说明所定义的游标使用SELECT语句查询结果的拷贝,对游标的操作都基于该拷贝进行。因此,这期间对游标基本表的数据修改不能反映到游标中。这种游标也不允许通过它修改基本表的数据。
SCROLL选项:指定该游标可用所有的游标数据定位方法提取数据,游标定位方法包括PRIOR、FIRST、LAST、ABSOLUTE n 和RELATIVE n 选项。
Select语句:为标准的SELECT查询语句,其查询结果为游标的数据集合,构成游标数据集合的一个或多个表称作游标的基表。
在游标声明语句中,有下列条件之一时,系统自动把游标定义为INSENSITIVE游标:
SELECT语句中使用了DISTINCT、UNION、 GROUP BY或HAVING等关键字;
任一个游标基表中不存在唯一索引。
其他
READ ONLY选项:说明定义只读游标。
UPDATE [OF 列名字表]选项:定义游标可修改的列。如果使用OF 列名字表选项,说明只允许修改所指定的列,否则,所有列均可修改。
例如,查询教师名字和所教的课程名,定义游标TCURSOR的语句如下 :
DECLARE TCURSOR CURSOR FOR
SELECT tname, cname
from teacher ,couse
WHERE teacher.tno = couse.tno
2. 打开游标
打开游标语句执行游标定义中的查询语句,查询结果存放在游标缓冲区中。并使游标指针指向游标区中的第一个元组,作为游标的缺省访问位置。查询结果的内容取决与查询语句的设置和查询条件。
打开游标的语句格式:
EXEC SQL OPEN 〈游标名〉
如果打开的游标为INSENSITIVE游标,在打开时将产生一个临时表,将定义的游标数据集合从其基表中拷贝过来。
SQL Server中,游标打开后,可以从全局变量@@CURSOR_ROWS中读取游标结果集合中的行数。
例1:打开前面所创建的查询教师姓名和所教课名称的游标。
OPEN tcursor
例2:显示游标结果集合中数据行数
SELECT 数据行数 = @@CURSOR_ROWS
3. 读游标区中的当前元组
读游标区数据语句是读取游标区中当前元组的值,并将各分量依次赋给指定的共享主变量。FETCH语句用于读取游标中的数据,语句格式为:
FETCH [[NEXT|PRIOR|FIRST|LAST| ABSOLUTE n| RELATIVE n]
from ] 游标名
[INTO @


相关文档:

航空公司管理系统(VC++ 与SQL 2005)

系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
      这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......

sql注入

首先我想谢谢园子的朋友们,是你们提醒我写内容有错误,记得曾经电子商务之数据存储流程(五)里面说到“选存储过程+传递参数用SqlParameter是因为,除非是ADO.NET有漏洞,那么就绝对不会发生SQL注入”。Keep Walking大哥也在关于防止sql注入的几种手段(二)中举出来一个例子说明我说的上句话是错误的。说实话当 ......

SQL Server connection strings

SQL ODBC connection strings
Standard Security:< br> "Driver={SQLServer};Server=Your_Server_Name;Database=Your_Database_Name;Uid=Your_Username;Pwd=Your_Password;"
Trusted connection:< br> "Driver={SQLServer};Server=Your_Server_Name;Database=Your_Database_Name;Trusted_Connection=yes;" ......

sql 判断数据库是否已存在


if exists(select * from master.dbo.sysdatabases where name = 's2723103005')
 begin
  drop database s2723103005
  print '已删除数据库s2723103005'
 end
create database s2723103005
on primary
(name=His_data,
 filename = 'd:\database\his_data.mdf',
 siz ......

Oracle PL\SQL操作(六)用户和角色

1.用户管理
(1)建立用户(数据库验证)

CREATE USER smith
IDENTIFIED BY smith_pwd
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA 5m ON users;
(2)修改用户
ALTER USER smith
QUOTA 0 ON SYSTEM;
(3)删除用户
DROP USER smith;
DROP USER ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号