-- 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로 해결.
'DB' 카테고리의 다른 글
잠금 대기중 시간이 초과됐습니다 (0) | 2013.01.30 |
---|---|
ORDER BY 항목은 SELECT 목록 식의 수라야 합니다 (0) | 2013.01.15 |
ORACLE 9I NVL('STR','')='STR' (0) | 2013.01.15 |
mysql db 튜닝 (0) | 2013.01.11 |
스크립트에서 프로시져 실행 (0) | 2013.01.08 |