2017-12-11 8 views
1

안녕하세요 전문가 저는 postgresql에서 함수를 만들었습니다. 그것은 pgadmin 3 및 postgreslq 9.5에서 잘 작동하지만 pgadmin 4 및 postgreql 10에서 동일한 스크립트를 실행하면 "오류 : 행이 양수 SQL 상태 : 22023이어야합니다"라는 메시지가 생성됩니다. `ROWS는 포스트그레스에서 양수 여야합니다

CREATE OR REPLACE FUNCTION office.is_logged_in(
user_id_ integer) 
    RETURNS boolean 
    LANGUAGE 'plpgsql' 
    COST 100 
    VOLATILE 
    ROWS 0 
AS $BODY$ 
BEGIN 
    IF EXISTS(SELECT * FROM office.users 
     WHERE is_logged_in=true 
     AND user_id = $1) THEN 
     RETURN true; 
    ELSE 
RETURN false; 
END IF; 
END 
$BODY$; 
ALTER FUNCTION office.is_logged_in(integer) 
    OWNER TO postgres; 
잘못된 소스 코드를 생성 pgAdmin 4에서 문제의

`

답변

2

.

해당 코드를 실행하려면 실행하기 전에 ROWS 0을 제거하십시오.

+0

네, 그건 pgAdmin4의 버그였습니다. 지금 수정되었으며 다음 수정 버전에서 공개 될 예정입니다. 참조 : https://redmine.postgresql.org/issues/2651 – n33rma