>  Q&A  >  본문

MySQL에서 2개의 프로큐더를 1개로 집계하는 방법은 무엇입니까?

거의 동일해 보이는 프로그램이 두 개 있습니다. 한 사람은 위치가격을 받아 작업을 수행하고, 다른 사람은 경험가격을 받습니다. < /p>

첫 번째:

으아아아

두 번째:

으아아아

보시다시피 WHERE 절만 변경되었습니다. MySQL에서는 이 두 프로시저를 하나로 통합할 수 있습니까? 왜냐면 똑같아 보이지만 그냥 바뀔 뿐인 프로그램이 5개 정도 있으니까요 WHERE 절이 있는데, 케이스별로 따로 프로세스를 진행하는 게 귀찮더라구요.

P粉998920744P粉998920744264일 전364

모든 응답(2)나는 대답할 것이다

  • P粉315680565

    P粉3156805652024-01-30 00:22:32

    IFNULL을 사용할 수 있습니다. experienceid_location 值并使用 NULL를 다른 값으로 전달하세요.

    매개변수가 열 이름과 다르도록 매개변수에 대한 명명 체계(여기서는 in_-접두사)를 갖는 것도 좋은 습관입니다.

    으아악

    회신하다
    0
  • P粉951914381

    P粉9519143812024-01-30 00:22:16

    예를 들어 다음을 사용할 수 있습니다.

    으아악

    제공된 경우 IN 经验 INT 设置为某个值,则应用它的条件。如果您为此参数提供 NULL,则应用 IN id_location INT 조건.

    참고 - 이제 SP에는 4개가 아닌 5개의 매개변수가 있습니다.

    추신. SP에는 단일 SQL 문이 포함되어 있으므로 BEGIN-END 및 DELIMITER가 필요하지 않습니다.

    PPS. 유사한 접근 방식을 사용하여 조건 중 하나, 둘 다를 적용하거나 둘 다 적용하지 않는 SP를 생성할 수 있습니다. 예를 들면 다음과 같습니다.

    으아악

    구매력 평가. 2개의 별도 함수를 갖고 싶지만 코드 복사본이 있는 경우(예를 들어 이러한 함수 이름은 이미 여러 코드에서 사용됨) 다음을 수행할 수 있습니다.

    으아악

    회신하다
    0
  • 취소회신하다