POSTGRESQL에 관한 질문입니다. FUNCTION문 좀 여쭤볼게요 0 2 1,764

by 레거시 [SQL Query] 입문 [2019.08.27 09:34:52]


여쭤보고 싶은 것은 이 문장으로

CREATE OR REPLACE FUNCTION connect_judge(
    integer)
#함수인자로 INTEGER를 설정
  RETURNS text AS
#반환값은 문자열
$BODY$
    BEGIN
        RETURN
        CASE WHEN $1 IS NOT NULL THEN '○'
             ELSE '―'
       #여기서 $1이 뭘 가르키는건가요????
       인터넷에서 검색해보니 함수로 넘겨지는 변수는 $1 이나 $2 이런 식으로 설정된다고 들었는데
       이게 무슨 말인지 잘 이해가 되질 않다보니 ㅠㅠ
        END;
    END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
=================================================
ALTER FUNCTION connect_judge(integer)
  OWNER TO postgres;

#본 문장도 CONNECT_JUDGE 의 소유자를 POSTGRES 로 변경한다라는 의미로서 알고있는데요

보통 소유자를 변경한다는 경우는 어떤 경우에 쓰이는 지 조언을 부탁드리겠습니다.

 

다시 한번 질문을 정리해서 여쭤보자면

Q1.  $1 의 의미에 대해서 조언을 부탁드리겠습니다. (#함수로 넘겨지는 변수라는 것이라고는 나오는데 이게 무슨 말인지 이해가 잘 되질 않습니다 ㅠㅠ)

Q2.  ALTER FUNCTION ~~~~ OWNER TO 를 통하여 소유자를 변경한다는 것 같은데 어떤 경우에 소유자를 변경하는지 알려주셨으면 합니다

 

이상, 잘 부탁드립니다 항상 감사합니다.

by 마농 [2019.08.27 10:25:55]

1. 보통 명칭을 선언하고 그 명칭을 쓰는데. --> 함수명(변수명1 타입1, 변수명2 타입2)
명칭 없이 타입만 지정한 경우네요. --> 함수명(타입1, 타입2)
$1, $2 는 각각 첫번째 입력값, 두번째 입력값을 의미하는 듯 하네요.
2. 소유자 변경은 필요에 의해서 하는 거죠.
대부분의 작업은 각자 자기 계정으로 작업하므로
소유자 변경이 필요한 경우는 드믄 경우죠.


by 레거시 [2019.08.27 10:28:39]

마농님 항상 감사드립니다

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입