티스토리

꿀벌개발일지
검색하기

블로그 홈

꿀벌개발일지

ohgyun.com/m

천천히, 그러나 끊임없이.

구독자
2
방명록 방문하기

주요 글 목록

  • DynamoDB: on-demand 모드의 오토 스케일링 발생일: 2021.04.21 키워드: 다이나모디비, 온디맨드, 오토 스케일링, auto scaling 문제: 다이나모디비를 온디맨드 모드로 쓰고 있다. 배치 작업으로 평소보다 많은 데이터를 PUT 했는데, 아래와 같은 에러가 나온다. Throughput exceeds the current capacity for one or more global secondary indexes. DynamoDB is automatically scaling your index so please try again shortly. 온디맨드 모드는 스케일 제한이 없는 걸로 알았는데 왜 그런걸까? 해결책: 테이블 생성 후, 이전 트래픽 대비 많은 데이터를 넣어서 발생한 문제였다. 요약 먼저: 온디맨드도 내부적으론 오토스케일링으로 .. 공감수 0 댓글수 0 2021. 4. 16.
  • DynamoDB: 고민했던 것들에 대한 정리 발생일: 2021.03.14 키워드: DynamoDB, 다이나모디비 문제: 다이나모디비를 써보면서 헷갈렸던 것들, 생각과 달랐거나 고민했던 내용, 중요하다고 생각되는 것들에 대한 정리 해결: 핫파티션은 프로비저닝 모드에서만 해당됨 - 과금 체계는 프로비저닝 모드와 온디맨드 모드가 있고 - 프로비저닝 모드 - 프로비저닝 모드는 RCU와 WCU를 직접 설정하는데, '초당 처리량' 기준임 - 핫파티션 이슈는 프로비저닝 모드에서만 해당됨 - 초당 요청이 할당 받은 처리량을 초과하지 않게 하기 위해 설계해야 함 - 예약 요금은 프로비저닝 모드에서 쓸 RCU,WCU를 미리 사두는 개념 - 온디맨드 모드 - 사용한 RCU와 WCU 만큼 과금하는 모델 - 사용한 만큼 과금되기 때문에, 처리량의 한계와 핫파티션 이슈가 .. 공감수 2 댓글수 0 2021. 3. 14.
  • DynamoDB: Building NoSQL Database-Driven Applications 노트 발생일: 2021.02.16 키워드: DynamoDB, 다이나모디비 문제: DynamoDB에 코세라 강좌가 있어 들으면서 정리했던 노트다. https://www.coursera.org/learn/dynamodb-nosql-database-driven-apps 지금보면 너무 기초적인 것 같은데, 당시 흐릿하게 개념이 잡혔던 터라 전체 컨셉을 이해하기에 좋았다. 지금 보더라도 유심히 기억해야할 만한 특징인 볼드로 표시해뒀다. 내용: Relational Databases and the Problem that Need Solving - RDS(Relational Data System)의 특징 - 정형 데이터를 분석하기 좋음 - 스토리지를 많이 차지하고 - 컴퓨팅 비용이 큼 - CAP 정리: 다음과 같은 세 가지.. 공감수 2 댓글수 0 2021. 3. 14.
  • DynamoDB: 파티션키와 정렬키의 이해 발생일: 2021.03.09 키워드: DynamoDB, 다이나모디비, Partition Key, Sort Key, 파티션키, 정렬키, PK, SK, GSI 문제: 동료들이 다이나모디비의 파티션키(Partition Key)와 정렬키(Sort Key)의 관계를 헷갈려한다. 해결책: 처음엔 개념이 잘 잡히진 않았는데, 알고보니 간단하고 명확한 개념이었다. 다이나모디비로 설계하면서 자꾸 복잡하다고 느끼는 건, 설계 시점부터 스케일 아웃을 고려하고 있기 때문인 것 같다. RDS에선 스케일을 고려했다기보단, 이름 그대로 관계(relation)에 집중해 설계했던 것 같다. 사용할 땐 쿼리를 조합하면 되니, 설계 시점엔 확장이나 호출 샘플보단 관계를 고민했다. (다른 디비를 설계할 때에도 지금처럼 스케일을 고려해 설계.. 공감수 4 댓글수 0 2021. 3. 9.
  • 효과적인 DynamoDB 디자인 및 활용 발생일: 2020.02.18 키워드: nosql, dynamodb, 다이나모디비 문제: 이번엔 디비를 NoSQL로 AWS의 DynamoDB를 사용해서 구성해보려고 한다. 아키텍처 디자인을 어떻게 해야할까 고민하던 차에, A가 리인벤트 동영상을 추천해줬는데 내용이 좋다. youtu.be/8rEsuvdL17s 아래는 보면서 정리해둔 내용. 해결책: - 한 애플리케이션에 한 개의 테이블 - 파티션 키는 데이터를 골고루 분산하는 용도로 (데이터 분배 결정) - 고유 값이 많은 속성(카디널리티가 높은 속성) - 균일한 비율로 무작위로 요청되는 속성 - 정렬 키는 기존 RDS에서 인덱스를 사용하는 느낌으로 (쿼리, 다양화) - 1:n, m:n 관계 모델링에 활용 - 효율적/선택적 조회 - 범위 조회 - GSI (G.. 공감수 0 댓글수 0 2021. 2. 18.
  • lock=none, algorithm=inplace 으로 테이블 변경하기 발생일: 2020.07.30 키워드: mysql, aurora, DB 컬럼 추가, DB 인덱스 추가, add index without lock, add column 문제: 크기가 큰 MySQL (Aurora) 테이블에 컬럼이나 인덱스를 추가하려고 한다. 테이블 크기가 큰 경우, 락 타임이 길어져서 운영 중일 땐 문제가 발생할 수 있다. 어떻게 하면 될까? 해결책: algorithm 절과 lock 절을 이용하면, 락을 걸지 않고 컬럼이나 인덱스를 추가 또는 삭제할 수 있다. 컬럼 추가 규모가 큰 larget_table 에 new_date 란 이름으로 DATETIME 형식의 컬럼을 추가한다고 가정하면, 아래와 같이 하면 된다. ALTER TABLE large_table ADD new_date DATETIME.. 공감수 0 댓글수 0 2021. 2. 9.
  • MySQL: 테이블 이름 변경에 view 활용하기 발생일: 2019.04.22 키워드: mysql, view, 뷰 문제: 기존 변수를 모두 변경하면서 관련된 테이블의 이름도 함께 변경하려고 한다. 테이블 앨리어스가 있다면 가장 쉽게 운영 중인 서비스에도 문제 없이 적용할 수 있을 것 같다. 가만, view 가 업데이트도 가능했던가? 해결책: 단일 테이블로 생성한 뷰는 업데이트나 인서트도 가능하다. - view 조건에 해당되지 않는 경우에도 업데이트나 인서트가 가능하다. CREATE VIEW emp_view AS SELECT * FROM emp WHERE age > 10 INSERT INTO emp_view (iage) VALUES (5); - 뷰 생성 시 컬럼 앨리어스를 사용한 경우에도 인서트나 업데이트 된다. CREATE VIEW emp_view AS.. 공감수 0 댓글수 0 2019. 5. 20.
  • MySql: LOAD DATA INFILE 로 대용량 데이터 인서트하기 발생일: 2017.11.17 키워드: MySQL, LOAD DATA INFILE, insert large amount of dataset into mysql database, 대용량 데이터 추가 문제: 대용량 데이터를 MySQL 디비에 인서트하려고 한다. 가장 효율적인 방법이 뭘까? 해결책: 텍스트 파일을 읽어 테이블에 인서트하는 LOAD DATA INFILE 구문이 있다. 기본 INSERT 구문을 쓰는 것보다 20배 정도 빠르다고 한다. 대략 아래와 같은 포맷으로 실행할 수 있다. LOAD DATA LOCAL INFILE '{file_name}' INTO TABLE {table_name} CHARACTER SET utf8 FIELDS TERMINATED BY '{field_terminator}' # 각.. 공감수 1 댓글수 0 2018. 10. 19.
  • MySQL: max_execution_time 설정하기 발생일: 2018.08.28 키워드: max_execution_time, slow query, cpu 100% of database 문제: 실수로 실행 시간이 아주 긴 쿼리가 운영 중인 서비스에서 실행됐다. 서버에서 맺은 커넥션은 타임아웃이 걸려있어서 문제 없이 끊겼는데, MySQL 서버의 CPU는 여전히 100%다. 디비 서버의 모든 커넥션을 끊은 후에도 한동안 CPU가 100%로 유지되더라. 문제가 뭘까. 해결책: 문제의 쿼리는 SELECT 구문으로 무려 80초나 걸리는 것이었는데, 커넥션이 끊긴 이후에도 해당 쿼리는 계속 실행된 게 원인으로 보인다. 동일 쿼리가 여러 번 실행됐을 거고, 이런 이유로 CPU가 계속 100%가 되었던 것으로 추측된다. 커넥션 타임아웃(connet_timeout)을 설정.. 공감수 1 댓글수 0 2018. 9. 21.
  • MySQL: FULLTEXT 인덱스와 일반 인덱스 성능 차이 발생일: 2018.07.26 키워드: fulltext index, use index, match against 문제: FULLTEXT 인덱스를 적용해 둔 테이블에서 날짜와 주소로 조회하려고 한다. 테이블 크기는 약 1800만 행 정도이고, 컬럼과 인덱스 정보는 아래와 같다. employee: 약 1800만 행 - address: 주소 - join_date: 입사일 인덱스: - address: FULLTEXT index - join_date: index 주소와 날짜로 검색하기 위해 아래와 같이 조회했는데,.. 엄~청 느리다. SELECT * FROM employee WHERE MATCH(address) AGAINST('+서울' IN BOOLEAN MODE) -- (A) AND join_date >= '${.. 공감수 0 댓글수 0 2018. 9. 21.
  • MySQL: Fulltext search에서 하이픈 캐릭터 사용하기 발생일: 2017.02.06 키워드: mysql, fulltext search, fulltext 검색, 하이픈, 대시, hypen, dash, - 문제: MySQL의 BINARY MODE 의 Fulltext search에서 하이픈(hypen, 또는 대시, -) 캐릭터를 검색 대상에 포함하고 싶다. 어떻게 하면 될까? 해결책: 기본적으로 MySQL의 fulltext search는 letter, digits, ', _ 로 구성된 것을 단어로 본다. -는 word break 역할을 해서, mysql에서는 -로 구분된 단어를 검색하는 것과 동일하게 동작한다. 따옴표로 묶어도 동일하다 "12-34" "12 34" "12+34" "12~34" 모두 같은 결과를 리턴한다. 한 자리 검색어가 따옴표로 묶이는 경우, 검.. 공감수 0 댓글수 0 2017. 7. 27.
  • surrogate key 와 natural key 발생일: 2016.11.11 키워드: surrogate key, natural key 문제: 각 컬럼의 값이 유니크하다면, 전체 컬럼을 프라이머리로 만들어도 되지 않을까? 해결책: 각 컬럼이 유니크하더라도 각 행을 대표할 수 있는 키를 별도로 넣는 게 좋다는 조언이다. 데이터베이스의 모델 관리와 비즈니스 문제를 분리하기 위한 목적이라고 한다. 이렇게 비즈니스와 관계 없이 테이블의 row를 대표하는 키를 서로게이트 키라고 한단다. 반대로 비즈니스 개념을 대표하던 것은 내추럴 키이고. http://dba.stackexchange.com/questions/760/is-there-any-benefit-of-a-primary-key-that-comprises-all-columns-of-the-table 공감수 0 댓글수 0 2017. 7. 27.
  • MySQL: IN, NOT IN 구문에 여러 컬럼 사용하기 발생일: 2016.12.14 키워드: mysql, in multiple column 문제: WHERE 절의 IN, NOT IN 쿼리 구문에 여러 컬럼을 사용하고 싶다. 해결책: IN, NOT IN 구문으로 비교할 컬럼을 괄호로 묶어 처리하면 된다. SELECT * FROM task WHERE (user_id, task_id) NOT IN ( SELECT user_id, task_id FROM task_queue ); 논의:IN 구문에서 사용하는 컬럼 중에 인덱스가 적용되지 않은 컬럼이 있었는데, 해당 컬럼 때문에 쿼리 성능이 급격히 떨어졌다.실제론 위 방법 대신, 쿼리를 두 번 나눠 호출하는 방식으로 우회했다. 참고: http://stackoverflow.com/questions/8435107/mysql.. 공감수 2 댓글수 0 2016. 12. 21.
  • MySQL: FULLTEXT 인덱스 쿼리에서 2글자 검색하기 발생일: 2016.12.07 키워드: mysql, fulltext, boolean mode, innodb_ft_min_token_size, aws 문제: MySQL에서 BOOLEAN MODE 로 FULLTEXT 쿼리를 하려고 하는데, 검색어가 2글자인 경우 검색이 되지 않는다. 해결책: FULLTEXT 인덱스를 생성하는 기준에 캐릭터 개수에 대한 최소값이 있었기 때문이었다. innoDB인 경우 기본적으로 3글자, MyISAM DB인 경우 4글자가 기본값이다. 최소값 기준은 MySQL의 innodb_ft_min_token_size 설정하면 변경할 수 있다. 인스턴스의 기본 설정값이기 때문에, 값을 변경한 후엔 디비 인스턴스를 리스타트해야 하고, 인덱스도 새로 만들어야 한다고 한다. 우린 innoDB를 사용.. 공감수 2 댓글수 0 2016. 12. 8.
  • sqlite: limit (오라클의 rownum 기능) 발생일: 2015.12.29 키워드: sqlite3, limit, oracle rownum 문제: sqllite 에서 오라클에서 제공하는 rownum 기능은 뭘까? 해결책: SQLite는 limit라는 기능을 제공한다. SELECT COL1, COL2 FROM TAB01 ORDER BY COL1 LIMIT 5 --5개 ROW를 출력하라는 의미 또 하나 OFFSET 이라는 기능도 있다 SELECT COL1, COL2 FROM TAB01 ORDER BY COL1 LIMIT 6 OFFSET 3 --3ROW를 건너뛰고 6개를 출력하라는 의미 공감수 0 댓글수 0 2016. 6. 6.
  • sqlite3: attempt to write a readonly database 발생일: 2016.01.05 키워드: sqlite3, sqlite 문제: sqlite3 을 사용해 저장하려고 하는데, 아래와 같은 오류가 발생한다. sqlite3: attempt to write a readonly database 해결책: 디비 파일의 권한 이슈였다. $ sudo chmod 775 /var/www/mysite $ sudo chmod 664 /var/www/mysite/sqlite.db 664 로 설정하는 것으로 해결했다. 공감수 0 댓글수 0 2016. 6. 6.
  • Mapping Table 에서 and 조건으로 조회하기 발생일: 2010.02.10 문제: 업무 공유를 위해 팀원끼리 사용할 간단한 게시판을 하나 만들고 있다. 한 게시물에 여러 개의 태그를 달 수 있는 게시판이며, 태그는 형태로 구성되어 있다. 또한 gmail 의 목록처럼, 전체 목록을 뿌릴 때 엮여 있는 모든 태그를 보여준다. 좌측 메뉴에서 태그를 선택할 경우, 아래와 같이 해당 태그에 해당하는 게시물만 필터링하려고 한다. 그러다 매핑 테이블에서 and 조건으로 조회를 하려다가 난관에 봉착했다. 매핑 테이블에서 AND 조건을 추가하기가 쉽지 않다. task 테이블과 tag 테이블이 존재하며 매핑 테이블은 아래와 같이 구성되어 있다. [task_tag_map] task_id tag_id 데이터 샘플은 아래와 같다. (task_.. 공감수 0 댓글수 0 2010. 2. 10.
  • PK 가 없는 테이블에서 중복된 데이터 제거하기 발생일: 2009.11.06 문제: 타시스템으로부터 인터페이스 받아오는 임시 테이블이 있다. 이 테이블은 데이터 전달용으로 임시로만 사용하기 때문에 따로 PK 를 두지 않았다. 헌데 이 테이블에 중복된 데이터가 인터페이스 되게 되었다. PK 가 없는 테이블에서 중복된 데이터를 어떻게 제거해야 할까... 다른 테이블로 옮기는 과정에서 프로시저를 통해 중복데이터를 제거하면 되겠지만, 현재 상황에서는 프로시저를 수정할 수는 없다. 단순하게 DELETE 구문을 통해 중복 데이터를 제거하려고 한다. 테이블 스키마는 대략 아래와 같다고 가정한다. IF_TEMP id (number) content (varchar2) 현재 데이터는 아래과 같다. id content 123 가나다 123 가나다 234 마바사 234 마.. 공감수 5 댓글수 0 2009. 11. 6.
  • DB Link 설정, 생성, 조회, 삭제 발생일: 2009.11.01 문제: 오늘 디비 서버 이관 작업이 있었다. 헌데 기존에 디비 링크로 연결하던 테이블을 조회할 수 없다.... 서버 담당자에게 문의해보니, 링크를 새로 생성해야 한다고 한다. 디비 링크.. 한 번도 안해봤는데.... -_-a 해결책: 디비 링크에 대해 아주 깔끔하게 정리해 둔 포스트가 있다. [오라클] DB Link 설정 위 포스트가 간단 요약 정리라면, 아래 포스트는 친절한 예제와 함께 설명해준다. ORACLE|DB Link 생성 및 사용법 그리고 마지막으로, 디비 링크 조회 쿼리. 1) USER ACCOUNT SELECT * FROM USER_DB_LINKS 2) DBA ACCOUNT SELECT * FROM DBA_DB_LINKS 이렇게 하면 되겠다. * 실질적으로 문제.. 공감수 1 댓글수 0 2009. 11. 1.
  • 오라클에서 CLOB 를 VARCHAR2 로 바꾸기 발생일: 2009.06.03 문제: 타 시스템의 데이터를 가져와 쓰기 위해 오라클에서 Clob를 Varchar2 로 추출해내려고 한다. 해결책: 탐이 대답해준 Converting CLOBS to VARCHAR2 컬럼을 참고하자. 오라클 내장 함수인 dbms_lob.substr( clob_column, for_how_many_bytes, from_which_byte ); 를 사용하면 되겠다. 참고로 varchar2 의 최대 크기는 32k이다. 실질적으로 32k 보다 큰 CLOB 데이터를 VARCHAR로 변환해 쓰려면, 다른 함수를 정의해 써야하겠다~ 공감수 0 댓글수 0 2009. 6. 3.
  • 인덱스를 만들었는데도 검색 시 인덱스를 타지 못하는 경우 발생일: 2009.05.26 문제: 검색하고자 하는 컬럼에 인덱스를 추가하였는데도 뚜렷한 성능 향상이 보이지 않는다. 검색 시 인덱스를 타지 못하고 있는 건 아닐까? 해결책: 데브피아의 전문가 컬럼 'INDEX 과연 달면 빠른가?'에 명확하게 설명되어 있다. (IE에서만 보인다.) 요약하자면 아래와 같이 인덱스가 달린 컬럼에 변형이 있을 경우, 인덱스가 정상적으로 적용되지 않는다. 인덱스 컬럼에 변형이 일어난 경우 WHERE TO_CHAR(HIREDATE,'YYYYMMDD') = '19980518'; WHERE SALARY + 1000 > 100000; 내부적인 변형이 일어난 경우 (EMP_ID를 Number로 인식한다) WHERE EMP_ID = 200383; NULL을 비교하였을 경우 WHERE JO.. 공감수 0 댓글수 0 2009. 5. 26.
  • 여러 개의 row를 한 줄로 가져오기 (GROUP_CONCAT) 발생일: 2009.05.09 문제: 게시판 전체 목록의 태그들을 각각 가져와 한 줄로 뿌려주려고 한다. 각 게시물에 해당하는 태그 목록을 각각 조회해 가져오자니 너무 비효율적이라서, 게시물에 해당하는 태그(여러 개의 row)의 값을 공백으로 구분으로 넣으려고 한다. 데이터베이스는 mysql을 사용한다. 해결책: mysql의 GROUP_CONCAT 함수를 사용하면 된다. GROUP_CONCAT(DISTINCT test_score ORDER BY test_score DESC SEPARATOR ' ') 와 같이 사용한다. mysql reference에 잘 설명되어 있다. 참고하자. 공감수 0 댓글수 0 2009. 5. 9.
  • mysql datetime 발생일: 2009.04.26 문제: mysql 을 이용하는 시스템에서 게시물의 생성 시간을 추가하기 위해 컬럼을 하나 추가했다. 컬럼명: createddate 데이터 타입: date 게시물 작성 후, createddate 로 정렬하려 했는데 정상적으로 정렬되지 않는다. 해결책: mysql 의 date 는 오라클과 달리 일자까지만 저장한다. (yyyy-mm-dd) 초단위 시간까지 포함하려 한다면 datetime 타입으로 컬럼을 생성해야 한다. mysql 의 데이터 타입에 대해 잘 정리해놓은 블로그가 있다. 날짜와 시간 함수에 대해 정리해놓은 블로그도 참고하자. 공감수 0 댓글수 0 2009. 4. 26.
  • 오라클 날짜 출력 발생일: 2009.03.31 문제: 날짜 A로부터 날짜 B까지 쭉~ 뿌리고 싶다. 해결책: LEVEL 과 CONNECT BY 구문을 사용해보자. 아래와 같이 사용하면 된다. SELECT TO_CHAR(TO_DATE('2009.03.31', 'yyyy.mm.dd') + LEVEL - 1, 'yyyy.mm.dd') FROM DUAL CONNECT BY TO_DATE('2009.03.31', 'yyyy.mm.dd') + LEVEL - 1 < TO_DATE('2009.04.03', 'yyyy.mm.dd') 공감수 0 댓글수 0 2009. 3. 31.
  • SQL Formatter 발생일: 2009.03.31 문제: SQL이 convention 에 맞지 않게 코딩되어 있어 수정하려면 매우 골치 아픈 경우,.. 게다가 SQL Formatter를 지원하는 DB Tool도 라이센스 때문에 쓸 수 없을 경우,.. 시스템 로그에서 쿼리가 줄바꿈 없이 쭉쭉 나오는 경우,.. ...스트레스를 매우 받는다... 해결책: 더 스트레스 받기 전에 Online SQL Formatter 를 사용해보자. 강추! 마음에 들지 않는다면 sql formatter 로 구글링 해도 좋다. 공감수 0 댓글수 0 2009. 3. 31.
  • 오라클에서 이전 / 이후의 게시물 아이디 얻기 발생일: 2009.03.19 문제: 오라클에서 이전 / 이후의 게시물 아이디를 얻어오고자 할 때 해결책: 오라클에서 제공하는 lag / lead 함수를 이용하여 목록에서 이전 / 이후의 아이디를 가져온다. 전체 게시물을 대상으로 id, lag(id), lead(id)를 조회한 후, 해당 게시물에서 id 값을 찾아내도록 한다. ex) SELECT previous, next FROM ( SELECT deptno lag(deptno) over (order by deptno) as previous lead(deptno) over (order by deptno) as next FROM scott.dept) ) WHERE deptno = #deptno# 공감수 0 댓글수 0 2009. 3. 20.
  • ORACLE START WITH, CONNECT BY 구문 발생일: 2009.02.19 문제: 오라클에서 상위 계층과 하위 계층의 관계를 설정하고 정렬하고자 한다. 해결책: START WITH, CONNECT BY 구문을 사용해보자. 해당 구문에 대한 블로그를 참고하자. 예) SELECT LEVEL, itemid, itemname FROM item START WITH itemid = 0 // itemid가 0인 것부터 시작 CONNECT BY PRIOR itemid = parentid // itemid 와 parentid를 계층화 (부모에서 자식으로 계층화) * 팁: 동일 레벨의 지정 컬럼으로 정렬하고자 할 때에는 ORDER SIBLINGS BY 컬럼명 을 사용하면 된다. 공감수 0 댓글수 0 2009. 2. 19.
  • 오라클 rollup 통계 발생일: 2009.02.19 문제: 오라클에서 각 로우의 총계를 구하고 싶다. 해결책: rollup 과 cube 명령어를 사용해보자. GROUP BY ROLLUP(기준이 될 컬럼명) 과 같이 사용하면 된다. 자세한 사항을 rollup에 대한 블로그를 참고해보자. 공감수 0 댓글수 0 2009. 2. 19.
  • 오라클 통계 DECODE 사용 http://blog.naver.com/crossbow71/60033213920 COUNT(DECODE(status_code, '1', 1, null)) 과 같은 식으로 구한다. 그룹 함수는 null 일 경우, 그 로우를 포함하지 않는다. 공감수 0 댓글수 0 2009. 2. 19.
  • oracle view 에서 컬럼 타입 변경하기 view를 생성 후 다른 테이블과 union을 하거나 할 경우, 컬럼 타입이 다르다며 정상적으로 동작하지 않는 경우가 있다. 이럴 때, CAST 키워드로 뷰를 변경해주면 된다. CREATE OR REPLACE VIEW aview AS SELECT CAST(id AS NUMBER) AS id, CAST(code AS CHAR(1)) AS code FROM atable 위와 같이 해주면 된다. 공감수 1 댓글수 0 2009. 2. 18.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.