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

FireBird Q&A
[508] Re:[질문] PROCEDURE 안에서 GRANT 문 사용은 할 수 없는 건가요?
조복기 [withcount] 2340 읽음    2002-11-20 13:00

질문에 해당하는 답변을 뉴스그룹에서 찾았습니다..
SP에서 Grant문을 사용할수 없다고 하는군요..ㅡ.ㅡ..
질문과 답변 첨부합니다..

다른 자세한 내용을 검색하실려면
http://www.ibphoenix.com/main.nfs?a=ibphoenix&d=mers&q=grant&o=Search
여기에 가셔서 보시기 바랍니다..
mers.com 여기에서도 조회가능한데 여기서버가 죽었는지..접속이 안되네요..


Search Results
6 Aug 1998 15:45:13 David Zvekic <davidz@distributel.ca>

Re: Problems With GRANT and REVOKE
At 15:06 1998/08/06 -0400, you wrote:
>Hi!
>
>This is my first msg, HELLO ALL!
>
>and a question...
>
>This procedure don`t work on my Interbase 5 (on windows NT),  I try with
>ISQL and the error message is:
>Token unknown GRANT ....
>Token unknown REVOKE ...
>
>any idea?
>Tanks!
>Valentin.
>

GRANT and REVOKE are not part of the stored procedure language.

They are part of Data Defintion Langauge (DDL).  Just like CREATE TABLE,
ALTER PROCEDURE and the like.



Falco 님이 쓰신 글 :
: 답은 나오지 않지만 계속 질문을 해 볼랍니다. ^^; 사실 여기밖에 별로 질문을 올린만한 곳도 없구요.  자료가 너무 없군요.  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 1823 2002/11/19
508     Re:[질문] PROCEDURE 안에서 GRANT 문 사용은 할 수 없는 건가요? 조복기 2340 2002/11/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.