SQL利用循环语句插入数据

SQL利用循环语句插入数据,第1张

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为该存储过程的参数,如果有多个参数,使用“,”分开就可以了,这也是存储过程调用另一个存储过程的一种方法。

可以使用循环语句

while 条件

begin

执行 *** 作

set @i=@i+1

end

WHILE

设置重复执行 SQL 语句或语句块的条件。只要指定的条件为真,就重复执行语句。可以使用 BREAK 和 CONTINUE 关键字在循环内部控制 WHILE 循环中语句的执行。

延展阅读:

SQL语句

结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统sql 语句就是对数据库进行 *** 作的一种语言。

语句

数据库:CREATE DATABASE database-name

删除数据:drop database dbname

创建表:create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

删除新表:drop table tabname

增加:Alter table tabname add column col type

设主键:Alter table tabname add primary key(col)

删除主键:Alter table tabname drop primary key(col)

创建索引:create [unique] index idxname on tabname(col….)

删除索引:drop index idxname

创建视图:create view viewname as select statement

删除视图:drop view viewname

sql语句

更新:update table1 set field1=value1 where 范围

查找:select * from table1 where field1 like '%value1%' (所有包含'value1'这个模式的字符串)

排序:select * from table1 order by field1,field2 [desc]

求和:select sum(field1) as sumvalue from table1

平均:select avg(field1) as avgvalue from table1

最大:select max(field1) as maxvalue from table1

最小:select min(field1) as minvalue from table1[separator]


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9794420.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存