创建函数时创建或附近的语法错误

时间:2014-06-26 13:51:20

标签: sql postgresql

所以我第一次在PostgreSQL中创建一个函数,我的语法有问题

CREATE OR REPLACE FUNCTION uni() RETURNS INTEGER AS $$
DECLARE
    mviews RECORD;
BEGIN
    FOR mviews IN SELECT id,universite_adi FROM proaca.a LOOP

    INSERT INTO proaca.universite (id,ad,ulke_id) 
    VALUES (mviews.id,mviews.universite_adi,1)

    END LOOP;

    RETURN 1;
END;
$$ LANGUAGE plpgsql;

ERROR: syntax error at or near "create"
Line 2: $BODY$CREATE OR REPLACE FUNCTION uni() RETURNS INTEGER AS $$

1 个答案:

答案 0 :(得分:0)

语法错误由评论中的 a_horse 解决:

  

错过了;来终止INSERT声明

你不需要那个循环。只是简单的sql

create or replace function uni()
returns integer as $$

    insert into proaca.universite (id, ad, ulke_id) 
    select id, universite_adi, 1
    from proaca.a
    returning 1
    ;
$$ language sql;