반응형
    
    
    
  프로시저 호출했는데 디버깅해보니 프로시저에 들어가지도않는 이유가 뭔지 한참고민했는데
프로시저에 써준 변수선언 순서가 중요했다;;;;
변수a 자료형,
변수b 자료형
이렇게 써줬었는데
알고보니 변수b가 앞에 와야했던것.... 너무함 ㅠㅠㅠㅠㅠㅠ 이걸로 30분 헤맸다.
 //controller 로 가기전 js 
 
 var paramString = {
                'title':$('#title').val(),
                'content':$('#content').val()
            };
 var url = '/request/deleteContent.do';
            ajaxRequest(url,{ "paramString" : JSON.stringify(paramString)}, function (result) {
                if (result['isSuccess']) location.replace('/request/contentList.do');
                alert(result['message']);
            });
            
//해당 매퍼
    @Delete("CALL CONTENT_DELETE("+
            "#{title, mode=IN, jdbcType=INTEGER, javaType=String}"+
            ",#{content, mode=IN, jdbcType=INTEGER, javaType=String}"+
            ")")
    @Options(statementType = StatementType.CALLABLE)
    void deleteServiceReqFile(Map<String, Object> paramMap);
    
//해당 프로시저 
create PROCEDURE         "CONTENT_DELETE"
(
    /*IN*/
    TITLE                DB명.TITLE_NO%TYPE,
    CONTENT              DB명.CONTENT_NO%TYPE
)
    IS
BEGIN
        DELETE FROM DB명
        WHERE TITLE_NO=TITLE
          AND CONTENT_NO=CONTENT;
EXCEPTION
    WHEN NO_DATA_FOUND THEN
        NULL;
    WHEN OTHERS THEN
        RAISE;
END CONTENT_DELETE;
/
이런식으로  
컨트롤러 부를때 보내는 파라메터 순서 & 매퍼에 기입하는 변수 순서 & 프로시저에 기입한 변수 순서 세가지가 다 맞아야한다. 
매퍼는 틀려도되나? 정확히 어디까지가 맞아야하는지모르겠는데 확실한건 프로시저는 변수 순서를 바꿔쓰면 인식을 못한다는점이다 ㅠㅠ
또한 무결성제약조건 에러

이런식의 창이 뜨는데 어떤자식이 있는지 모를경우 빨간줄 부분을 보면 그 자식의 key 를 상냥하게 설명해준다.
그것도모르고 자식 찾는법 고민하고있었다 흑흑
728x90
    
    
  '과거 게시글' 카테고리의 다른 글
| [my sql] 프로시저 만들기 (0) | 2019.07.31 | 
|---|---|
| [JAVA] json String to List map (0) | 2019.07.10 | 
| intelliJ _ DB 사용 (인텔리제이 DB 오라클 프로시저 확인) (2) | 2019.05.23 | 
| 크롬 캐시 없애주는 확장프로그램 - cache killer (0) | 2019.05.23 | 
| [JQUERY] .find _ 어떤 요소의 하위 요소 중 특정 요소를 찾는 메서드 (0) | 2019.05.17 |