본문 바로가기

데이터베이스

(26)
XML 관련함수 (EXTRACTVALUE, UPDATEXML) MySQL에서 쿼리로 xml 데이터에 대한 정보를 다룰수 있다. EXTRACTVALUESELECT EXTRACTVALUE('value', '/root/item'); XML 형식 데이터를 해당 함수로 추출이 가능하다.실제 테이블에 적용해보면 아래처럼 사용할수 있다. SELECT EXTRACTVALUE(TARGET_COL, '/root/item') FROM TARGET_TABLE;  UPDATEXMLSELECT UPDATEXML('value', '/root/item', 'newValue'); 이 함수는 XML 데이터중 경로에 해당하는값을 변경하는 함수이다.이 함수는 UPDATE문과 함께 사용하면 새로운 값으로 치환이 가능하다.UPDATE TARGET_TABLE SET TARGET_COL = UPDATEXML..
오라클 데이터가 있는 컬럼 길이 변경 SELECT * FROM target_table//컬럼크기조회 SELECT * FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = ' target_table' AND COLUMN_NAME='target_column' //임시컬럼생성 alter table target_table add ( target_column2 VARCHAR(4000)); //임시컬럼에 자료백업 update target_table set target_column2= target_column;   //원래컬럼은 빈값으로  update target_table  set target_column = ''; //원래컬럼 길이 수정 ALTER TABLE target_table  MODIFY( target_column VARCH..
오라클 다운로드 ▶ 오라클 다운로드 https://www.oracle.com/downloads/ ▶ oracle developer oracle developer 실행 -> 경로선택에 C:\Program Files\Java\jdk1.8.0_144 선택
Transction(트랜잭션) 트랜잭션 ▶ 트랜잭션의 정의 하나의 작업을 수행하기 위해 필요한 데이터베이스 연산들을 모아 놓은 것. 작업 수행에 필요한 SQL 문들의 모임이다. - 논리적 작업의 단위. 장애 발생 시 복구 작업이나 병행 제어 작업을 위한 중요한 단위로 사용된다.데이터베이스의 무결성과 일관성을 보장하기 위해 작업 수행에 필요한 연산들을 하나의 트랜잭션으로 제대로 정의하고 관리해야 한다. 예를들어, 회원가입 할 때, JDBC를 사용하여 1.중복체크 (select 검색) 2.가입버튼 (insert 추가) 회원가입 할 때 2개의 쿼리를 실행한다고 가정하는데 이 2개의 쿼리를 모아둔 것이 -> 트랜잭션 이다. 또, 어떤 작업을 했을 때(회원가입 할 때) 에러 발생시 에러 전 상태의 테이블로 만들어 줘야 한다. 위의 쿼리의 모음..
Stored trigger (트리거) 트리거 테이블에 삽입, 수정, 삭제 등의 작업(이벤트)이 발생할 때 자동적으로 작동하는 데이터 베이스 개체 프로시저와 달리 직저 실행시킬 수 없고 오직 해당 테이블에 이벤트가 발생할 경우에만 실행된다. 이벤트 발생 후 ROLLBACK 할 수 없다. ▶ 트리거 형식 ▶ 트리거 상태 ALTER TRIGGER [트리거 이름] ENABLE : 트리거 사용 ALTER TRIGGER [트리거 이름] DISABLE : 트리거 사용 중지 ALTER TRIGGER [트리거 이름] COMPILE : 트리거 컴파일 트리거 실습 실습1 DELIMITER $$ CREATE TRIGGER tb_member_trigger_after_delete AFTER DELETEON tb_member_trigger FOR EACH ROW BE..
Stored Function (함수) 함수 내장함수가 사용자를 만족하는 모든 함수를 제공하지 않기 때문에 필요에 의해 사용자가 직접 함수를 만들어서 사용하기 위한 것이다. 형태와 사용 용도에 프로시저와는 차이가 있다. ▶ 사용자 정의 함수의 단점 유지 보수 복잡성 증가 - 애플리케이션의 설치나 배포가 더 복잡해진다. 각 기능을 담당하는 프로그램 코드가 자바와 MySQL 스토어드 프로그램으로 분산되어 관리하기 때문이다. ▶ 함수와 프로시저의 차이 사용자 정의 함수 프로시저 파라미터 모두 입력 파라미터로 사용된다. 리턴값 하나의 값을 반환해야 한다. 반환하는 구문이 없다. 호출 DML의 문장 안에서 사용해야 한다. CALL로 실행.호출 DML SELECT 문장이 없고 순수 변수와 알고리즘 로직 뿐이다. SELECT 문장이 있다. ▶ 사용자 정의..
Stored Procedure (프로시저) 프로시저 어떠한 동작을 일괄 처리하기 위한 용도이다. 쿼리문 처리를 할 때 바로 처리하지 않고 값을 받아와 프로시저 내부에서 일괄적으로 처리한 후 결과를 내보내 주기 위한 루틴이다. ▶ 프로시저의 특징 자주 사용되는 일반적인 쿼리를 모듈화 시켜 필요할 때만 호출하면 편리하다. 내가 필요한 만큼 응용해서 사용할 수 있기 때문에 MySQL 운영에 편리하다. ▶ 프로시저의 단점 유지 보수 복잡성 증가 각 기능을 담당하는 프로그램 코드가 자바와 MySQL 스토어드 프로그램으로 분산되어 관리하기 때문에 애플리케이션의 설치나 배포가 더 복잡해진다. 사용자가 감당할 수 있는 부분에 관하여 적절하게 사용해야 한다. ▶ 프로시저 형식의 정의 - 프로시저 문법 ☞ $$ $$ : 괄호 개념으로 내부 부분이 프로시저 이다. ..
Stored Program Stored Program 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합. MySQL 안에서 DML을 사용하는 프로그래밍 언어와 같은 기능을 제공하고, 자주 사용하는 복잡한 쿼리를 하나로 묶어서 이름을 지정하고, 이름을 호출하여 실행되도록 설정한 프로그램이다. ▶ Stored Program 특징 - MySQL의 성능 향상. 긴 쿼리의 내용을 전송하지 않고 프로시저의 이름 및 매개변수 등만 전송하여 네트워크 부하를 줄일 수 있다. 즉, 길게 쿼리를 일일이 작성하지 않고도 내가 만들었던 프로시저를 불러와서 한번에 실행할수 있다. - 유지관리가 간편. 직접 SQL문을 작성하지 않고 저장된 이름만 호출함으로써 일관된 작업을 한다. 공동 모듈에서 작업을 할 때 유지보수 관리가 보다 간편하다. - ..