FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[507] [질문] PROCEDURE 안에서 GRANT 문 사용은 할 수 없는 건가요?
Falco [falco] 1822 읽음    2002-11-19 11:45
답은 나오지 않지만 계속 질문을 해 볼랍니다. ^^; 사실 여기밖에 별로 질문을 올린만한 곳도 없구요.  자료가 너무 없군요.  www.borland.com 은 왜 이리 느리죠? 서버가 거의 마비된 정도이군요.

우선 질문은 아래에 올린 질문에 대한 답을 찾지 못해서 isc4.gdb에 필드를 추가해서 사용자별 Grant 를 따로 관리를 하게 편법을 썼습니다.

그래서 이번에 PROCEDURE 에서 사용자 GRANT 정보가 변경될 때마다 권한을 변경 해 주도록 만들려고 시도를 했습니다. 그런데 계속 GRANT에서 쿼리가 멈추는 군요.

SET TERM!!;
/* 사용자를 입력 한 이후 사용자명으로 권한 정보를 받아서 권한을 주거나 뺏는다. */
CREATE PROCEDURE REGRANT
(PUSER_NAME VARCHAR(128), PGRANT_SELECT CHAR(1), PGRANT_INSERT CHAR(1),
PGRANT_UPDATE CHAR(1), PGRANT_DELETE CHAR(1))
AS BEGIN
  BEGIN
    /* SELECT GRANT */
    IF (:PGRANT_SELECT = 'Y') THEN
      GRANT SELECT ON DISCUSSION TO :PUSER_NAME;
    ELSE
      REVOKE SELECT ON DISCUSSION FROM :PUSER_NAME;
    /* INSERT GRANT */
    IF (:PGRANT_INSERT = 'Y') THEN
      GRANT INSERT ON DISCUSSION TO :PUSER_NAME;
    ELSE
      REVOKE INSERT ON DISCUSSION FROM :PUSER_NAME;
    /* UPDATE GRANT */
    IF (:PGRANT_UPDATE = 'Y') THEN
      GRANT UPDATE ON DISCUSSION TO :PUSER_NAME;
    ELSE
      REVOKE UPDATE ON DISCUSSION FROM :PUSER_NAME;
    /* DELETE GRANT */
    IF (:PGRANT_DELETE = 'Y') THEN
      GRANT DELETE ON DISCUSSION TO :PUSER_NAME;
    ELSE
      REVOKE DELETE ON DISCUSSION FROM :PUSER_NAME;
    /* ERROR */
    WHEN ANY DO
      EXCEPTION E_GRANTERROR;
  END
  SUSPEND;
END!!
SET TERM;!!

PROCEDURE 를 만드는 구문입니다. CHAR(1) 은 BOOLEAN TYPE 대용으로 팁란에 있는걸 사용했구요.

PROCEDURE에서 GRANT나 REVOKE를 사용할 수가 없는지 아니면 구문에러인지 아무리 봐도 알 수가 없어서 질문을 올립니다. 정보 찾기도 정말 어렵구요.

답을 얻었으면 좋겠습니다.

+ -

관련 글 리스트
507 [질문] PROCEDURE 안에서 GRANT 문 사용은 할 수 없는 건가요? Falco 1822 2002/11/19
508     Re:[질문] PROCEDURE 안에서 GRANT 문 사용은 할 수 없는 건가요? 조복기 2340 2002/11/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.