當前位置:生活全書館 >

綜合知識

> sql語句怎麼寫迴圈語句

sql語句怎麼寫迴圈語句

1. SQL中迴圈語句怎樣寫

Transact-SQL附加語言Transact-SQL附加語言元素不是SQL的標準內容,而是Transact-SQL語言為了程式設計方便而增加的語言元素。

sql語句怎麼寫迴圈語句

這些語言元素包括變數、運算子、函式、流程控制語句和註釋等內容。1. 變數變數對1種語言來講是必不可少的組成部份。

Transact-SQL語言允許使用兩種變數:1種是使用者自己定義的區域性變數(Local Variable),另外一種是系統提供的全域性變數(Global Variable)。(1) 區域性變數區域性變數使使用者自己定義的變數,它的作用範圍近在程式內部。

通常只能在1個批處理中或儲存程序中使用,用來儲存從表中查詢到的資料,或當作程式履行程序中暫存變數使用。區域性變數使用DECLARE語句定義,並且指定變數的資料型別,然後可使用SET或SELECT語句為變數初始化;區域性變數必須以“@”開頭,而且必須先聲明後使用。

其宣告格式以下:DECLARE @變數名 變數型別[,@變數名 變數型別…]其中變數型別可以是SQL Server 2000支援的所有資料型別,也能夠是使用者自定義的資料型別。區域性變數不能使用“變數=變數值”的格式進行初始化,必須使用SELECT或SET語句來設定其初始值。

初始化格式以下:SELECT @區域性變數=變數值SET @區域性變數=變數值。

2. SQL 語句簡單的迴圈怎麼寫啊

**************

修改了一下:

**************

declare @month_tmp varchar(2);

declare @day_tmp varchar(2);

set @month_tmp = '1';

set @day_tmp = '1';

while(@month_tmp < '13')

begin

while(@day_tmp < '30')

begin

select * from table1 where month=@month_tmp and day=@day_tmp

set @day_tmp = @day_tmp + 1

end

set @month_tmp = @month_tmp + 1

set @day_tmp = 1

end

*********************************************************

select * from table1 where

month in('1','2','3','4','5','6','7','8','9','10','11','12'

and

day in('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30');

---

以上,希望對你有所幫助。

3. oracle sql怎麼寫迴圈語句

declare

sql_tem Varchar2(4000);

a number;

b number;

i number;

begin

a := 1;

for i in 1 .. 3 loop

b := a + 4;

sql_tem := 'insert into A2 (ID,NAME) (select ID,NAME from A1 WHERE ROWNUM between :1 and :2)';

EXECUTE IMMEDIATE sql_tem

USING a, b;

commit;

a := a + 5;

end loop;

end;

試試上面的程式碼看一下能不能滿意你的要求先唄。

4. 幫忙寫個SQL迴圈語句

DECLARE @IDS VARCHAR(100)

SET @IDS = '100,200,30,8,3459,1'

DECLARE @ID INT

DECLARE @INDEX INT

WHILE LEN(@IDS) > 0

BEGIN

SET @INDEX = CHARINDEX(',',@IDS,1)

IF @INDEX > 1

BEGIN

SET @ID = CAST(LEFT(@IDS,@INDEX - 1) AS INT)

SET @IDS = SUBSTRING(@IDS,@INDEX+1, LEN(@IDS) - @INDEX)

END

ELSE

BEGIN

SET @ID = CAST(@IDS AS INT)

SET @IDS = NULL

END

INSERT INTO TABLES(ID) VALUES(@ID)

SET @INDEX = CHARINDEX(',',@IDS,1)

END

5. sql寫語句如何迴圈執行10000次

呼叫迴圈執行,例如:declare @n intset @n=0beginwhile @n 追答: 只要是能夠執行的操作,一定能夠執行的,記得每條語句都要加英文分號";" 進行隔離 追答: 對了,還要關閉提示資訊:declare @n intset nocount onset @n=0beginwhile @n 追問: 試了不行 追答: 迴圈肯定沒問題,請逐條檢查你的操作語句,找出出錯的操作語句,然後修正出錯的語句 追答: 先單獨執行每個insert語句,排除語法上的錯誤,然後再排除插入的記錄是否會在迴圈裡出現違反約束的情形,可以在迴圈裡逐個增加insert來測試排除 追問: 好的,我試試 追問: 操作語句中是不是必須包含迴圈變數@n? 追答: 操作語句裡不必須有迴圈變數,但是@n必須在迴圈裡不斷增長,否則會無窮迴圈,跳不出來。

評論0 0 0。

6. 如何用Sql語句迴圈執行語句

這個問題涉及到sql語句的迴圈執行語句的用法。sql語句中的迴圈和其他程式語言的原理是類似的,只不過寫法上有點區別。

1.定義迴圈時需要用到的變數並賦值:

declare @i int

set @uid=1

2.sql語句的迴圈是需要巢狀在begin,end語句之內的:

begin

#需要執行的語句。

end

3.while語句的語法如下(需要注意,每次迴圈完成要給變數加1):

while @uidselect * from test where id=10

set @uid=@uid+1

4.完整語句示例如下:

declare @i int

set @uid=1

begin

while @uidselect * from test where id=10

set @uid=@uid+1

end

標籤: SQL 語句
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/zonghezhishi/gy9o01.html