2012-05-21 3 views
0

이것은 간단한 예약/예약 테이블에 대한 것입니다. key는 timeOfBooking 및 dateOfBooking에 대한 ID입니다.JDBC insert/update 명령에서 잘못된 점

하지만 수행하려고 할 때하지-존재하는 경우 삽입, 업데이트, 경우에 존재할이 코드를 한 번에 연결된 식별자에 대한 :

declare anId varchar[18]; 
declare aDate; 
declare aTimeStamp; 
set @anId =?; 
set @aDate=?; 
set @aTimeStamp=?; 
if (exists (select * from Booking as t where t.AnId = @anId)) 
begin update Booking set Date = @aDate and Time = @aTimeStamp where AnId= @anId end 
else begin insert into Booking (AnId, Date, Time) values(@anId , @aDate, @aTimeStamp) end ; 

나는 JDBC 층이 반환와 끝까지 오류 :

'varchar' is not a recognized CURSOR option. 

어떤 아이디어가 잘못 되었나요?

답변

2

당신은 변수 이름

declare @anId varchar(18); 
declare @aDate datetime; 
declare @aTimeStamp datetime; 
+1

유형도 제공해야합니다 위해 @을 넣어해야 생각? –

+0

로리를 수정하십시오! 신속하게 복사하여 붙여 넣기 :) –

+1

'varchar (18)'시도, 대괄호가 잘못되었습니다. –