[오라클] 21

dictionary

dictionary : 테이블,뷰 등의 정보를 볼수 있음 SELECT * FROM dictionary; --USER_ ... 소유권이 사용자(me)인 객체 정보가 들어있다 --ALL_ owner system: all 접두사가 있으면 사용자가 접근 가능 --DBA_ : dba 권한을 소유한 자만이 접근 가능 --V$ : 모든 정보를 다 가지고 있음 SELECT * FROM dictionary WHERE table_name LIKE 'USER_%'; SELECT * FROM user_objects WHERE object_type = 'TABLE'; --내가 만든건 보통 USER_ -- WHERE 조건에서 검색할땐 무조건 대문자로 쓰기

[오라클]/SQL 2020.12.26

SAVEPOINT

savepoint를 통해 해당 상태를 기억해놨다가 rollback to 명령어를 통해 해당 savepoint로 돌아갈 수 있음 SELECT * FROM teltable; INSERT INTO teltable VALUES(999, '손흥민', '010-7777-7777', sysdate); SAVEPOINT point1; INSERT INTO teltable VALUES(777, '메시', '010-1010-1010', sysdate); SAVEPOINT point2; UPDATE teltable SET NAME='박찬호' WHERE id=2; SAVEPOINT point3; INSERT INTO teltable VALUES(888, '호날두', '010-1010-1010', sysdate); ROLLBA..

[오라클]/SQL 2020.12.26

유저 생성 및 권한

--유저 생성 CREATE USER babo IDENTIFIED BY ondal; --로그인 권한 주기, 이거 해야지 로그인 할 수 있음 GRANT CREATE SESSION TO babo; CREATE USER hong IDENTIFIED BY gildong; GRANT CREATE SESSION TO hong; CREATE USER sung IDENTIFIED BY chunhyang; GRANT CREATE SESSION TO sung; --테이블,뷰,시퀀스 생성 권한 주기 GRANT CREATE TABLE, CREATE VIEW, CREATE SEQUENCE TO babo; --권한 취소 하기 REVOKE CREATE VIEW FROM babo; --teltable SELECT, INSERT 권한 ..

[오라클]/SQL 2020.12.26

sql developer 로 ERD 추출하기

1. 메뉴에서 보기 -data modeler - 브라우저 2. 좌측아래의 브라우저 창에서 맨앞 +기호클릭한후 나타나는 "관계형모델[1]" -마오-새관계형모델 화면우측에 relational...이 만들어진다 3. 7개 HR 테이블을 드래그 하되 테이블앞의 그림을 드래그 하여(이때 드래그가 잘안되면 오른쪽마우스를 누른채로 드래그해본다) 우측 relational...탭창에 넣는다 4. 간단하게 보기위해 relational...탭창에서 -마오-하여 세부정보보기 에서 "열"만 남기고 체크표시를 다 지운다 5. 이미지나 pdf로 결과를 저장하기위해 relational...탭창에서 -마오 한후 "다이어그램인쇄"에서 선택하여 저장한다

[오라클]/SQL 2020.12.26

[PL/SQL] TRIGGER

TRIGGER 란? - 어떤 테이블에 dml이 발생했을때 자동으로 실행되는 프로그램 (before 트리거, after 트리거) 테이블 생성 CREATE TABLE panmae_table ( ID NUMBER(3), dan NUMBER(5), soo NUMBER(5) ); --dan: 단가, soo: 수량 INSERT INTO panmae_table VALUES (1,1000,200); INSERT INTO panmae_table VALUES (2,500,50); SELECT * FROM panmae_table; --금액 테이블 CREATE TABLE keum_table ( ID NUMBER(3), keum NUMBER(10) ); INSERT INTO keum_table VALUES (1,200000);..

[오라클]/PL-SQL 2020.12.25

[PL/SQL] PROCEDURE

1. PROCEDURE - 여러개 값 반환 가능 - 반환값이 없어도 됨 - 반환할때 return이 아닌 out 사용, return은 강제 종료를 의미 - procedure 에서 return 할려면 out 사용후 정의문, 호출문 따로 만들어서 사용(begin end 두개 사용) Q) 지구 몸무게를 입력하면 달 몸무게를 출력하는 프로시져 만들기 SET SERVEROUTPUT ON CREATE OR REPLACE PROCEDURE moon_pro(v_earth IN NUMBER) IS v_moon NUMBER; BEGIN v_moon := v_earth*(1/6); dbms_output.put_line('달몸무게='||v_moon); END; / EXEC moon_pro(70); 결과: 달몸무게=11.6666..

[오라클]/PL-SQL 2020.12.24

[PL/SQL] Anonymous Block

sql에서 출력하는 옵션 SET SERVEROUTPUT ON 1) Anonymous 블럭 - 이름 없이 일회용으로 수행되는 블럭, 컴파일과 실행이 같이 됨 SET SERVEROUTPUT ON DECLARE --블록 시작 aa NUMBER; --변수 선언 BEGIN aa:=78; dbms_output.put_line('aa='||aa); --출력 명령어 END; / sql plus에서 save [파일명]: 마지막 입력한 sql문장 파일로 저장 start [파일명].sql, @[파일명].sql, run [파일명].sql : sql 파일 실행 해당 sql 파일 실행시마다 Anonymous 블럭이 실행됨 Q)초기치로 id에 10, irum 에 hong 성별에 M 입사일에 오늘날짜를 넣어 출력하는 익명 블록을 작..

[오라클]/PL-SQL 2020.12.24

[오라클] sql-plus

- 변수 선언하는 방법 VARIABLE aa NUMBER; --sql plus에서 변수 설정하는 법 EXECUTE :aa:=kajanulbi(100,20); --변수 사용시 :변수명 이렇게 사용 SELECT :aa FROM dual; --저장된 변수를 출력 - 한꺼번에 여러줄 삽입하는법 insert into sawon_table values(&id, '&name', '&date', '&juso'); / --방금 전 실행한 문장 실행 ''들어간건 문자형식, 없는건 숫자형식 데이터 하나하나 입력 가능, '/' 이 명령어를 통해 방금 전 실행한 문장 실행 가능 - 갈무리하는 방법 spool aa.txt 이 명령어 치면 aa.txt창이 생기면서 이제부터 치는 모든 명령어, 결과들이 저장됨 spool off 하면..

[오라클]/SQL 2020.12.24

[PL/SQL] FUNCTION

1) FUNCTION 특징 - 반드시 하나의 반환값이 존재해야됨 2) 구조: CREATE OR REPLACE FUNCTION [함수명]([매개변수명] IN [매개변수 타입]) RETURN [반환타입] IS [변수명] [변수타입]; BEGIN [실행 로직] RETURN [변수명]; END; / 예시: 밑변과 높이를 입력하면 삼각형 넓이가 반환되는 함수 CREATE OR REPLACE FUNCTION Nulbi(v_mit IN NUMBER, v_nopi IN NUMBER) --외부에서 들어오는 매개변수 RETURN NUMBER --function은 무조건 return 있어야됨 IS --이 함수 내에서 사용할 변수 v_nulbi NUMBER; BEGIN --실제 함수 시작 v_nulbi := (v_mit * ..

[오라클]/PL-SQL 2020.12.24