프로시저 오류 문의 0 2 800

by 경상도곰남 [SQL Query] [2018.08.13 19:31:52]


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
아래의 메세지가 나타나는데 문법오류인거 같은데 잘 모르겠네요.. ㅠㅠ
고수님들의 답변 부탁드립니다.
 
서버: 메시지 156, 수준 15, 상태 1, 줄 27 키워드 'ELSE' 근처의 구문이 잘못되었습니다.
 
 
ALTER PROC [usp_JointTechnologyReviseInsert]
    @jt_idx         int,
    @intResult      int output
     
AS 
    BEGIN TRAN
 
    IF EXISTS(SELECT * FROM tbl_joint_technology_revise WHERE jt_no = @jt_idx)
        Set @intResult = 0
    ELSE
        BEGIN
            IF EXISTS(SELECT * FROM tbl_joint_technology WHERE jt_idx = @jt_idx)               
                INSERT INTO tbl_joint_technology_revise(jt_no, jt_year, jt_project, jt_part, jt_type, jt_sdate, jt_edate, jt_dt_depart, jt_dt_position, jt_dt_name, jt_dt_birthday, jt_dt_email, jt_dt_telnum, jt_dt_faxnum, jt_dt_cellnum, jt_support_money, jt_engineering_fee, jt_partner_company, jt_partner_name, jt_partner_depart, jt_partner_telnum, jt_partner_position, jt_partner_email, jt_partner_family, jt_preferential, jt_indate, jt_inuid)
                     SELECT @jt_idx, jt_year, jt_project, jt_part, jt_type, jt_sdate, jt_edate, jt_dt_depart, jt_dt_position, jt_dt_name, jt_dt_birthday, jt_dt_email, jt_dt_telnum, jt_dt_faxnum, jt_dt_cellnum, jt_support_money, jt_engineering_fee, jt_partner_company, jt_partner_name, jt_partner_depart, jt_partner_telnum, jt_partner_position, jt_partner_email, jt_partner_family, jt_preferential, jt_indate, jt_inuid FROM tbl_joint_technology WHERE jt_idx = @jt_idx
                      
                IF ( @@error > 0 )--//실패
                    begin
                        ROLLBACK TRAN;
                        Set @intResult = 2         
                    END 
                ELSE --//성공
                    begin
                        COMMIT TRAN;
                        Set @intResult = 1                         
                    END;
                              
            ELSE
                Set @intResult = 3                 
        END;   

 

by 야신 [2018.08.14 08:32:56]

If ..

Else

..

End if;

입니다


by 마농 [2018.08.17 14:28:26]

IF 문 다음에 여러줄이 오는 경우 begin ~ end 를 해줘야 하는데.
18 라인의 IF 문에 begin ~ end 가 필요해 보입니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입