개인 재정 SQL 조건 처리 방법 - 더미

SQL 조건 처리 방법 - 더미

차례:

비디오: 오라클 DB SQL 강좌 | 테이블 참조, Foreign Key, 참조 무결성 제약조건, SQLP, SQLD, 데이터베이스 실습 강의 2024

비디오: 오라클 DB SQL 강좌 | 테이블 참조, Foreign Key, 참조 무결성 제약조건, SQLP, SQLD, 데이터베이스 실습 강의 2024
Anonim

모든 SQL 문의 실행 후에 프로그램을 SQLSTATE로 볼 수 있습니다. 다음에 할 수있는 것에는 여러 가지 가능성이 있습니다. 당신이 얻는 지식으로 무엇을합니까?

  • 클래스 코드가 00 인 경우 아무 것도하지 않으려 고합니다. 원래 계획대로 진행되도록 진행합니다.

  • 01 또는 02 의 클래스 코드를 발견하면 특별한 조치를 취하는 것이 좋습니다. "경고"또는 "발견되지 않음"표시를 예상 한 경우 실행을 진행할 수 있습니다. 이러한 클래스 코드 중 하나를 예상하지 못한 경우 예상치 못한 예외를 처리하도록 설계된 프로 시저로 실행 분기를 가지기를 원할 것입니다. 그러나 예상치 못한 경고 또는 발견되지 않은 결과는 처리 할 수 ​​없습니다.

  • 다른 클래스 코드를받는다면 잘못된 것입니다. 예외 처리 절차로 이동해야합니다. 분기 할 프로시 듀어는 세 개의 서브 클래스. 자의 내용과 SQLSTATE의 두 클래스. 자의 내용에 따라 다 (니다. 서로 다른 예외가 여러 개있을 수있는 경우 서로 다른 예외가 종종 다른 응답을 요구하기 때문에 각각에 대해 예외 처리 절차가 있어야합니다.

    일부 오류를 수정하거나 대안을 찾을 수 있습니다. 다른 오류는 치명적일 수 있습니다. 누구도 죽지는 않겠지 만 결국 응용 프로그램을 종료해야 할 수도 있습니다.

핸들러 선언

복합 명령문 내에 조건 핸들러 를 넣을 수 있습니다. 조건 핸들러를 작성하려면 먼저 처리 할 조건을 선언해야합니다. 선언 된 조건은 일종의 예외 일 수도 있고, 사실 일 수 있습니다. 가능한 조건은 다음과 같습니다.

'xxyyy' 특정 SQLSTATE 값 SQLEXCEPTION

00, 01 또는 02 이외의 SQLSTATE 클래스 조건 설명 < > SQLWARNING SQLSTATE 클래스 01 NOT FOUND SQLSTATE 클래스 02 다음은 조건 선언의 예입니다. BEGIN DECLARE constraint_violation CONDITION FOR SQLSTATE VALUE '23000'; 종료;

이 예제는 현실적이지 않습니다. 일반적으로 조건이 발생할 수있는 SQL 문과 조건이 발생하면 호출되는 핸들러는 BEGIN … END 구조로 묶여 있기 때문입니다.

핸들러 액션과 핸들러 효과

핸들러를 호출하는 조건이 발생하면 핸들러에 의해 지정된 액션이 실행됩니다. 이 조치는 복합 명령문이 될 수있는 SQL 문입니다. 처리기 동작이 성공적으로 완료되면 처리기 효과가 실행됩니다.다음은 가능한 세 가지 핸들러 효과 목록입니다.

CONTINUE: 핸들러가 호출 된 명령문 바로 다음부터 실행을 계속합니다.

  • EXIT: 핸들러를 포함하는 복합 명령문 다음에 실행을 계속하십시오.

    UNDO: 복합 명령문에서 이전 명령문의 작업을 실행 취소 한 후 핸들러를 포함하는 명령문 다음에 실행을 계속하십시오.
  • 핸들러가 핸들러를 호출 한 모든 문제점을 정정 할 수 있으면 CONTINUE 효과가 적절할 수 있습니다. 핸들러가. 제점을 수정하지 않았지만 복합 명령문에 대한 변경 사항을 실행 취소 할 필요가 없으면 EXIT 효과가 적절할 수 있습니다. 복합 명령문이 실행되기 전의 상태로 데이터베이스를 리턴하려면 UNDO 효과가 적절합니다.

  • 다음 예제를 고려하십시오.

BEGIN ATOMIC DECLARE constraint_violation CONDITION FOR SQLSTATE VALUE '23000'; constraint_violation에 대한 핸들러를 해제하도록 선언 RESIGNAL; REPLACE INTO students (StudentID, Fname, Lname) VALUES (: sid,: sfname,: slname); REPLACE INTO 명단 (ClassID, Class, StudentID) VALUES (: cid,: cname,: sid); 종료;

INSERT 문 중 하나에서 제약 조건 위반이 발생하면 (예: 테이블에 이미 기본 키가 중복 된 레코드를 추가하려는 경우) SQLSTATE는 값 '23000'을 가정하므로 constraint_violation 조건을 진정한 가치.

이 조치는 핸들러가 INSERT 명령으로 테이블에 작성된 변경 사항을 실행 취소하게합니다. RESIGNAL 문은 제어를 현재 실행중인 프로 시저를 호출 한 프로 시저로 다시 이전합니다.

두 INSERT 문이 모두 성공적으로 실행되면 END 키워드 다음에 오는 문으로 실행이 계속됩니다.

ATOMIC 키워드는 핸들러의 효과가 UNDO 일 때마다 필수적입니다. 효과가 계속되거나 종료되는 핸들러의 경우는 그렇지 않습니다.
SQL 조건 처리 방법 - 더미

편집자의 선택

WordPress 링크 목록 구성 방법 - 더미

WordPress 링크 목록 구성 방법 - 더미

두 개 이상의 링크 목록을 원할 경우 워드 프레스 대시 보드. 때로는 Blogroll 제목 아래에 큰 링크 목록이있는 것은 너무 일반적이므로 링크를 추가 표제와 함께 표시하려는 경우가 있습니다. 기본적으로 ...

WordPress 블로그 용 미디어 파일 구성 방법 - 인형

WordPress 블로그 용 미디어 파일 구성 방법 - 인형

시간을 들여 블로그를 운영하면 WordPress 업 로더로 업로드 한 파일을 쉽게 잊어 버릴 수 있습니다. WordPress 미디어 라이브러리를 사용하면 어떤 파일이 업로드 폴더에 있는지 쉽게 찾을 수 있습니다. 이미 업로드 한 이미지, 비디오 또는 오디오 파일을 찾으려면 ...

검색 엔진 용 WordPress 블로그 최적화 방법 - 사람들이 찾고 싶어하는

검색 엔진 용 WordPress 블로그 최적화 방법 - 사람들이 찾고 싶어하는

귀하의 워드 프레스 블로그, 그렇지 않으면 그것을 쓰는 시간이 걸리지 않았을 것입니다. WordPress는 검색 엔진에 친숙한 환경을 조성하여 아카이브, 카테고리 및 페이지를 쉽게 탐색 할 수 있도록 해줍니다. WordPress는이 환경에 깨끗한 코드 기반을 제공하여 쉽게 업데이트 할 수 있습니다.

편집자의 선택

Access 2002에서 사라지는 기록의 수수께끼 - 더미

Access 2002에서 사라지는 기록의 수수께끼 - 더미

바로 거기! "그 문장의 핵심 단어는 동사입니다. 왜냐하면 그것은 그 기록이 지금 존재하지 않는다는 것을 나타 내기 때문입니다. 컴퓨터가 알고 있기 때문에 레코드가 어디로 갔는지 정확히 알 수 없으며 컴퓨터는 이러한 세부 사항에 대해 침묵의 코드를 가지고 있습니다. (규칙의 일부입니다 ...

데이터베이스 디자인 - 더미

데이터베이스 디자인 - 더미

여기에는 데이터베이스 디자인의 다섯 가지 계보가 있습니다. 또는 다른 데이터베이스 프로그램. 잘 설계된 데이터베이스는 데이터를보다 쉽게 ​​유지 관리합니다. 그것이 어디에 있는지, 그것이 나타나는 곳이 아닌 곳에 정보를 저장하십시오. 정보를 저장하는 곳은 정보가 나타나는 위치와 아무 관련이 없습니다. 스프레드 시트에서 원하는 위치에 정보를 입력합니다.

Access 2016에서 표 분석기를 사용하는 방법 - 인형

Access 2016에서 표 분석기를 사용하는 방법 - 인형

Access Table Analyzer는 가져온 스프레드 시트와 같이 지저분한 플랫 파일 테이블을 모든 반복적 인 데이터와 함께 사용하여 효율적인 관계형 테이블 집합으로 변환합니다. 그러나 속담처럼 약속은 깨진 약속입니다. 플랫 파일이 엄격한 규칙을 따르지 않는 한 ...

편집자의 선택

와이어 프레임을 사용하여 세 가지 글꼴 규칙을 따르십시오 계획 : 인포 그래피 - 인형을 사용하는 세 가지 글꼴 규칙을 따르십시오

와이어 프레임을 사용하여 세 가지 글꼴 규칙을 따르십시오 계획 : 인포 그래피 - 인형을 사용하는 세 가지 글꼴 규칙을 따르십시오

좋은 디자인의 향신료지만, 글꼴에 관해서라면, 현명한 디자이너는 충분히 충분한 지 알고 있습니다. 세 가지 서체를 사용하는 경우 인포 그래픽은 몸값 또는 커뮤니티 뉴스 레터처럼 보이게됩니다.

와이어 프레임 계획에 대한 전반적인 레이아웃 개념화 : Infographic - Dummies

와이어 프레임 계획에 대한 전반적인 레이아웃 개념화 : Infographic - Dummies

에 대한 전반적인 레이아웃 개념화 귀하의 인포 그래픽이 도움이 될 수 있도록 와이어 프레임에서 작업하지만 필수는 아닙니다. 정보를 수집하고 사용할 차트 및 삽화 유형에 대해 알고 있다면 전반적인 테마 또는 특정 레이아웃에 대한 몇 가지 아이디어가있을 수 있습니다. 표시된 주제 ...

와이어 프레임 계획 : 모든 다른 정보에 대한 확고한 생각을 갖고 나면 인포 그래피 - 인형 매핑 및 차단

와이어 프레임 계획 : 모든 다른 정보에 대한 확고한 생각을 갖고 나면 인포 그래피 - 인형 매핑 및 차단

귀하의 인포 그래픽에 필요한 그림 유형을 와이어 프레임에 배치하십시오. 정확한 게재 위치는이 단계에서는 중요하지 않지만 전체적인 크기와 각 그림 주위의 거리에 대한 느낌을 받기 시작해야합니다. 자리 표시 자 사용 - 대략적인 스케치 또는 더미 ...