循环语句 本页介绍天翼云TeleDB数据库存储过程开发的循环语句。 LOOP 循环 plaintext teledb CREATE OR REPLACE PROCEDURE ploop() AS $$ DECLARE vid INTEGER : 1; BEGIN LOOP RAISE NOTICE '%',vid; EXIT WHEN random()>0.8; vid : vid + 1; END LOOP ; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL ploop(); NOTICE: 1 NOTICE: 2 NOTICE: 3 CALL teledb WHILE 循环 plaintext teledb CREATE OR REPLACE PROCEDURE pwhile() AS $$ DECLARE vid INTEGER : 1; vrandom float8 ; BEGIN LOOP RAISE NOTICE '%',vid; vid : vid + 1; vrandom : random(); IF vrandom > 0.8 THEN RETURN; END IF; END LOOP ; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pwhile(); NOTICE: 1 CALL FOR 循环 plaintext teledb CREATE OR REPLACE PROCEDURE pfor() AS $$ BEGIN FOR i IN 1..3 LOOP RAISE NOTICE 'i %',i; END LOOP; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pfor(); NOTICE: i 1 NOTICE: i 2 NOTICE: i 3 CALL teledb CREATE OR REPLACE PROCEDURE pforreverse() AS $$ BEGIN FOR i IN REVERSE 3..1 LOOP RAISE NOTICE 'i %',i; END LOOP; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pforreverse(); NOTICE: i 3 NOTICE: i 2 NOTICE: i 1 CALL 使用REVERSE 递减。 plaintext teledb CREATE OR REPLACE PROCEDURE pforby() AS $$ BEGIN FOR i IN 1..8 BY 2 LOOP RAISE NOTICE 'i %',i; END LOOP; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb