반응형
프로시저 호출했는데 디버깅해보니 프로시저에 들어가지도않는 이유가 뭔지 한참고민했는데
프로시저에 써준 변수선언 순서가 중요했다;;;;
변수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 |