2011-05-09 2 views
0

내 JSP 페이지에 대한 삭제 기능을 쓰고 있는데 사용자가 테이블에서 특정 열만 삭제할 수 있기를 원하기 때문에 몇 가지 문제가 있습니다. 열. 내 JSP 페이지는 4 개의 테이블을 가지고 있으며, 사용자는 그 중 하나에서 삭제할 수 있습니다 ("if 문"을 참고하십시오). 나는 여기에있는 것이 틀 렸지만 내 시도라고 알고 있습니다. 어떤 도움이 인정 될 것입니다. 또한 서블릿에서이 중 일부를 처리하는 것이 더 나을 것 같으면 저에게 알려주세요.DELETE 함수 도움말 및 열 삭제하기

BEGIN 

-- If a deletion is checked on the Lost/Found table. 

    IF pLfEdit IS NOT NULL 
THEN 

    ALTER TABLE BSSS 
    DROP COLUMN LOST_FOUND 
    DROP COLUMN LOST_LOC 
    WHERE EDIT_ID = pLfEditDel; 
ELSE 
    RAISE NO_DATA_FOUND; 
END IF; 

-- If a deletion is checked on the Returned Check table. 
    IF pRcEdit IS NOT NULL 
THEN 

    ALTER TABLE BSSS 
    DROP COLUMN RETURN_CHECK 
    DROP COLUMN RETURN_LOC 
    WHERE EDIT_ID = pRcEditDel; 
ELSE 
    RAISE NO_DATA_FOUND; 
END IF; 

-- If a deletion is checked on the Sponsor table. 
    IF pSpnEdit IS NOT NULL 
THEN 

    ALTER TABLE BSSS 
     DROP COLUMN SPONSOR 
     DROP COLUMN SPON_LOC 
    WHERE EDIT_ID = pSpnEditDel; 
ELSE 
    RAISE NO_DATA_FOUND; 
END IF; 

-- If a deletion is checked on the Comments table. 
    IF pComEdit IS NOT NULL 
THEN 

    ALTER TABLE BSSS 
     DROP COLUMN COMMENTS 
    WHERE EDIT_ID = pComEditDel; 
    ELSE 
    RAISE NO_DATA_FOUND; 
    END IF; 

COMMIT; 
RETURN 0; 
EXCEPTION 
WHEN OTHERS 
THEN 
    ROLLBACK; 
    RETURN SQLCODE; 
END DEL_BS_INFO; 
+1

데이터베이스 작업을 JSP에서 직접 수행하면 안됩니다. JPA를 사용하고 싶을 것입니다. http://www.oracle.com/technetwork/articles/javaee/jpa-137156.html –

+0

@Matt Ball, 서블릿에서 처리하는 방법을 알지 못했기 때문에이 기능을 시도했습니다. 제안? 아니면 다른 게시물을 만들어야합니까? – Dan

+0

"기능"이란 무엇입니까? –

답변

2

DML과 DDL의 개념을 혼합합니다. DDL (예 : ALTER TABLE)은 시스템 변경 및 유지 관리를위한 것이며 일반적으로 DBA가 수행합니다. DML (예 : SELECT, INSERT, DELETE, COMMIT)은 애플리케이션에서 수행 한 트랜잭션을 나타냅니다.

난 테이블에서 열을 삭제하고 싶지 않지만 일부 행의 개별 열에서 값을 지우고 싶다고 생각합니다. 당신이 원하는 것은 NULL로 설정하는 것입니다. 예 :

IF pLfEdit IS NOT NULL 
THEN 
    UPDATE BSSS 
    SET LOST_FOUND = NULL, 
     LOST_LOC = NULL 
    WHERE EDIT_ID = pLfEditDel; 
ELSE 
    RAISE NO_DATA_FOUND; 
END IF; 
+0

네,이 작품은 .... 그리고 당신은 내 혼란에 대해 옳았다. 고맙습니다! – Dan