自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解SQL中循環(huán)結(jié)構(gòu)的使用

數(shù)據(jù)庫 SQL Server
下文將為您介紹SQL中循環(huán)結(jié)構(gòu)的使用的四種方法,供您參考,希望對您學(xué)習(xí)SQL循環(huán)操作能夠有所幫助。

循環(huán)操作是數(shù)據(jù)庫中經(jīng)常遇到的操作,那么如何在SQL中使用循環(huán)結(jié)構(gòu)呢?下文將帶您尋找答案。

FOR,LOOP,WHILE,REPEAT是UDB/400的一種內(nèi)部循環(huán)控制,用于遍歷表中符合條件的每一行記錄。
例如:
目的:更新employee庫,把所有北京籍員工的工資提高10%

例一:使用FOR循環(huán)
--------------------------------------------
CREATE PROCEDURE QGPL/TEST_FOR
LANGUAGE SQL
BEGIN
FOR each_record AS
---cur01 CURSOR FOR
------SELECT * FROM code,salary,city from employee where city="Beijing"
---------DO
------------UPDATE employee
------------SET salary=salary * 1.1
------------WHERE CURRENT OF cur01;
ENDFOR;
END;

例二:使用LOOP循環(huán)
----------------------------------------
CREATE PROCEDURE QGPL/TEST_LOOP
LANGUAGE SQL
BEGIN
DECLARE code_v char(10);
DECLARE salary_v integer;
DECLARE city_v char(20);

DECLARE C1 CURSOR FOR
---SELECT code,salary,city FROM employee WHERE city="Beijing";
OPEN C1;
loop_label:
LOOP
- FETCH C1 INTO code_v,salary_v,city_v;
--IF SQLCODE=0 THEN
------SET salary_v=salary_v*1.1;
------UPDATE employee SET salary=salary_v#p#
---------WHERE CURRENT OF C1;
--ELSE
------LEAVE loop_label;
--END IF;
END LOOP loop_label;
CLOSE C1;
END;

例三:使用WHILE循環(huán)
---------------------------------------
CREATE PROCEDURE QGPL/TEST_WHILE
LANGUAGE SQL
BEGIN
DECLARE code_v char(10);
DECLARE salary_v integer;
DECLARE city_v char(20);
DECLARE at_end integer;

DECLARE C1 CURSOR FOR
---SELECT code,salary,city FROM employee WHERE city="Beijing";
OPEN C1;

SET at_end=0;
WHILE at_end = 0 DO
--FETCH C1 INTO code_v,salary_v,city_v;
--IF SQLCODE=0 THEN
------SET salary_v=salary_v*1.1;
------UPDATE employee SET salary=salary_v
---------WHERE CURRENT OF C1;
--ELSE
------SET at_end=1;
--END IF;
END WHILE;
CLOSE C1;
END;#p#

例四:使用REPEAT循環(huán)
------------------------------------------------
CREATE PROCEDURE QGPL/TEST_REPEAT
LANGUAGE SQL
BEGIN
DECLARE code_v char(10);
DECLARE salary_v integer;
DECLARE city_v char(20);

DECLARE C1 CURSOR FOR
---SELECT code,salary,city FROM employee WHERE city="Beijing";
OPEN C1;

repeat_label:
REPEAT
--FETCH C1 INTO code_v,salary_v,city_v;
--IF SQLCODE=0 THEN
------SET salary_v=salary_v*1.1;
------UPDATE employee SET salary=salary_v
---------WHERE CURRENT OF C1;
--END IF;
--UNTIL SQLCODE<>0;
END REPEAT repeat_loop;
CLOSE C1;
END;

總結(jié):四種循環(huán)結(jié)構(gòu)實現(xiàn)的功能基本相同,用戶可以根據(jù)自己的習(xí)慣選擇使用。
 

 

【編輯推薦】

sql多數(shù)據(jù)庫查詢批量插入問題循環(huán)

SQL中游標(biāo)嵌套循環(huán)的示例

sql循環(huán)插入的語句寫法

SQL循環(huán)語句的妙用

SQL中UNION指令的用法

責(zé)任編輯:段燃 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2009-09-28 10:09:09

Linux內(nèi)核Linux循環(huán)鏈表

2009-12-29 10:24:51

Linux內(nèi)核循環(huán)鏈表

2010-09-10 14:26:06

SQLFor循環(huán)

2010-08-05 09:07:24

2010-09-17 13:40:43

SQL更新

2024-10-17 16:08:36

SQL 查詢SQL

2021-04-09 10:37:40

SQL Server數(shù)據(jù)庫排名

2010-09-06 14:58:42

SQL函數(shù)

2010-09-07 11:53:00

SQL語句

2010-09-09 11:12:49

SQL函數(shù)DATALENGTH

2021-02-03 09:21:59

SQL機(jī)器學(xué)習(xí)ML

2021-04-25 09:42:40

SQL遞歸SQL Server

2011-08-22 13:28:56

FOR XMLSQL Server

2011-06-09 09:08:00

C#循環(huán)結(jié)構(gòu)

2009-11-25 10:52:22

PHP函數(shù)contin

2010-09-10 14:33:32

SQL循環(huán)語句

2010-09-06 11:05:05

SQL SERVER語句

2011-08-24 09:15:36

SQL Server數(shù)FOR XML AUT

2010-09-28 16:36:43

sql中alter

2010-09-08 14:03:41

SQL函數(shù)CONVERT
點贊
收藏

51CTO技術(shù)棧公眾號