declare @a varchar(50),@b int;
declare tempIndex cursor for (SELECT a, b from Bdc_Point)
open tempIndex
fetch next from tempIndex into @x, @y
while @@fetch_status=0
begin
print @x
fetch next from tempIndex into @x,@y
close tempIndex
deallocate tempIndex
SQL SERVER 游标循环读取表数据declare @a varchar(50),@b int;--定义游标declare tempIndex cursor for (SELECT a, b from Bdc_Point) --打开游标open tempIndex --抓取下一行数据给变量,一个或者多个fetch next from tempIndex into @a, @b --进行循环,0表示抓取成功,1表示抓取失败,2表示不存在抓取行while @@fetch_status=0
9.3.2 使用BCP或者BULK INSERT时的注意事项 286
9.3.3 外部数据文件位置及文件访问权限问题 287
9.4 在客户端实现SQL Server数据导入与导出处理 288
9.4.1 在Access数据库中实现与SQL Server之间的数据交换 288
9.4.2 实现客户端其他OLE DB数据源与SQL Server之间的数据交换 289
9.4.3 在客户端实现SQL Server数据导入与导出处理的一些说明 289
9.5 在数据库中存取文件 290
9.5.1 SQL Server中的文件存取方法 290
9.5.2 程序中的文件存取处理方法 292
第 10 章 作业 295
10.1 作业概述 295
10.1.1 定义作业 295
10.1.2 使用系统存储过程定义作业的常用模板 300
10.2 作业的应用 303
10.2.1 定时启用(或者停用)数据库 303
10.2.2 执行耗时的存储过程 304
10.2.3 秒级作业 305
10.3 使用作业的疑难解答 309
第 11 章 数据备份与还原 315
11.1 数据库备份与还原方法介绍 315
11.1.1 完全备份与还原 315
11.1.2 差异备份与还原 317
11.1.3 日志备份与还原 319
11.1.4 数据文件或文件组备份与还原 320
11.1.5 备份设备 321
11.1.6 数据库恢复模型对数据库备份和还原的影响 322
11.2 制订数据库备份方案 326
11.2.1 备份方案制订原则 326
11.2.2 建立数据备份方案 327
11.3 数据库备份与还原的实践应用 332
11.3.1 系统数据库的备份与还原 332
11.3.2 数据库迁移 336
11.3.3 部分数据库还原 339
11.3.4 抢救损坏数据库中的数据 341
11.3.5 将数据还原到指定时间点 343
11.3.6 将数据还原到指定标记点 345
11.3.7 同步备用服务器 346
11.4 数据备份与还原疑难解答 349
11.4.1 数据备份与还原中的常见问题 349
11.4.2 使用媒体集备份时的常见问题 354
11.4.3 数据库还原中的孤立用户问题 356
11.4.4 查询备份文件中的信息 360
第 12 章 用户定义数据类型 361
12.1 用户定义数据类型概述 361
12.1.1 创建和删除用户定义数据类型 361
12.1.2 为用户定义的数据类型绑定规则 365
12.1.3 为用户定义的数据类型绑定默认值 370
12.2 修改用户定义数据类型 373
12.2.1 修改被表引用的用户定义数据类型 373
12.2.2 修改被存储过程引用的用户定义数据类型 379
第 13 章 数据库安全 383
13.1 SQL Server的存取构架 383
13.1.1 表格格式数据流(TDS) 383
13.1.2 Net-Library与网络协议 384
13.1.3 Net-Library加密 387
13.2 用户管理 388
13.2.1 身份验证模式 388
13.2.2 登录、用户、角色和组 390
13.2.3 管理用户 395
13.3 数据文件安全 403
13.4 SQL Server安全配置 405
13.4.1 安全配置建议 405
13.4.2 使用安全套接字层(SSL)加密 408
13.5 应用程序上的安全 417
13.5.1 防止SQL注入式攻击 417
13.5.2 限制应用程序访问 418
13.5.3 不安全的扩展存储过程 419
第 14 章 系统表应用实例 423
14.1 系统对象概述 423
14.1.1 每个数据库中都存在的系统表 424
14.1.2 仅在系统数据库中存在的系统表 424
14.1.3 系统表应用中三个重要的系统存储过程 426
14.2 系统表在对象信息检索中的应用 429
14.2.1 搜索指定的对象所处的数据库 429
14.2.2 获取存储过程参数定义 432
14.2.3 搜索指定字符在哪个表的哪个字段中 435
14.2.4 非UNICODE字段改为UNICODE字段的可行性查询 438
14.2.5 字段相关对象查询 439
14.2.6 生成数据库字典 443
14.3 系统对象在处理中的应用 444
14.3.1 批量处理数据库中的对象 444
14.3.2 将所有的char、varchar改为nchar、nvarchar 445
14.3.3 标识列与普通列的相互转换 447
14.3.4 把列添加指定位置 450
14.3.5 在两个SQL Server数据库之间复制对象 451
第 15 章 SQL Server应用疑难解答 455
15.1 访问SQL Server实例的常见问题 455
15.1.1 连接失败 455
15.1.2 用户登录失败 458
15.1.3 测试连接到SQL Server实例的方法总结 458
15.1.4 超时 459
15.1.5 单用户的问题 460
15.1.6 默认数据库问题 461
15.2 索引中的疑难解答 462
15.2.1 索引对查询条件的影响 462
15.2.2 索引对查询结果顺序的影响 465
15.2.3 索引对数据操作的影响 469
15.3 数据库日志疑难解答 470
15.3.1 影响日志文件增长的因素 471
15.3.2 从事务日志中删除日志记录 472
15.3.3 日志文件处理中的误区 472
15.3.4 合理解决日志文件增长 473
15.4 错误处理疑难解答 474
15.4.1 错误处理概述 474
15.4.2 错误处理严重程度 475
15.4.3 使用@@ERROR的疑难解答 476
15.4.4 XACT_ABORT与RAISERROR的疑难解答 477
15.5 游标处理疑难解答 479
15.5.1 全局游标与本地游标 479
15.5.2 检查指定的游标是否存在 480
15.5.3 事务提交或者回滚对游标的影响 482
15.5.4 可更新的游标 483
15.6 SQL Server处理中的其他疑难解答 484
15.6.1 并发工作负荷调控器 484
15.6.2 存储过程中的疑难解答 486
15.6.3 标识值疑难解答 488
15.6.4 全文检索疑难解答 491
15.6.5 发布与订阅中的常见问题 494
15.6.6 其他疑难解答 496
PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势。
登录界面PL/SQL编辑器,具有语法加强、SQL和PL/SQL帮助、对象描述、代码助手、编译器提示、PL/SQL完善、代码内容、代码分级、浏览器按钮、超链接导航、宏库等许多智能特性,能够满足要求性最高的用户需求。当您需要某个信息时,它将自动出现,至多单击即可将信息调出。
集成调试器
该调试器(要求Oracle 7.3.4或更高)提供您所需要的全部特性:跳入(Step In)、跳过(Step Over)、跳出(Step Out)、异常时停止运行、断点、观察和设置变量、观察全部堆栈等。基本能够调试任何程序单元(包括触发器和Oracle8 对象类型),无需作出任何修改。
PL/SQL完善器
该完善器允许您通过用户定义的规则对SQL和PL/SQL代码进行规范化处理。在编译、保存、打开一个文件时,代码将自动被规范化。该特性提高了您编码的生产力,改善了PL/SQL代码的可读性,促进了大规模工作团队的协作。
SQL 窗口
该窗口允许您输入任何SQL语句,并以栅格形式对结果进行观察和编辑,支持按范例查询模式,以便在某个结果集合中查找特定记录。另外,还含有历史缓存,您可以轻松调用先前执行过的SQL语句。该SQL编辑器提供了同PL/SQL编辑器相同的强大特性。
使用PL/SQL Developer 的命令窗口能够开发并运行SQL脚本。该窗口具有同SQL*Plus相同的感观,另外还增加了一个内置的带语法加强特性的脚本编辑器。这样,您就可以开发自己的脚本,无需编辑脚本/保存脚本/转换为SQL*Plus/运行脚本过程,也不用离开PL/SQL Developer集成开发环境。
PL/SQL Developer提供内置的报告功能,您可以根据程序数据或Oracle字典运行报告。PL/SQL Developer本身提供了大量标准报告,而且您还可以方便的创建自定义报告。自定义报告将被保存在报告文件中,进而包含在报告菜单内。这样,运行您自己经常使用的自定义报告就非常方便。
您可以使用Query Reporter免费软件工具来运行您的报告,不需要PL/SQL Developer,直接从命令行运行即可。
PL/SQL Developer内置的工程概念可以用来组织您的工作。一个工程包括源文件集合、数据库对象、notes和选项。PL/SQL Developer允许您在某些特定的条目集合范围之内进行工作,而不是在完全的数据库或架构之内。这样,如果需要编译所有工程条目或者将工程从某个位置或数据库移动到其他位置时,所需工程条目的查找就变得比较简单。
To-Do条目
您可以在任何SQL或PL/SQL源文件中使用To-Do条目快速记录该文件中那些需要进行的事项。以后能够从To-Do列表中访问这些信息,访问操作可以在对象层或工程层进行。
对象浏览器
可配置的树形浏览能够显示同PL/SQL开发相关的全部信息,使用该浏览器可以获取对象描述、浏览对象定义、创建测试脚本以便调试、使能或禁止触发器或约束条件、重新编译不合法对象、查询或编辑表格、浏览数据、在对象源中进行文本查找、拖放对象名到编辑器等。
此外,该对象浏览器还可以显示对象之间的依存关系,您可以递归的扩展这些依存对象(如包参考检查、浏览参考表格、图表类型等)。
使用PL/SQL Profiler,可以浏览每一执行的PL/SQL代码行的时序信息(Oracle8i或更高),从而优化您SQL和PL/SQL的代码性能。
更进一步,您还可以自动获取所执行的SQL语句和PL/SQL程序统计信息。该统计信息包括CPU使用情况、块I/O、记录I/O、表格扫描、分类等。
HTML指南
Oracle目前支持HTML格式的在线指南。您可以将其集成到PL/SQL Developer工作环境中,以便在编辑、编译出错或运行时出错时提供内容敏感帮助。
非PL/SQL对象
不使用任何SQL,您就可以对表格、序列、符号、库、目录、工作、队列、用户和角色进行浏览、创建和修改行为。PL/SQL Developer提供了一个简单易用的窗体,只要将信息输入其中,PL/SQL Developer就将生成相应的SQL,从而创建或转换对象。
模板列表
PL/SQL Developer的模板列表可用作一个实时的帮助组件,
9.4.1 在Access数据库中实现与SQL Server之间的数据交换 288
9.4.2 实现客户端其他OLE DB数据源与SQL Server之间的数据交换 289
9.4.3 在客户端实现SQL Server数据导入与导出处理的一些说明 289
9.5 在数据库中存取文件 290
9.5.1 SQL Server中的文件存取方法 290
9.5.2 程序中的文件存取处理方法 292
第 10 章 作业 295
10.1 作业概述 295
10.1.1 定义作业 295
10.1.2 使用系统存储过程定义作业的常用模板 300
10.2 作业的应用 303
10.2.1 定时启用(或者停用)数据库 303
10.2.2 执行耗时的存储过程 304
10.2.3 秒级作业 305
10.3 使用作业的疑难解答 309
第 11 章 数据备份与还原 315
11.1 数据库备份与还原方法介绍 315
11.1.1 完全备份与还原 315
11.1.2 差异备份与还原 317
11.1.3 日志备份与还原 319
11.1.4 数据文件或文件组备份与还原 320
11.1.5 备份设备 321
11.1.6 数据库恢复模型对数据库备份和还原的影响 322
11.2 制订数据库备份方案 326
11.2.1 备份方案制订原则 326
11.2.2 建立数据备份方案 327
11.3 数据库备份与还原的实践应用 332
11.3.1 系统数据库的备份与还原 332
11.3.2 数据库迁移 336
11.3.3 部分数据库还原 339
11.3.4 抢救损坏数据库中的数据 341
11.3.5 将数据还原到指定时间点 343
11.3.6 将数据还原到指定标记点 345
11.3.7 同步备用服务器 346
11.4 数据备份与还原疑难解答 349
11.4.1 数据备份与还原中的常见问题 349
11.4.2 使用媒体集备份时的常见问题 354
11.4.3 数据库还原中的孤立用户问题 356
11.4.4 查询备份文件中的信息 360
第 12 章 用户定义数据类型 361
12.1 用户定义数据类型概述 361
12.1.1 创建和删除用户定义数据类型 361
12.1.2 为用户定义的数据类型绑定规则 365
12.1.3 为用户定义的数据类型绑定默认值 370
12.2 修改用户定义数据类型 373
12.2.1 修改被表引用的用户定义数据类型 373
12.2.2 修改被存储过程引用的用户定义数据类型 379
第 13 章 数据库安全 383
13.1 SQL Server的存取构架 383
13.1.1 表格格式数据流(TDS) 383
13.1.2 Net-Library与网络协议 384
13.1.3 Net-Library加密 387
13.2 用户管理 388
13.2.1 身份验证模式 388
13.2.2 登录、用户、角色和组 390
13.2.3 管理用户 395
13.3 数据文件安全 403
13.4 SQL Server安全配置 405
13.4.1 安全配置建议 405
13.4.2 使用安全套接字层(SSL)加密 408
13.5 应用程序上的安全 417
13.5.1 防止SQL注入式攻击 417
13.5.2 限制应用程序访问 418
13.5.3 不安全的扩展存储过程 419
第 14 章 系统表应用实例 423
14.1 系统对象概述 423
14.1.1 每个数据库中都存在的系统表 424
14.1.2 仅在系统数据库中存在的系统表 424
14.1.3 系统表应用中三个重要的系统存储过程 426
14.2 系统表在对象信息检索中的应用 429
14.2.1 搜索指定的对象所处的数据库 429
14.2.2 获取存储过程参数定义 432
14.2.3 搜索指定字符在哪个表的哪个字段中 435
14.2.4 非UNICODE字段改为UNICODE字段的可行性查询 438
14.2.5 字段相关对象查询 439
14.2.6 生成数据库字典 443
14.3 系统对象在处理中的应用 444
14.3.1 批量处理数据库中的对象 444
14.3.2 将所有的char、varchar改为nchar、nvarchar 445
14.3.3 标识列与普通列的相互转换 447
14.3.4 把列添加指定位置 450
14.3.5 在两个SQL Server数据库之间复制对象 451
第 15 章 SQL Server应用疑难解答 455
15.1 访问SQL Server实例的常见问题 455
15.1.1 连接失败 455
15.1.2 用户登录失败 458
15.1.3 测试连接到SQL Server实例的方法总结 458
15.1.4 超时 459
15.1.5 单用户的问题 460
15.1.6 默认数据库问题 461
15.2 索引中的疑难解答 462
15.2.1 索引对查询条件的影响 462
15.2.2 索引对查询结果顺序的影响 465
15.2.3 索引对数据操作的影响 469
15.3 数据库日志疑难解答 470
15.3.1 影响日志文件增长的因素 471
15.3.2 从事务日志中删除日志记录 472
15.3.3 日志文件处理中的误区 472
15.3.4 合理解决日志文件增长 473
15.4 错误处理疑难解答 474
15.4.1 错误处理概述 474
15.4.2 错误处理严重程度 475
15.4.3 使用@@ERROR的疑难解答 476
15.4.4 XACT_ABORT与RAISERROR的疑难解答 477
15.5 游标处理疑难解答 479
15.5.1 全局游标与本地游标 479
15.5.2 检查指定的游标是否存在 480
15.5.3 事务提交或者回滚对游标的影响 482
15.5.4 可更新的游标 483
15.6 SQL Server处理中的其他疑难解答 484
15.6.1 并发工作负荷调控器 484
15.6.2 存储过程中的疑难解答 486
15.6.3 标识值疑难解答 488
15.6.4 全文检索疑难解答 491
15.6.5 发布与订阅中的常见问题 494
15.6.6 其他疑难解答 496
中文版SQL Server 2000开发与管理应用实例-简介:
《中文版SQL Server 2000开发与管理应用实例》
本书全面系统地介绍了SQL Server开发和管理的应用技术,涉及安装和配置SQL Server、日期处理、字符处理、排序规则、编号处理、数据统计与汇总、分页处理、树形数据处理、数据导入与导出、作业、数据备份与还原、用户定义数据类型、数据库安全、系统表应用实例、SQL Server应用疑难解答等内容。本书不但融合了作者在使用SQL Server 2000过程中遇到的各种常见问题和应用案例,还总结了作者几年来在CSDN 社区SQL Server版所解决的大量问题,面向实际项目需求,涉及不同类型的应用,能够多角度地引导读者学习相关知识。而且针对各类问题,提供了详细的操作步骤和解决思路,具有很强的实用性和可操作性。
游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。
游标是处理结果集的一种机制吧,它可以定位到结果集中的某一行,多数据进行读写,也可以移动游标定位到你所需要的行中进行操作数据。一般复杂的存储过程,都会有游标的出现,他的用处主要有:
定位到结果集中的某一行。
对当前位置的数据进行读写。
可以对结果集中的数据单独操作,而不是整行执行相同的操作。
是面向集合的数据库管理系
select dateadd(DAY,GETDATE(),I)
请问上面的语句怎么改写才正确???Transact-SQL 参考
WHILE设置重复执行 SQL 语句或语句块的条件。只要指定的条件为真,就重复执行语句。可以使用 BREAK 和 CONTINUE 关键字在循环内部控制 WHILE 循环中语句的执行。
CURSOR_STATUS
@@FETCH_STATUS
所有游标函数都不具有确定性。每次用一组特定输入值调用它们时,返回的结果不总是相同的。有关函数确定性的更多信息,请参见确定性函数和非确定性函数。
1@@CURSOR_ROWS
返回连接上最后打开的游标中当前存在的合格行的数量。为提高性能,Microsof...
问题描述,在SQL数据库中有很多数据,其中的一列,需要根据其它几列的值进行更新,比如,如果其值比某列小,用其他几列的最大值再加1。要对现有数据库中的所有数据都进行更新。
考虑用循环进行处理。从网上找到的参考方法如下。其思路是,将原来的表中的几个关键列读出来存入表变量中,作为循环更新时的索引。
循环时,从表变量中逐行读出列号信息,根据其列号去处理原表中的信息,处理完成,从表变量中删除该行。
-- 插入测试数据
INSERT INTO TestTable (id, name) VALUES (1, '张三')
INSERT INTO TestTable (id, name) VALUES (2, '李四')
INSERT INTO TestTable (id, name) VALUES (3, '王五')
-- 声明游标
DECLARE test_cursor CURSOR FOR
SELECT id, name FROM TestTable
-- 打开游标
OPEN test_cursor
-- 声明变量
DECLARE @id INT, @name VARCHAR(20)
-- 从游标中读取数据
FETCH NEXT FROM test_cursor INTO @id, @name
-- 循环读取游标中的所有数据
WHILE @@FETCH_STATUS = 0
BEGIN
-- 打印数据
PRINT 'ID: ' + CAST(@id AS VARCHAR) + ', Name: ' + @name
-- 继续读取下一行数据
FETCH NEXT FROM test_cursor INTO @id, @name
-- 关闭并删除游标
CLOSE test_cursor
DEALLOCATE test_cursor
-- 删除测试表
DROP TABLE TestTable
在这个示例中,我们首先创建了一个名为`TestTable`的表,并向其插入了三条记录。然后我们声明了一个名为`test_cursor`的游标,并将其指向表`TestTable`中的所有数据。接下来我们使用`OPEN`命令打开游标,然后使用`FETCH`命令从游标中读取数据。我们在循环中使用`WHILE`语句,每次循环时都会调用`FETCH`命令从游标中读取下一行数据。当游标到达最后一行时,循