2011-05-23 51 views
2

我想通過函數向表中插入記錄。while postgresql中的函數

CREATE OR REPLACE FUNCTION insert_wilda() 
    RETURNS integer AS 
$BODY$ 
DECLARE 
    countKab integer; 
    i integer; 
BEGIN 
    i := 1; 
    SELECT count(*)+34 into countKab from m_kab 
    WHILE (i <= countKab) 
    loop 

     INSERT INTO "t_historyWilda"("kdHistory","kdProp","kdKab","kdKec","nmWilda","noUrut",bulan,tahun,"isActive") 
     SELECT 'i',"kdProp","kdKab",'000',"namaKab",'1', EXTRACT(MONTH FROM TIMESTAMP 'now()'), EXTRACT(YEAR FROM TIMESTAMP 'now()'),'1' FROM m_kab 
    end loop; 
    RETURN i; 
END; 
$BODY$ 
    LANGUAGE plpgsql VOLATILE 
    COST 100; 

但我得到的錯誤是這樣的:

ERROR: syntax error at or near "<=" 
LINE 10: WHILE (i <= countKab) 
       ^

********** Error ********** 

ERROR: syntax error at or near "<=" 

回答

6

你錯過了 ';'在此行後

SELECT count(*)+34 into countKab from m_kab