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 4338 게시물 읽기
No. 4338
insert문 질문드립니다.
작성자
박세진(flameuser)
작성일
2008-07-21 13:37ⓒ
2008-07-21 14:47ⓜ
조회수
4,971

좌석 Table(PK:좌석번호, 열)

 ---------------------

 좌석번호 열 좌석여부 

 --------------------- 

     1        A       0

     2        A       0

     3        A       0

     1        B       0 

     2        B       0

 ---------------------


 예매 Table(PK:예매번호, PFK: 좌석번호,열) 

----------------------- 

예매번호 좌석번호 열 

----------------------- 

  1              1       A 

  1              2       A 

  1              1       B

 ------------------------ 



위의 방식대로 테이블을 작성한다고 가정할때 좌석이 예매된다면 좌석 테이블의 좌석여부를 1번으로 바꾸고

 만약 이미 예매가 되어 좌석여부가 1번일 경우 INSERT문을 거부하는 쿼리가 있을까요?? 답변 부탁드립니다.

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

if object_id ('Seat') is not null
drop table Seat
go
if object_id ('reservedSeat') is not null
drop table reservedSeat
go

 

create table Seat
( seatNo int
, seatRow char(1)
, isReserved bit
)
go

set nocount on
begin tran

insert into Seat values (1,'a',0)
insert into Seat values (2,'a',0)
insert into Seat values (3,'a',0)
insert into Seat values (4,'a',0)
insert into Seat values (5,'a',0)
commit tran

go

create table reservedSeat
(reservedNo int
,seatNo int
,seatRow char(1)
)
go

UPDATE SEAT
 SET ISRESERVED = 1
 OUTPUT INSERTED.SEATNO
  , INSERTED.SEATNO
  , INSERTED.SEATROW
 INTO RESERVEDSEAT
WHERE
 SEATNO IN (1,2,3)
 AND ISRESERVED <> 1
GO

SELECT @@ROWCOUNT
GO

-- 반드시 적용된 개수를 확인해서 COMMIT 과  ROLLBACK 처리를 해주어야 합니다.

SELECT * FROM SEAT
SELECT * FROM RESERVEDSEAT

http://cafe.naver.com/sqlmvp 
http://sqler.pe.kr
msn minsouk@hotmail.com

석이님이 2008-07-22 01:16에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
4342업데이트 트리거 질문입니다. [1]
학생
2008-07-22
4832
43405000개 이상의 최근 가격을 어떻게 가져올까요? [3]
김갑열
2008-07-21
10674
4339Select한 데이터의 Size는 어떻게 알수있죠? [1]
Kaien
2008-07-21
4322
4338insert문 질문드립니다. [1]
박세진
2008-07-21
4971
4337sql문에 관해서 질문 드립니다 [2]
정명규
2008-07-19
4675
4336이런 쿼리도 가능할까요 [1]
궁금이
2008-07-19
4562
4335MySQLIntegrityConstraintViolationException 에 대하여 [1]
sukarac
2008-07-18
11128
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다