테이블이 데이터베이스에서 만들어지면 테이블을 만들기 위한 SQL 문이 테이블의 각 열에 대한 선호도 또는 데이터 유형을 정의합니다. 선호도 선언을 생략할 수 있지만
CREATE TABLE
SQL 문에서 열 선호도를 명시적으로 선언하는 것이 좋습니다.
일반적인 규칙으로
INSERT
문을 사용하여 데이터베이스에 저장하는 모든 객체는
SELECT
문을 실행할 때 동일한 데이터 유형의 인스턴스로 반환됩니다. 그러나 검색된 값의 데이터 유형은 값이 저장된 데이터베이스 열의 선호도에 따라 다를 수 있습니다. 값이 열에 저장된 경우 데이터 유형이 열의 선호도와 일치하지 않으면 데이터베이스에서 열의 선호도와 일치하도록 값을 변환하려고 합니다. 예를 들어, 데이터베이스 열이
NUMERIC
선호도를 사용하여 선언된 경우 데이터베이스에서 데이터를 저장하기 전에 삽입된 데이터를 숫자 저장소 클래스(
INTEGER
또는
REAL
)로 변환하려고 합니다. 데이터를 변환할 수 없으면 데이터베이스에서 오류를 발생시킵니다. 이 규칙에 따라, String “12345”가
NUMERIC
열에 삽입되는 경우 데이터베이스에서 이 문자열을 데이터베이스에 저장하기 전에 정수 값 12345로 자동으로 변환합니다. 이 값이
SELECT
문으로 검색되는 경우 String 인스턴스가 아니라 숫자 데이터 유형(예: Number)의 인스턴스로 반환됩니다.
원하지 않는 데이터 유형 변환을 방지하는 가장 좋은 방법은 다음 두 규칙을 따르는 것입니다. 먼저, 저장할 데이터 유형과 일치하는 선호도로 각 열을 정의합니다. 다음으로, 데이터 유형이 정의된 선호도와 일치하는 값만 삽입합니다. 이러한 규칙을 따르면 두 가지 장점이 있습니다. 데이터를 삽입할 때 데이터가 예기치 않게 변환되지 않습니다(이에 따라 원하는 의미가 손실될 가능성이 제거됨). 또한 데이터를 검색할 때 데이터가 원래 데이터 유형으로 반환됩니다.
사용 가능한 열 선호도 유형과 SQL 문 내의 데이터 유형 사용에 대한 자세한 내용은
데이터 유형 지원
을 참조하십시오.
|
|
|