SQL은

2017-05-16 4 views
0

SQL은

_myView

연접 테이블 이름의 함수를 생성하는 테이블의 이름을 지정하는 기능을 만들려 뷰를 생성 X는 함수 (X 텍스트)로 주어진다 뷰 X_myview를 만들 예를 들어 테이블 이름이 학생 인 경우 함수는 students_myView라는 뷰를 만듭니다.

여기까지 제가 지금까지했습니다.

create or replace function skyline_naive(tableName text) 
as $$ 
declare 
name text; 

begin 
name:= $1; 
create or replace view name_myView as select * from name; 

end 
$$ language plpgsql; 

답변

0

PLPgSQL의 동적 명령은 EXECUTE 문과 함께 문자열로 실행되어야합니다.

당신이 이런 식으로 작성해야, 그것이 작동되도록하려면

create or replace function skyline_naive(tableName text) 
    returns void as $$ 
begin 
    execute format('create or replace view %1$s_myView as select * from %1$s;', tableName) 
    return; 
end; 
$$ language 
    plpgsql;