如何在SQL SERVER 2005存储过程中,使用循环语句
CREAT PROCEDURE tester
AS
BEGIN
SET NOCOUNT ON;
DECLARE @userId varchar(50)
DECLARE @count int
SET @count = 0
SELECT @count = count(*) FROM UserService_User WHERE Account like '%111%'
WHILE @count > 0
BEGIN
SELECT @userId = Id FROM UserService_User WHERE Account like '%111%'
exec UserService_RemoveUserByUserId @userId
SET @count = @count -1
END
END
说明:
1、此存储过程在SQL SERVER 2005上测试通过,值得注意的是,循环体中,语句是使用BEGIN……END包括的,而不是网络上常说的WHILE ……END WHILE结构,其他的循环语句,如LOOP ……UNTIL……END LOOP也不能通过编译,也许是版本的问题,但在SQL SERVER2005中,循环体使用BEGIN……END就可以,而不能使用网络上常说的WHILE ……END WHILE结构。
2、循环体中 UserService_RemoveUserByUserId 是一个存储过程的名称,@userId为该存储过程的参数,如果有多个参数,使用“,”分开就可以了,这也是存储过程调用另一个存储过程的一种方法。
相关推荐
-
如何在SQL SERVER 2005存储过程中,使用循环语句
复制代码 代码如下: CREAT PROCEDURE tester ASBEGIN SET NOCOUNT ON; DECLARE @userId varchar(50) DECLARE @count int SET @count = 0 SELECT @count = count(*) FROM UserService_User WHERE Account like '%111%' WHILE @count > 0 BEGIN SE
-
如何在SQL Server 2005数据库中导入SQL Server 2008的数据
1. 生成for 2005版本的数据库脚本 2008 的manger studio -- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例 -- 右键要转到2005的库 -- 任务 -- 生成脚本 -- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到2005的库 -- 勾选"为所选数据库中的所有对象编写脚本"5-- 在接下来的"选择脚本选项"中, 将"编写创建数据库的
-
如何在SQL Server 2008下轻松调试T-SQL语句和存储过程
今天突然有同事问起,如何在sqlserver中调试存储过程(我们公司使用的是sqlserver 2008 R2),猛地一看,和以前使用sqlserver 2000真的有很大的不同,我真晕了. 于是琢磨了一下.SQLSERVER 2005中不知因何去掉了很重要的DEBUGGER功能,要调试,必须要安装VS2005专业版或者更高版本.非常不方便. 还好,SQLSERVER 2008中这个很重要而且方便的功能又回来了. 不过,SQLSERVER 2008的调试功能和SQL2000的方法差别很大.SQL
-
更改SQL Server 2005数据库中tempdb位置的方法
了解SQL Server 2005数据库的朋友可能都知道,tempdb系统数据库是一个全局资源,可供连接到SQL Server 2005实例的所有用户使用.我们有时候为了操作方便,常常会更改一下tempdb数据库的位置,那么该如何操作呢?本文我们就来介绍这一更改的过程. 获得tempdb的原始位置: select [name],[physical_name] from sys.master_files where database_id=db_id(N'tempdb') 更改tempdb数据库位
-
JDBC连接Sql Server 2005总结
1.准备工作: 准备相关的软件(Eclipse除外,开源软件可以从官网下载) <1>.Microsoft SQL server 2005 Express Edition 下载地址:http://download.microsoft.com/download/0/9/0/09020fab-d2c3-4a8c-b9e0-db53a7a30ae8/SQLEXPR_CHS.EXE <2>.SQL Server Management Studio 下载地址:http://www.micros
-
Access 导入到SQL Server 2005的方法小结
方法一: 名称:DTS(这个在MSSQL2000里边也有) 操作:在命令提示符窗口中运行 DTSWizard.exe SQL Server 导入和导出向导提供了生成 Microsoft SQL Server 2005 Integration Services (SSIS) 包最简单的方法.SQL Server 导入和导出向导可以访问各种数据源.可以向下列源复制数据或从其中复制数据: ·Microsoft SQL Server ·文本文件 ·Microsoft Office Access ·Mic
-
sql server 2005用户权限设置深入分析
关于什么是用户权限,最简单的定义可能是,"用户能做什么和不能做什么."在这里,简单的定义就相当不错了. 用户的权限分为3类: l 登录的权限: l 访问特定数据库的权限: l 在数据库中具体的对象上执行特定操作的权限. 既然我们已经看过了创建登录账户,这里将把重点放在登录账户能够拥有的特定权限上. 22.3.1 授予访问特定数据库的权限 如果想要一个用户可以访问数据库,你需要做的第一件事情是授予用户访问那个数据库的权限.可以在Management Studio中,通过把用户加入到服务器
-
在SQL Server 2005中创建CLR存储过程的详细介绍
在2005之前的版本创建存储过程都是在数据库里面写Transact-SQL语言实现的,不过现在SQL Server 2005支持用其他面向对象的语言编写CLR存储过程了,关于这样做的好处,官方有很多解释了,这里就直接说明实现方法了. 假设服务器里面有个test数据库,数据库有个架构user,还有一个表test1,然后有个sql登陆用户叫test_user,将这个用户设置成VS2005里面数据库连接的登陆用户. 在VS2005中创建一个项目,类别是SQL Server数据库项目,然后往项目里面添加
-
SQL Server 2005 中使用 Try Catch 处理异常
TRY...CATCH是Sql Server 2005/2008令人印象深刻的新特性.提高了开发人员异常处理能力.没有理由不尝试一下Try.. Catch功能. * TRY 块 - 包含可能产生异常的代码或脚本 * CATCH 块 - 如果TRY块出现异常,代码处理流将被路由到CATCH块.在这里你可以处理异常,记录日志等. Sql Server中的Try Catch和C#,JAVA等语言的处理方式一脉相承.这种一致性才是最大的创新之处. 一.SQL SERVER 2000中异常处理 CREAT
-
SQL Server 2005通用分页存储过程及多表联接应用
这是不久前写的一个分页存储过程,可应用于SQL Server 2005上面: 复制代码 代码如下: if object_ID('[proc_SelectForPager]') is not null Drop Procedure [proc_SelectForPager] Go Create Proc proc_SelectForPager ( @Sql varchar(max) , @Order varchar(4000) , @CurrentPage int , @PageSize int,
随机推荐
- Atom-IDE 的使用方法简单介绍
- AngularJS使用自定义指令替代ng-repeat的方法
- JavaScript编写一个简易购物车功能
- Docker 限制容器的 Block IO使用
- javascript 24点游戏代码
- 如何编写高质量JS代码(续)
- Java基础之打印万年历的简单实现(案例)
- Swift类型创建之自定义一个类型详解
- Python中动态创建类实例的方法
- Mysql5.6启动内存占用过高解决方案
- 详解挂载运行的docker容器中如何挂载文件系统
- C++中抽象类和接口的区别介绍
- 修改IE默认打开窗口大小的三种方法
- jquery last-child 列表最后一项的样式
- 用PHP实现多服务器共享SESSION数据的方法
- CentOS Linux 下配置Apache2+PHP5+MySQL5+GD库的方法
- java中 Set与Map排序输出到Writer详解及实例
- Android AsyncTask的优缺点详解
- php pdo oracle中文乱码的快速解决方法
- 实例:用 JavaScript 来操作字符串(一些字符串函数)