DBMS
-
[ORACLE] ( PL/SQL)오라클 프로시저(Procedure) 생성 및 실행DBMS 2020. 6. 30. 17:53
프로시저(Procedure) 란? 오라클에서의 프로시저는 PL/SQL을 통해 만들어진다. 자주 사용하는 SQL을 프로시저로 만든 뒤 필요 할때마다 호출,사용하여 작업 효율을 늘릴 수 있다. 함수는 특정 연산을 수행한 뒤 결과 값을 반환하지만 프로시저는 특정한 로직을 처리하기만 하고 결과 값은 반환하지 않는 서브 프로그램이다. - 1. 파라미터 없는 형태 프로시저 생성 CREATE OR REPLACE PROCEDURE RUN_PROC IS RETURN_MESSAGE VARCHAR2(100) := 'http://devmg.tistory.com'; BEGIN dbms_output.put_line(RETURN_MESSAGE); END RUN_PROC; 프로시저 실행 EXEC RUN_PROC; --결과 http:..
-
[ORACLE] (PL/SQL) 오라클 반복문 (LOOP, WHILE, FOR)DBMS 2020. 6. 30. 17:42
PL/SQL에서의 반복문 종류는 LOOP문, WHILE문, FOR문이 있다. LOOP문 --문법 LOOP 처리문; EXIT[조건]; END LOOP; --예제 DECLARE NUM NUMBER :=1; BEGIN LOOP DBMS_OUTPUT.PUT_LINE(NUM); --출력 NUM := NUM+1; --NUM = NUM +1 EXIT WHEN NUM >5; --NUM이 5보다 크면 LOOP종료 END LOOP; END; 결과 1 2 3 4 5 LOOP문 사용법은 위와같다. 반복문은 특정조건까지만 반복하며 로직을 수행하는데 LOOP의 반복문은 EXIT[WHEN 조건]; 이라는 구절에서 실행된다. 따라서 EXIT를 누락하면 해당 LOOP는 무한루프에 빠지게 되니 사용하실 때 주의해야 한다. WHILE문 ..
-
[ORACLE] (PL/SQL) 오라클 조건문 (IF, CASE)문 사용방법DBMS 2020. 6. 30. 17:19
조건문 IF문 --문법 IF 조건 THEN 처리문 ELSIF 조건2 THEN 처리문 ...... ELSE 처리문 END IF; 사용법은 다른 언어와 비교하여 전체적인 구조는 다르지 않으나 3가지가 다르다. 조건 다음에 THEN을 붙인다는것이 다르고, 여러개의 조건을 붙일 경우 다른 언어에서는 ELSE IF라고 많이 하지만 PL/SQL에서는 ELSIF 라는 명령어를 사용한다. 그리고 마지막에는 IF를 끝낸다는 END IF를 붙인다. DECLARE POINT NUMBER :=80; BEGIN IF POINT >= 90 THEN DBMS_OUTPUT.PUT_LINE('A'); ELSIF POINT >-80 THEN DBMS_OUTPUT.PUT_LINE('B'); ELSE DBMS_OUTPUT.PUT_LINE(..
-
[ORACLE] (PL/SQL) 오라클 변수, 상수 선언하기DBMS 2020. 6. 30. 17:11
PL / SQL이란? PL/SQL은 상용 관계형 데이터베이스 시스템인 오라클 DBMS에서 SQL 언어를 확장하기 위해 사용하는 컴퓨터 프로그래밍 언어 중 하나이다. 오라클에서 변수를 선언 후 사용하시려면 이 PL/SQL을 사용한다. 변수 및 상수 선언 --변수 선언하기 변수명 데이터 타입 : = 초기 값; VAL_NUM NUMBER := 1; VAL_STR VARCHAR2(10) := 'AA'; --상수 선언하기 상수명 CONSTRANT 데이터타입 : = 상수 값; VAL_NUM CONSTANT NUMBER := 1; PL/SQL에서는 일반적인 프로그래밍 언어에서 사용하는 = 이 아니라 :=이다. 특정 변수에 :=을 기준으로 오른쪽 값을 왼쪽에 할당한다. 변수, 상수를 선언은 선언부(DECLARE) 블록..
-
[오라클] ORA-28001/ORA-28002 비밀번호 만기관련 갱신방법DBMS 2019. 10. 6. 18:19
오라클 11부터 패스워드에 대한 유효기간이 기본 6개월로 설정된다. 중간중간에 몇일 남았다는 문구가 표출되지만 신경쓰지 않아서 계정이 결국 잠기게 된다. 해결방법 아예 비밀번호가 만기가되서 접속이 안된다면 sys 계정으로 로그인 후 alter user 유저명 identified by 패스워드; ex) alter user 'tbadmin' identified by 1234; --실행 하지만 180일 이후에 또 같은 문제가 발생한다. 그럼, 해당 패스워드에 대한 유효기간을 unlimited로 설정해 근본적인 문제를 해결 하면 된다. select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME'; 위와 같은 sq..
-
[오라클] Oracle Database 11g Express Edition(Oracle XE 11g) 설치하기DBMS 2017. 11. 18. 21:26
오라클 무료버전 xe 11g 설치하기 xe 11g는 개발용으로 무료버전 이다. 다운받을라면 오라클사이트 회원가입한다.https://www.oracle.com/index.html 회원가입을 했으면 이제 xe버전을 다운 받는다. 홈페이지가 다 영어라 다운로드를 찾기 힘들다. 아래는 바로가는 링크이다. http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html 동의하기를 체크하고 다운받는다. 다운받은 압축을 풀고 DISK1폴더안에 setup.exe를 실행시킨다. 동의하고 Next를 누른다. Browse를 누르고 경로를 선택한다. ※한글이 들어간 경로에 설치하면 안된다. 무조건 경로는 영어..
-
[오라클] DB Link 생성DBMS 2017. 7. 23. 16:39
'A' DB --- DB Link --→ 'B' DB (로컬) (원격지) ※ DB Link 설정하기 위해서는 권한이 필요하다. 만약 권한이 없다면 다음으로 권한 설정을 해준다. GRANT CREATE PUBLIC DATABASE LINK, DROP PUBLIC DATABASE LINK TO user_id; 1. 로컬 'A' DB 의 tnsnames.ora 파일에 원격지 'B' DB 접속 정보 추가 ex) B_DB = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.0.1) (PORT = 1521)) ) (CONNECT_DATA = (SID = ORA9) ) ) ※ 'B' DB 접속 정보가 올바르게 입력되었는지 확인 : ..