在SqlServer存储过程中使用Cursor(游标)操作记录
1. 为何使用游标:
使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式。用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,且结果
往往是一个含有多个记录的集合。游标机制允许用户在SQL server内逐行地访问这些记录,按照用户自己的意愿来显示和处理这些记录。
2. 如何使用游标:
一般地,使用游标都遵循下列的常规步骤:
(1) 声明游标。把游标与T-SQL语句的结果集联系起来。
(2) 打开游标。
(3) 使用游标操作数据。
(4) 关闭游标。
2.1. 声明游标
DECLARE CURSOR语句SQL-92标准语法格式:
DECLARE 游标名 [ INSENSITIVE ] [ SCROLL ] CURSOR
FOR sql-statement
Eg:
Declare MycrsrVar Cursor
FOR Select * from tbMyData
2.2 打开游标
OPEN MycrsrVar
当游标被打开时,行指针将指向该游标集第1行之前,如果要读取游标集中的第1行数据,必须移动行指针使其指向第1行。就本例而言,可以使用下列操作读取第1行数据:
FETCH FIRST from E1cursor
或 FETCH NEXT from E1cursor
2.3 使用游标操作数据
下面的示例用@@FETCH_STATUS控制在一个WHILE循环中的游标活动
/* 使用游标读取数据的操作如下。*/
DECLARE E1cursor cursor /* 声明游标,默认为FORWARD_ONLY游标 */
FOR SELECT * from c_example
OPEN E1cursor /* 打开游标 */
FETCH NEXT from E1cursor /* 读取第1行数据*/
WHILE @@FETCH_STATUS = 0 /* 用WHILE循环控制游标活动 */
BEGIN
FETCH NEXT from E1cursor /* 在循环体内将读取其余行数据 */
END
CLOSE E1cursor /* 关闭游标 */
DEALLOCATE E1cursor &
相关文档:
索引的创建及使用(sqlserver 2005)
为指定表或视图创建关系索引,或为指定表创建 XML 索引。可在向表中填入数据前创建索引。可通过指定限定的数据库名称,为另一个数据库中的表或视图创建索引。
Transact-SQL 语法约定
语法
Create Relational Index CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] IN ......
select case when c.colid=1 then object_name(c.id) else '' end as 表名
,c.name as 字段名
,t.name 数据类型
,c.prec as 长度 ......
课程设计的第一步:
用户登陆模块:就这个小模块把我整死了,出现的问题一个接着一个,最主要的就是数据库连接.
question1.
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
异常原因:没有导入导驱动包sqljdbc.jar.
question2.
......
create database DB
use DB
--专业表
create table major
(spno char(5) not null primary key,
spname varchar(20) not null,
pno char(2) )
--学生表
create table student
(sno char(7) not null primary key,
sname varchar(20) not null,
ssex char(2) not null,
sag ......