conn system/[비밀번호]
@C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin\scott.sql;
alter user scott identified by tiger;
conn scott/tiger;
conn system/[비밀번호]
@C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin\scott.sql;
alter user scott identified by tiger;
conn scott/tiger;
BEGIN
FOR I IN 1..500 LOOP
INSERT INTO [테이블 명]([컬럼, 컬럼....])
VALUES([컬럼, 컬럼...]);
END LOOP;
END;
예)
BEGIN
FOR i IN 1..500 LOOP
INSERT INTO TB_BOARD(IDX, TITLE, CONTENTS, HIT_CNT, DEL_GB, CREA_DTM, CREA_ID) VALUES(SEQ_TB_BOARD_IDX.NEXTVAL, '제목 '||i, '내용 '||i, 0, 'N', SYSDATE, 'Admin');
END LOOP;
END;
COMMENT ON TABLE [테이블명] IS '[테이블 주석글]';
: 테이블에 주석 생성
COMMENT ON COLUMN [컬럼명] IS '[컬럼 주석글]';
: 컬럼에 주석 생성
테이블 주석 조회
SELECT table_name, table_type, comments
FROM USER_TAB_COMMENTS
WHERE comments IS NOT NULL;
컬럼 주석 조회
SELECT table_name, column_name, comments
FROM USER_COL_COMMENTS
WHERE comments IS NOT NULL;
ex)
CREATE TABLE TB_BOARD
(
IDX NUMBER PRIMARY KEY,
PARENT_IDX NUMBER,
TITLE VARCHAR2(100) NOT NULL,
CONTENTS VARCHAR2(4000) NOT NULL,
HIT_CNT NUMBER NOT NULL,
DEL_GB VARCHAR2(1) DEFAULT 'N' NOT NULL,
CREA_DTM DATE DEFAULT SYSDATE NOT NULL,
CREA_ID VARCHAR2(30) NOT NULL
);
COMMENT ON TABLE TB_BOARD IS '게시판';
COMMENT ON COLUMN TB_BOARD.IDX IS '인덱스';
COMMENT ON COLUMN TB_BOARD.PARENT_IDX IS '부모글 인덱스';
COMMENT ON COLUMN TB_BOARD.TITLE IS '제목';
COMMENT ON COLUMN TB_BOARD.CONTENTS IS '내용';
COMMENT ON COLUMN TB_BOARD.HIT_CNT IS '조회수';
COMMENT ON COLUMN TB_BOARD.DEL_GB IS '삭제구분';
COMMENT ON COLUMN TB_BOARD.CREA_DTM IS '생성일자';
COMMENT ON COLUMN TB_BOARD.CREA_ID IS '생성자 ID';
주석 삭제시
COMMENT ON TABLE [테이블명 or 컬럼명] IS '';
grant create user to [USER]
grant create view to [USER]
grant create procedure to [USER]
grant create table to [USER]
grant create session to [USER] -- user 생성시 사용하는 권한으로 서버 접속 권한
revoke create [권한] from [USER]
예) revoke create session from [USER]
drop user [USER] (cascade) -- user제거 (권한 등 모든 것 다 제거)
권한을 줄 때 USER가 다수 일 경우 ,(콤마)로 구분
예) grant create view, create procedure to [USER]
revoke create session, create table from [USER]
role : grant 명령으로 하나하나 권한을 부여하면 시간과 노력이 많이 소요되므로 권한을 미리 정의하고 한꺼번에 유저에게 할당할 수 있다.
create role [롤 이름] -- 롤 생성
drop role [롤 이름] (cascade)-- 롤 삭제
롤에 권한 부여 및 삭제
grant create [권한] to [롤 이름] -- 롤에 권한 생성
예) grant create session, create table to [롤 이름] -- 롤에 권한 생성
revoke create [권한] from [롤 이름] -- 롤에 권한 삭제
예) revoke create session from [롤 이름]
* 만약 create session과 create table이 있는 롤을 적용하고 롤에서 create session을 제거 후 다시 롤을 적용시키면 마지막에 있는 롤이 권한에 추가 된다. 즉 create table만이 남게 된다.
grant [롤 이름] to [USER] -- 롤 적용
revoke [롤 이름] from [USER] -- 롤 삭제
새로 사용자를 추가할 때 기본으로 사용하면 좋은 것
grant connect, resource to [USER];
session같은 기본적인 것들이 자동으로 들어가게 된다.
SELECT 'DROP TABLE ' || object_name || ' CASCADE CONSTRAINTS;'
FROM user_objects
WHERE object_type = 'TABLE';
SELECT 'DROP TABLE ' || object_name || ' CASCADE CONSTRAINTS;'
FROM user_objects
WHERE object_type = 'PROCEDURE';
SELECT 'DROP TABLE ' || object_name || ' CASCADE CONSTRAINTS;'
FROM user_objects
WHERE object_type = 'SEQUENCE';
SELECT 'DROP TABLE ' || object_name || ' CASCADE CONSTRAINTS;'
FROM user_objects
WHERE object_type = 'INDEX';
SELECT 'DROP TABLE ' || object_name || ' CASCADE CONSTRAINTS;'
FROM user_objects
WHERE object_type = 'VIEW';