ORACLE GRANT SELECT
-- GRANT(권한주기)
GRANT select ON 테이블명 TO user명; --select 권한만 주기
GRANT all ON 테이블명 TO user명; --select, update, delete 모든 권한 주기
GRANT EXECUTE ON 프로시져명 TO user명; --프로시져 실행 권한 주기
GRAUNT DBA TO user명; -- dba와 같은 권한주기
--SAVEPOINT
예제)
begin
INSERT INTO tx_account VALUES (3,'funny', 10000);
SAVEPOINT funny;
INSERT INTO tx_account VALUES (4,'jinny', 10000);
SAVEPOINT jinny;
INSERT INTO tx_account VALUES (5,'honey', 10000);
SAVEPOINT honey;
INSERT INTO tx_account VALUES (3,'funny', 10000);
EXCEPTION
WHEN THEN
ROLLBACK TO honey;
COMMIT;
end;
/
--LOCK(commit이나 rollback을 만나면 해제된다)
- exclusive 모드, share 모드
sql> LOCK TABLE tx_account IN EXCLUSIVE(or SHARE) MODE;
sql> UPDATE tx_account SET balance=800 WHERE id=5;
sql> commit;
-- SELECT FOR UPDATE문 (CURSOR를 활용한 레코드 수정)
declare
cursor emp_c4u is select * from c_emp for update;
begin
for rec in emp_c4u loop
dbms_output.put_line('name : ' || rec.name || ', salary : ' || rec.salary);
end loop;
commit;
end;
/
[출처] grant, savepoint, lock, select for update|작성자 howjh260
GRANT SELECT ANY TABLE TO G2012;
GRANT INSERT ANY TABLE TO G2012;
GRANT UPDATE ANY TABLE TO G2012;
GRANT DELETE ANY TABLE TO G2012;
G2012 디비에서 다른 디비의 테이블을 조회하려고 하였을 때 조회가 되지 않았음.
GRANT SELECT로 해결.