* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
|
centos 8.5 |
|
CUBRID 11.2 (11.2.7.0797-b3dcab9) (64bit release build for Linux) |
|
[도움말]-[버전정보] 확인 |
|
java, php, odbc 등 입력 |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
안녕하세요. 계속 함수관련해서 질문을 올리고 있는데요.
아래 내용 확인 부탁드립니다
1. 자사 프로그램을 설치 시, 사용자를 만들고 사용자 정의함수를 생성합니다.
기존 함수와 사용자가 존재하는 상태에서 재설치를 진행할 경우, 타 dbms의 경우에는 기존 사용자와 함수를 삭제하기 위해
drop user xxxxx cascade;를 이용하면 함수까지 삭제가 되는데요. 큐브리드에는 사용자와 함께 사용자가 생성한 함수등을 함께 삭제할 수 있는 방법이 없나요?
2. 함수 생성 시, create or replace function구문을 사용하는데 함수의 소유자가 dba그룹이 아니어서 replace가 되지 않는 것 같습니다.
ERROR: Fail to CREATE FUNCTION test_func01[-907] : The owner or a member of DBA group can drop stored procedure.
제가 희망하는 건, 사용자에게는 dba그룹권한을 주고 싶지않고, 재설치 시 사용자가 있다면 drop하고 함수도 재생성하고 싶습니다.
dba로 함수를 생성하면 함수가 dba의 소유가 되어 버려서 곤란하고 함수 생성 시 오라클처럼 앞에 "사용자명. " 붙여보았더니 생성이 안되어 난감한 상황입니다.
3. 마지막으로, 필요한 내용을 QA로 검색하다보면 답변에 "게시글 xxx번을 참고하세요"라고 나오는 것들이 있는데 최소한 링크를 걸어주시던지 게시판에서 게시글번호로 검색할 수 있도록 게시판을 수정해야 하지 않을까요? 게시글 하나 찾는데 클릭을 몇번했는지 모르겠습니다. 개선 부탁드려요.
확인부탁드립니다.
1. 자사 프로그램을 설치 시, 사용자를 만들고 사용자 정의함수를 생성합니다.
기존 함수와 사용자가 존재하는 상태에서 재설치를 진행할 경우, 타 dbms의 경우에는 기존 사용자와 함수를 삭제하기 위해
drop user xxxxx cascade;를 이용하면 함수까지 삭제가 되는데요. 큐브리드에는 사용자와 함께 사용자가 생성한 함수등을 함께 삭제할 수 있는 방법이 없나요?
=> user가 생성한 함수까지 삭제하는 기능은 없습니다.와 향후 엔진 개발에 참조 하겠습니다.
2. 함수 생성 시, create or replace function구문을 사용하는데 함수의 소유자가 dba그룹이 아니어서 replace가 되지 않는 것 같습니다.
ERROR: Fail to CREATE FUNCTION test_func01[-907] : The owner or a member of DBA group can drop stored procedure
=> 예제가 없어 추측을 하지만, 현재 생성된 함수가 어떤 사용자의 소유자로 되어 있는지를 확인하셔서 소유한 자의 사용자로 접속하여 함수를 생성 해보시길 바랍니다.
=> 함수의 소유자를 보는 방법은 select * from db_stored_procedure where sp_name = '함수명';
=> 위 내용에 대해 참조할 수 있는 예시를 올려 주시면 저희쪽에서 분석하기가 수월할 것 같습니다.
제가 희망하는 건, 사용자에게는 dba그룹권한을 주고 싶지않고, 재설치 시 사용자가 있다면 drop하고 함수도 재생성하고 싶습니다.
dba로 함수를 생성하면 함수가 dba의 소유가 되어 버려서 곤란하고 함수 생성 시 오라클처럼 앞에 "사용자명. " 붙여보았더니 생성이 안되어 난감한 상황입니다.
=> 함수 생성은 함수를 사용하는 사용자로 접속하여 함수를 생성 하셔야 합니다.
3. 마지막으로, 필요한 내용을 QA로 검색하다보면 답변에 "게시글 xxx번을 참고하세요"라고 나오는 것들이 있는데 최소한 링크를 걸어주시던지 게시판에서 게시글번호로 검색할 수 있도록 게시판을 수정해야 하지 않을까요? 게시글 하나 찾는데 클릭을 몇번했는지 모르겠습니다. 개선 부탁드려요.
=> 개선 사항을 올려주셔서 감사합니다. 댓글에 이전 게시글을 볼 수 있게 하는 부분을 전체 URL 링크로 올리도록 개선하겠습니다.