반응형
  1. /**********************************************************************************************
    -- Title : [2k5] Object 종류에 따른 GRANT 권한 종류 구분
    -- Reference : bol
    -- Key word : grant 권한 object 오브젝트
    **********************************************************************************************/
    /*
    스칼라 함수 사용 권한 : EXECUTE, REFERENCES
    테이블 값 함수 사용 권한 : DELETE, INSERT, REFERENCES, SELECT, UPDATE
    저장 프로시저 사용 권한 : EXECUTE
    테이블 사용 권한 : DELETE, INSERT, REFERENCES, SELECT, UPDATE
    뷰 사용 권한 : DELETE, INSERT, REFERENCES, SELECT, UPDATE
    */

    use tempdb;
    go

    create table ttt
    (a int);
    go

    insert into ttt values (1);
    insert into ttt values (2);
    go

    create function dbo.fn_ttt()
      returns int
    as
    begin
      declare @i int;
     
      select @i = max(a) from ttt;

      return (@i);
    end
    go

    select dbo.fn_ttt();

    grant select on dbo.fn_ttt to usr_test;
    -- 메시지 4606, 수준 16, 상태 1, 줄 1
    -- 허가되거나 취소된 권한 SELECT은(는) 개체와 호환되지 않습니다.

    grant execute on dbo.fn_ttt to usr_test;
    -- 정상
반응형

+ Recent posts