A. sql语句怎么循环啊
将执行sql语句的模式改为预处理语句那种,把a设置为展位符,每次循环重新为语句预处理覆盖展位符的值。
B. sql的循环语句该怎么写
ORACLE ?
@i 是sql的语法
oracle不能加@
C. SQL存储过程中怎么写循环
方法和详细的操作步骤如下:
1、第一步,编写存储过程的整体结构,定义变量,见下图,转到下面的步骤。
D. SQL循环语句
你可以直接在查询分析器了试一下这个语句,你具体的意思我也不太清楚,循环就要用游标了,其实也可以实现
create table a (id int,cno char(10))
insert a values(1,'999')
insert a values(2,'1000')
create table b (id int)
insert b values(1)
insert b values(3)
insert b values(5)
declare @max int
select @max=max(cast(cno as int)) + 1 from a
declare @sql nvarchar(2000)
set @sql = 'create table #temp (id int, cno int identity('+cast(@max as nvarchar) +',1)) '
set @sql = @sql + 'insert #temp select id from b where id not in(select id from a) '
set @sql = @sql + 'insert a select id,cast(cno as nvarchar) from #temp'
exec sp_executesql @sql
select * from a
drop table a,b
E. sql 几种循环方式
1:游标方式
ALTERPROCEDURE[dbo].[testpro]
as
declare@yeardatestrvarchar(20)--日期拼接
declare@meternovarchar(20)--仪表编号
declare@collectindatanamevarchar(30)--数据采集表
declare@collectindataname_backvarchar(30)--数据采集备份表
declare@monsdtvarchar(20)
declare@monedtvarchar(20)
begin
set@yeardatestr=datename(YY,getdate())+datename(MM,getdate())
set@monsdt=Convert(VarChar(4),DatePart(year,GETDATE()))+'-'+Convert(VarChar(2),DatePart(MONTH,DateAdd(MONTH,-2,GETDATE())))+'-01'
set@monedt=CONVERT(VARCHAR(10),DateAdd(DAY,-1,DateAdd(MONTH,2,Convert(datetime,@monsdt,121))),20)
declaremeters_curcursorlocalfast_forward--定义游标
for
openmeters_cur--打开游标
fetchnextfrommeters_curinto@meterno--从游标中取出数据
while@@fetch_status=0--取出数据成功
begin
dbccSHRINKFILE(testdb_log,0)--收缩日志
fetchnextfrommeters_curinto@meterno--下一条
end
closemeters_cur--关闭游标
deallocatemeters_cur--释放游标
end
2:goto方式
nextValue:--循环起点关键字
select@num=ynumfrompp_yunnumwhereprjsht=@prjsht
IF(@flg=1)
set@yunsht='K'+@prjsht+'-'+Convert(varchar(10),@num+1)
ELSE
set@yunsht=REPLACE(@prjsht,'_','')+'-'+dbo.Lpad(@num+1,2,'0')
ifexists(select1frompp_yunwherepp_yun.sht=@yunsht)
begin
updatepp_yunnumsetynum=ynum+1whereprjsht=@prjsht
gotonextValue;--重新从nextValue出执行
end
F. SQL 循环
declare @a int
set @a=1
while 1=1
begin
insert into 表名 values(....)
if @a=100 break
set @a=@a+1
end
---
以上,希望对你有所帮助。
G. sql写语句如何循环执行10000次
调用循环执行,例如:
declare@nint
set@n=0
begin
while@n<10000
set@n=@n+1
--这里运行您要执行的1万次操作
--例如您提问中的那些动作查询
end
H. sql循环语句怎么写
示例1:
SET@i=0
WHILE@i<100
BEGIN
//具体操作...
SET@i=@i=1
END
I. SQL中循环语句
可以用变量的形式来增加,不过你的userid 三位显然不够,因为你要加10000数据,所以要和authnum形式一样,5位才够
下面是一个简单的例子,你可以根据实际需求来改一下。
DECLARE @i int
DECLARE @strUserId varchar(10)
DECLARE @strAuthnum varchar(10)
Set @i = 0
WHILE @i < 10000
BEGIN
Set @i =@i +1
SET @strUserId = RIGHT('00000' + CAST(@i AS varchar(10)),5)
SET @strAuthnum = @strUserId
insert into user_info values(@strUserId,@strAuthnum)
END
J. sql语句的循环的使用(急)
同意楼上:
st_1.text=string(s)//每次都把最后一个结果赋值给了st_1,前面的结果就被覆盖掉了
改成st_1.text += string(s),把当前的结果和先前的结果拼接起来就对了