『壹』 sql語句怎麼循環查詢
selectf1fromtable1的結果集做為查詢條件循環查詢。
如:
set@a=selectf1fromtable1
foreach(@a)
{
select*fromtable2
wheref2=@a
}
『貳』 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
『叄』 求一條sql循環語句
SQL循環表中數據用游標,以下語句為SQL
SERVER:
--定義游標
DECLARE
my_Cur
CURSOR
FOR
SELECT
A1,A2,A3
FROM
A
--打開游標
OPEN
my_Cur
--游標滾到下一行
FETCH
NEXT
FROM
my_Cur
--循環直到游標逐行讀取完數據
WHILE
@@FETCH_STATUS
=
0
BEGIN
/*
--這里做你想做的事情
*/
--游標滾到下一行
FETCH
NEXT
FROM
my_Cur
END
--關閉游標
CLOSE
my_Cur
--釋放資源
DEALLOCATE
my_Cur
----
PS:詳細可以查看F1,裡面有更多例子和說明
『肆』 SQL的語句中有沒有循環語句啊如果有的話有哪些怎麼用
SQL (標准結構化查詢語言)沒有包括程序流控制語句
而微軟的T-SQL(增強結構化查詢語言)具有循環語句(WHILE)。
如:
declare @num int --聲明整型的@NUM 內存變數
select @num=0 --初如化@NUM整型變數值為0
while @num<10 --設置,當@NUM大於等於10時,結束循環
begin --工始循環體
select @num=@num+1 --給@NUM加1
select @num --顯示@NUM值
end --循環體結束
程序執行顯示1-10的數字
『伍』 pl/sql的loop循環語句包括哪些類型
在PL/SQL中可以使用LOOP語句對數據進行循環處理,利用該語句可以循環執行指定的語句序列。常用的LOOP循環語句包含3種形式:基本的LOOP、WHILE...LOOP和FOR...LOOP。
『陸』 如何用Sql語句循環執行語句
SQL語句無法實現循環,只能通過程序或者存儲過程來實現。
如果只是一次性工作,則建議直接用EXCEL的公式手批量生成SQL語句 然後一次性貼到MYSQL的命令行工具中執行即可。
S1 : 創建一個模板表 create table t (id int, col1 int , col2 varchar(10));
S2 : EXCEL中在A1輸入 ="create table t"&ROW()&" like t;"
S3: 下拉填充這個A1至A1000
create table t1 like t;
create table t2 like t;
create table t3 like t;
create table t4 like t;
create table t5 like t;
create table t6 like t;
create table t7 like t;
create table t8 like t;
create table t9 like t;
create table t10 like t;
S4: 復制到MYSQL命令行工具一次行執行。
『柒』 PLSQL幾種循環語句用法
lsql中的三種循環
[sql]view plain
<codeclass="language-java">--while循環(條件成立時執行)
declare
pnumnumber:=1;
whilepnum<=10loop
dbms_output.put_line(pnum);
pnum:=pnum+1;
endloop;
end;
</code>
- --loop循環(條件成立時退出) declare pnum number:=1; begin loop --退出條件:循環變數大於10 exit when pnum>10; --列印該變數的值 DBMS_OUTPUT.PUT_LINE(pnum); --循環變數+1 pnum:=pnum+1; end loop; end;
- --for循環(1..10表示連續區間)declare punm number:=1;beginfor pnum in 1..10 loopdbms_output.put_line(pnum);end loop;end;
『捌』 在sql server中循環語句 for要怎麼使用
sql server里有循環語句,在sqlserver 資料庫中,while循環語句是最常用的語句之一,for指定次數用的很少。比如:
SQL循環語句
declare @i int
set @i=1
while @i<30
begin
insert into test (userid) values(@i)
set @i=@i+1
end
while 條件
begin
執行操作
set @i=@i+1
end
WHILE
設置重復執行 SQL 語句或語句塊的條件,只要指定的條件為真,就重復執行語句,可以使用 BREAK 和 CONTINUE 關鍵字在循環內部控制 WHILE 循環中語句的執行。
語法
WHILE Boolean_expression
{ sql_statement | statement_block }
[ BREAK ]
{ sql_statement | statement_block }
[ CONTINUE ]
參數
Boolean_expression
返回 TRUE 或 FALSE 的表達式。如果布爾表達式中含有 SELECT 語句,必須用圓括弧將 SELECT 語句括起來。
{sql_statement | statement_block}
Transact-SQL 語句或用語句塊定義的語句分組,若要定義語句塊,請使用控制流關鍵字 BEGIN 和 END。
BREAK