循环语句 本页介绍天翼云TeleDB数据库PL/pgsql控制结构中的循环语句。 LOOP 循环 teledb CREATE OR REPLACE FUNCTION f27() RETURNS VOID AS teledb $$ teledb$ DECLARE teledb$ vid INTEGER : 1; teledb$ BEGIN teledb$ LOOP teledb$ RAISE NOTICE '%',vid; teledb$ EXIT WHEN random()>0.8; teledb$ vid : vid + 1; teledb$ END LOOP ; teledb$ END; teledb$ $$ teledb LANGUAGE plpgsql; CREATE FUNCTION teledb SELECT f27(); NOTICE: 1 NOTICE: 2 f27 (1 row) 使用EXIT退出循环。 teledb CREATE OR REPLACE FUNCTION f27() RETURNS VOID AS teledb $$ teledb$ DECLARE teledb$ vid INTEGER : 1; teledb$ vrandom float8 ; teledb$ BEGIN teledb$ LOOP teledb$ RAISE NOTICE '%',vid; teledb$ vid : vid + 1; teledb$ vrandom : random(); teledb$ IF vrandom > 0.8 THEN teledb$ RETURN; teledb$ END IF; teledb$ END LOOP ; teledb$ END; teledb$ $$ teledb LANGUAGE plpgsql; CREATE FUNCTION teledb SELECT f27(); NOTICE: 1 NOTICE: 2 NOTICE: 3 NOTICE: 4 NOTICE: 5 f27 (1 row) teledb 使用RETURN退出循环返回。 WHILE循环 teledb CREATE OR REPLACE FUNCTION f27() RETURNS VOID AS teledb