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
운영게시판
최근게시물
MS-SQL Q&A 1854 게시물 읽기
No. 1854
데이터 입력 방법???
작성자
호기심
작성일
2005-03-29 13:40
조회수
2,008

MSSQL 2000 입니다.

Insert 문으로 데이터를 입력하는데.. 조건에 따라서 입력하고 싶습니다.

A 라는 테이블이 있을경우

A 테이블에 '1' 이라는 값을 넣고 싶습니다.

단 조건은 A 테이블에 '1' 이라는 값이 존재하지 않는다는 조건에서요..

 

쿼리를 두번 실행시켜서 하면 쉽게 해결이 되는데..

한번에 해결하려니 힘이 드네요

아시는분 답글 부탁드립니다. ^^

이 글에 대한 댓글이 총 2건 있습니다.

column에 unique제약이 걸려있다면 한 방에 되겠죠..

일반 insert문으로요..

하지만, 이 경우 error가 발생하는데, 이 error를 무시하는 방식으로 programming할 수 있습니다..

 

단지, 별로 추천하고 싶지 않은 방법이죠.. ^^;;

 

참고로 존재하는지 확인한 다음 값을 insert하기 위해서는 반드시 select & insert를 해야 할 것 같은데요..

그럼, select를 효율적으로 하는 방법을 강구하심이 좋을 듯..

 

그럼..

길가는 나그네..님이 2005-03-29 14:15에 작성한 댓글입니다. Edit

절차적으로 생각하다보면 해결이 안됩니다.
A테이블에 존재하지 않는 집합을 만들면 간단히 해결될거 같습니다.
예제)

--테스트용 A테이블 생성 및 값입력
create table A(
 col int
)

insert into A values (1);
go


--중복된 값을 입력해 본다.

declare @val int
set @val = 1

insert into A
select val
from (select @val val) as B
where not exists (select 'X' from A where col = val)

결과
(0개 행 적용됨)

 

A테이블에서 col = 1 인것이 존재하여 집합이 만들어 지지 않으므로 insert가 되지 않을 것입니다.

 

 

한방에...님이 2005-03-30 10:14에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1857통계 쿼리 좀 봐주십시요. [5]
참치
2005-03-30
2913
1856opendatasource()를 사용한후 세션처리방법 좀 갈켜주세요 [1]
hohan
2005-03-30
1848
1855MySql의 제로필과 같은 형식이 MS-SQL에도 있나요? [1]
이상도
2005-03-29
1902
1854데이터 입력 방법??? [2]
호기심
2005-03-29
2008
1853ms-sql ->access .mdb로 변환 하기 [1]
조휴관
2005-03-29
3291
1852SQL 7.0 에러로그 파일 관련입니다.
긴급
2005-03-29
1822
1851sp_linkedserver명령후 세션처리방법 [1]
hh
2005-03-29
1989
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.027초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다