database.sarang.net
UserID
Passwd
Database
ㆍDBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DBMS Tutorials 155 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 155
예약어와 중복되는 이름을 이용할려면
작성자
정재익(advance)
작성일
2001-12-09 19:47
조회수
9,352

혹 이런 고민에 빠진 독자가 있을지 모르지만, SELECT, UPDATE, DELETE 등의 SQL의 예약어를 테이블의 이름이나 열 이름으로 사용해야 할 경우가 있다면 이 기사가 도움이 될 것이다.

 

기본적으로 예약어들을 사용한다는 것은 이후 관리상의 문제나 여러 가지 문제를 발생시키기 때문에 사용하지 않는 것이 좋다.

하지만 아쉽게도 다른 데이터베이스에서 SQL Server 등으로 마이그레이션을 했을 때 예약어가 테이블명이나 필드명으로 사용되어 어쩔 수 없이 이용해야 한다면 다음과 같이 이용할 수 있다.

 

SQL Server에서 열 이름은 "["과 "]"로 묶어 표기하면 데이터베이스 객체 이름으로 인식된다.

오라클에서 사용하고 싶다면 큰따옴표로 묶어 기술하면 된다.

Test 테이블에 FROM 필드와 TO열을 생성하고 싶다면 다음과 같은 명령어가 필요하다.

 

SQL Server일 경우

CREATE TABLE test ( [FROM] int null, [TO] int null )

 

Oracle일 경우

CREATE TABLE test ( "FROM" NUMBER(8) null, "TO" NUMBER(8) null )

이를 통해 FROM필드와 TO필드를 가진 테이블이 생성된다. SELECT나 UPDATE에서도 같은 서식을 사용하여 이용할 수 있다.

 

SQL Server일 경우

SELECT [FROM] FROM test WHERE [TO] = 45

 

Oracle일 경우

SELECT "FROM" FROM test WHERE "TO" = 45

 

하지만 될수 있으면 예약어의 사용은 피하는 것이 좋습니다. 다른 곳에서 또다른 에러를 야기할 가능성을 가지고 있기 때문입니다.

[Top]
No.
제목
작성자
작성일
조회
176Backup & Recovery
정재익
2001-12-14
7651
174DW 데이터 변환
정재익
2001-12-14
6049
173DataWarehouse 란 무엇인가? [1]
정재익
2001-12-14
5372
155예약어와 중복되는 이름을 이용할려면
정재익
2001-12-09
9352
140DB 테이블 디자인에 도전하기 (5)
정재익
2001-12-07
5675
139DB 테이블 디자인에 도전하기 (4)
정재익
2001-12-07
5168
138DB 테이블 디자인에 도전하기 (3)
정재익
2001-12-07
9108
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다