호랑이 용기 사이클 MySql-- 저장 프로 시저 쿼리 결과 집합

 

 

배경 :

  Shxh40_test이 테이블 upperpolicyno, serialno, kindcode, oldregistno,이 필드 uniqueno (얻을 수있는 세트)에서 얻을, 다음주기의 값이 SQL 업데이트 데이터를 작성해야합니다.

 

 

-이 삭제 된 경우, 전 프로 시저가 이미 존재하는지 여부를 판정하는데 요구되는 저장 프로 시저를 만들기 
는 IF가 shxc40 존재 드롭 절차] 
- 저장 프로 시저 생성 
(가) CREATE PROCEDURE의 shxc40 () 
선두 
	
- 변수의 정의 
	DECLARE의 S의 INT 초기 상태 0; 
	DECLARE의 P의 VARCHAR를 ( 255) 
	DECLARE S1 VARCHAR (255) 
	DECLARE K VARCHAR (256) 
	DECLARE의 R & LT VARCHAR (256) 
	DECLARE U VARCHAR (256) 

	- 커서를 정의하고, 결과 집합은 SQL 커서에 할당 된 
	선택 FOR DECLARE 리포트 커서 upperpolicyno, SerialNo는 kindcode는 oldregistno, uniqueno는 shxh40_test에서; 

	- 커서가있는 값으로 설정되어있는 플래그 변수를 통과 한 후 선언 할 때 
	선언은에 대한 핸들러가 세트 S는 찾을 수 없음 = 계속 1;. 

	- 커서가 열릴 
	공개 보고서; 

		- 커서 변수, 참고 할당 값 : 동일한 이름을 반환하지 않는 변수 이름 및 열 이름 및 순서 가변 순서 결과 SQL하기 위해 
		페치 (P)로보고, S1, K , R, U;

		- S는 1과 동일하지 않은 경우에 이송되지 않은 때, 즉 사이클 것이다 
		그동안 S <> 1 이렇게 
			
			- 비즈니스 로직을 실행 
			SET = R & 중위 info.oldregistno, U = info.uniqueno 소통 icp_engage_shxh40 icp_claim_info_shxh40 정보 업데이트 
			정보. = engage.registno registno 
      및 info.sourceflag = '34이다 ' 
			와 info.endcasedate ='2019년 7월 15일 ' 
			및 info.upperpolicyno = P 
			및 S1 = engage.serialno 
			및 engage.kindcode = K 
			및 oldregistno가 null; 

			- (S)가 1 인 경우, 완료 루프가 종료 이송 것을 나타낸다 
			; 보고서에 P, S1, K, R & LT, U를 FETCH 
		그동안를 종료] 
	- 가까운 커서 
	확대 리포트; 
끝;

  

 

- 저장 프로 시저의 실행 
) (전화 shxc40을

 

추천

출처www.cnblogs.com/llq1214/p/11202743.html