개인 재정 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 조건 처리 방법 - 더미

편집자의 선택

OneNote 2013에서 메모 서식을 지정하는 방법 - 인형

OneNote 2013에서 메모 서식을 지정하는 방법 - 인형

Windows 용 OneNote에서 메모를 서식 지정하는 과정은 OneNote 2013과는 조금 다른 것입니다. 다음은 Windows 용 OneNote에서 주요 서식 지정 작업을 수행하는 방법입니다. OneNote에서 텍스트를 수정하고 조작하는 방법 Windows 용 OneNote에는 리본이 없으므로 ...

OneNote 2013에서 메모를 보내는 방법 - 간단한 방법 인

OneNote 2013에서 메모를 보내는 방법 - 간단한 방법 인

OneNote 2013과 메모를 공유하는 방법은 전자 메일 수신자 또는 Microsoft Word 또는 블로그에 파일로 보내는 것입니다. 현재 메모를 파일로 보내려면 다음과 같이하십시오. OneNote 2013에서 공유하려는 메모를 열고 선택하십시오.

OneNote 2013에서 메모를 동기화하는 방법 - 인형

OneNote 2013에서 메모를 동기화하는 방법 - 인형

OneNote 2013은 수동으로 파일을 저장하는 전체 개념 동기화하는 데 유리합니다. 자동 또는 수동으로 파일을 동기화 할 수 있습니다. 이렇게하면 파일을 관리 할 때 약간의 자유가 생깁니다. OneNote에서 자동으로 동기화하는 방법 OneNote는 노트, 섹션 등을 변경할 때마다 노트를 자동 저장합니다.

편집자의 선택

루비 인형 용 인형 치트 시트 - 인형

루비 인형 용 인형 치트 시트 - 인형

루비 온 레일스는 오픈 소스 프레임 워크입니다. 웹 사이트 및 웹 기반 데이터베이스를 구축하는 데 사용할 수 있습니다. 물론 다른 프로그래밍 언어와 마찬가지로 Ruby의 키워드와 Rail의 명명 규칙을 알아야합니다.

웹 사이트 재 설계를위한 테스트 방법론 - 새로운 웹 사이트를 구축하거나 웹 사이트 디자인을 재 설계 할 때

웹 사이트 재 설계를위한 테스트 방법론 - 새로운 웹 사이트를 구축하거나 웹 사이트 디자인을 재 설계 할 때

웹 사이트를 통해 테스트 방법론을 표준화하는 데 시간을 투자해야합니다. 하나의 테스트 방법론으로 표준화함으로써 테스트 결과를보다 정확하게 평가할 수 있습니다. 또한 테스트를 팀의 일부 직원에게 위임 할 수 있습니다. 체크리스트가 있습니다 ...

웹 사이트 호스팅을위한 열 개의 장소 - 인형

웹 사이트 호스팅을위한 열 개의 장소 - 인형

항상 좋은 질문입니다 . 요즘에는 매우 다양한 웹 서비스가 있기 때문에 웹 사이트의 정의가 문제가되고 있습니다. 따라서 여기에는 두 개의 블로깅 사이트를 포함하여 "실제"웹 사이트를 호스팅 할 수있는 10 개의 장소가 있습니다. Google Page Creator :이 유연한 페이지 생성 서비스는 ...

편집자의 선택

Mac 용 Office 2011의 스크랩북에 클립을 추가하는 방법 - 스크랩북은 하나임

Mac 용 Office 2011의 스크랩북에 클립을 추가하는 방법 - 스크랩북은 하나임

Office 2011 Toolbox 인터페이스의 중요한 탭에 대해 설명합니다. PowerPoint 슬라이드의 그림과 같은 것을 선택하고 편집 → 복사를 선택하면 해당 그림이 클립 보드로 전송됩니다. 이제 열려있는 Word 문서로 이동하여 편집 → 붙여 넣기를 선택하여 복사본을 가져올 수 있습니다.

Mac 용 Office 2011의 올바른 버전을 선택하는 방법 - 마네킹

Mac 용 Office 2011의 올바른 버전을 선택하는 방법 - 마네킹

Office 2011 for Mac 여러 버전이 제공되므로 Mac에 새로운 Word, Excel, PowerPoint 등을 설치할 때 약간의 연구가 필요합니다. Mac 용 Office 2011의 각 버전에는 다른 가격 및 다양한 응용 프로그램 및 기능 세트가 있습니다. 다음 목록은 에디션을 선택하는 데 도움이됩니다.

Mac 용 Office 2011에서 리본을 사용자 지정하는 방법 - Office 2011의 새로운

Mac 용 Office 2011에서 리본을 사용자 지정하는 방법 - Office 2011의 새로운

리본은 고정 된 화면 영역을 차지하는 크고 두꺼운 도구 모음과 같습니다. Office 2011의 첫 번째 리본 반복은 제한적인 사용자 지정 기능을 제공합니다. 리본의 오른쪽 가장자리에있는 휠을 클릭하여 리본을 사용자 정의 할 수 있습니다. 리본이 응답하지 않습니다 ...