개발자 유용한 정보들

Oracle/Sybase 사용법 비교 #3 (temp table생성, cursor, 변수할당 등...)

니들두들 2023. 1. 26. 15:18
반응형

오라클(oracle), 싸이베이스(sybase) 문법은 같은 듯 다른 부분이 많아 개발자들은 사용 시 헛갈리는 부분이 있습니다.
제가 공부도 하면서 다른 개발자들이 쉽게 찾아볼 수 있도록 이렇게 정리하면 조금이나마 도움이 되실까 하고 정리해 봅니다.

1.BLANK PADDING
sybase, oracle) CHAR로 선언된 컬럼은 실제 데이터 뒤에 선언 자릿수만큼을 공백문자로 채워서 저장하고 VARCHAR로 선언된 컬럼은 실제 데이터만 저장한다.

c.f) ASIQ는 실제로 데이터를 저장할 때는 VARCHAR도 CHAR처럼 저장하며 뒤에 실제 데이터 크기를 저장하기 위해 추가적으로 1BYTE가 더 필요하며 위 내용은 화면에 출력할 때를 기준으로 한다.

2.TEMP TABLE
sybase) 사용 용도에 따라 LOCAL TEMPORARY TABLE과 GLOBAL TEMPORARY TABLE 이렇게 두 가지 형태의 임시 테이블을 제공한다.
DECLARE LOCAL TEMPORARY TABLE
CREATE GLOBAL TEMPORARY TABLE

oracle) global temporary table 형태의 임시 테이블만 제공한다.
CREATE GLOBAL TEMPORARY TABLE

3.CURSOR
sybase, oracle) DECLARE -> OPEN -> FETCH - CLOSE 형태로 사용할 수 있으며 FOR문과 연결하여 간편하게 사용할 수 도 있다.

4.USER 생성
sybase) GRANT connect TO user_name IDENTIFIED BY password;
oracle) GRANT connect TO user_name IDENTIFIED BY password;
CREATE USER...

5.TRANSACTION MODE
sybase, oracle) 기본적으로 트랜잭션의 시작을 자동으로 처리하는 CHAINED모드이다.
cf) ASIQ를 isql로 접속하면 UNCHAINED 모드가 기본 트랜잭션 모드가 된다.

6. 변수할당
sybase) SET variable = value; 문에 의해 변수에 특정한 값을 할당할 수도 있고 SELECT column INTO variable 문에 의해 변수에 값을 할당할 수도 있다.

oracle) variable :=value; 문에 의해 변수에 특정한 값을 할당할 수 있다. SELECT olumn INTO :host-variable 문에 의해 호스트 변수에 값을 할당할 수도 있다.



반응형