⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 第9章.txt

📁 sql server 2000 数据库与应用
💻 TXT
字号:
【例9-1】声明一个游标jbxxb_cursor,用于访问数据库XSCJ中的“学生基本信息表”。
USE  XSCJ
GO
DECLARE  jbxxb_cursor  CURSOR
FOR SELECT  *  FROM   学生基本信息表  
【例9-2】 使用游标查看数据库XSCJ中“学生基本信息表”中满足条件的记录个数。代码如下:
USE XSCJ
GO
DECLARE jbxxb_Cursor CURSOR FOR
SELECT 学号, 姓名
FROM xscj.dbo.学生基本信息表
WHERE 族别 LIKE '哈萨克'
OPEN jbxxb_Cursor
FETCH NEXT FROM jbxxb_Cursor
WHILE @@FETCH_STATUS = 0
BEGIN
    FETCH NEXT FROM jbxxb_Cursor
END
CLOSE jbxxb_Cursor
DEALLOCATE jbxxb_Cursor
【例9-3】为“学生基本信息表”中姓名以“张”开头的行声明一个简单的游标jbxxb1_cursor,并使用 FETCH NEXT 逐个提取这些行。FETCH 语句以单行结果集形式返回由 DECLARE CURSOR 指定列的值。
USE XSCJ
GO
DECLARE jbxxb1_cursor CURSOR FOR
SELECT 姓名 FROM 学生基本信息表
WHERE 姓名 LIKE '张%'
ORDER BY 姓名
OPEN jbxxb1_cursor
FETCH NEXT FROM jbxxb1_cursor
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM jbxxb1_cursor
END
CLOSE jbxxb1_cursor
DEALLOCATE jbxxb1_cursor
【例9-4】本例与上例相似,使用 FETCH语句将值存入变量,但 FETCH 语句的值存储于局部变量而不是直接返回给基表。PRINT 语句将变量组合成单一字符串并将其返回到基表。代码如下:
USE XSCJ
GO
DECLARE @学号 varchar(40), @姓名 varchar(20)
DECLARE xb_cursor CURSOR FOR
SELECT 学号,姓名 FROM 学生基本信息表
WHERE 姓名  LIKE  '张%'
ORDER BY  姓名
OPEN  xb_cursor
FETCH NEXT FROM xb_cursor
INTO @学号, @姓名
WHILE @@FETCH_STATUS = 0
BEGIN
   PRINT  '学生姓名为:' + @姓名 + ';学号为' +  @学号
   FETCH NEXT FROM xb_cursor
   INTO @学号, @姓名
END
CLOSE xb_cursor
DEALLOCATE xb_cursor
【例9-5】定义一事务charu(未提交)并将“学生基本信息表”中族别不是“汉族”的学生“族别”改成“少数民族”。代码如下 :
USE XSCJ
GO
BEGIN TRANSACTION  charu
GO
UPDATE 学生基本信息表
SET 族别 = '少数民族'
WHERE 族别!= '汉族'
GO
【例9-6】事务的嵌套,通过本例可以知道嵌套事务中,内部事务所做的修改等提交完最外层事务之后才能生效。
USE XSCJ
GO
CREATE TABLE  综合表(学号 INT PRIMARY KEY, 姓名 CHAR(8),年龄 int)
BEGIN TRANSACTION charu  
INSERT INTO 综合表 VALUES (1, '卡吾萨尔',18)
BEGIN TRANSACTION charu1
INSERT INTO 综合表 VALUES (2, '夏尔巴提',20)
BEGIN TRANSACTION charu2 
INSERT INTO 综合表 VALUES (3, '张莉',19)
COMMIT TRANSACTION charu2
COMMIT TRANSACTION charu1
COMMIT TRANSACTION charu


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -