본문 바로가기

Database4

트랜잭션은 무엇이며 트랜잭션을 시작하기 위한 준비! 트랜잭션 데이터베이스에서 트랜잭션은 하나의 거래를 안전하게 처리하도록 보장해주는 것이다. 예를 들어, 1,2 둘다 함꼐 성공해야 결제가 완료되는데, 중간에 하나라도 실패하면 거래 전의 상태로 돌아갈 수 있는것이다. 트랜잭션에서는 커밋과 롤백을 빼놓을 수 없는데 모든 작업이 성공해서 데이터베이스에 정상 반영하는 것을 커밋(Commit) 이라 하고, 작업중 하나라도 실패해서 거래 이전으로 되돌리는 것을 롤백(Rollback) 이라 한다. 💡 트랜잭션을 사용하기 위한 준비단계!! 기본적으로 자동커밋 모드가 설정되어 있다. 하지만 자동 커밋 모드에서는 트랜잭션을 수행할 수 없어서 아래 명령어로 수동 커밋 모드로 바꾸어주어야 트랜잭션을 시작한다고 표현할 수 있다. set autocommit false; 💡 애플리.. 2022. 7. 3.
[ORACLE] 오라클 새 계정추가, 권한부여, 권한삭제, 계정 PASSWORD 변경, 계정삭제 SYS 계정으로 접속이 되어있어야 계정생성, 권한부여, 삭제 등이 가능하므로 SYS 계정으로 접속하자. DEFAULT 로 설정되어있는 SYS 계정은 아래와 같이 접속한다. SQL> connect sys/nds0102$ as sysdba Connected. 이제 새 계정을 추가하여 보자. CREATE USER 새계정이름 IDENTIFIED BY 비밀번호; SQL> create user user_name identified by user_password; User created. 새로 만든 계정으로 접속을 시도하면 아래와 같이 오류가난다. 권한이 부여되지 않았기 때문이다. SQL> conn user_name/user_password; ERROR: ORA-01045: user USER_NAME lacks CR.. 2021. 2. 28.
SELECT CASE 를 사용해서 DB의 특정 값을 다른값으로 표현하기 DB Table의 특정 컬럼에서 특정 값이 왔을 때 표현을 달리하고 싶다면? 예를 들어, callType 이라는 컬럼에는 숫자형으로만 값이 들어오는데 SELECT 하여 조회할 때 1은 '발신', 2는 '착신'으로 표시되게 해야 하는 경우를 보자. call_test라는 테이블에 데이터가 아래와 같이 들어있다. 여기서 CALLTYPE의 자료형이 숫자라 값이 숫자로만 들어오는데 1은 '발신', 2는 '착신'을 뜻한다. 이때 1을 '발신'으로 2를 '착신'으로 그 외 나머지 값을 들어오는 숫자 그대로 표현되게 하고 싶다면? 아래와 같이 SELECT CASE 문을 사용하면 된다. select seq, stime, callType, (case 컬럼이름 when 1 then '발신' else (case 컬럼이름 wh.. 2021. 2. 18.
[Altibase] 테이블 조회, 생성, 내부 데이터삭제, 테이블이름변경, 테이블 컬럼 타입변경 테이블 조회 select * from tab; 테이블 생성 CREATE TABLE 테이블명 ( UUID VARCHAR(36) PRIMARY KEY NOT NULL, STIME DATE DEFAULT SYSDATE NOT NULL, N_COUNT INTEGER DEFAULT 0 NOT NULL, N_CLUSTER VARCHAR(64) NOT NULL, N_COMPONENT VARCHAR(64), N_SYSTEM VARCHAR(64), alloc NUMBER, conn NUMBER, alloc_peak NUMBER, conn_peak NUMBER ); 테이블 내부 데이터 삭제 DELETE TABLE 테이블명 WHERE 컬럼명 = 컬럼값 테이블이름 변경 RENAME 기존테이블명 TO 수정할테이블명 테이블 컬럼.. 2020. 7. 28.