저장 프로시저(쿼리 빌더 18)


데이터 액세스 계층은 저장 프로시저 호출을 지원합니다. 데이터베이스 저장 프로시저를 호출하려면 다음 메서드를 사용하세요.

$resultSet = Db::query('call procedure_name');
foreach ($resultSet as $result) {

}

시스템은 현재 쿼리가 저장 프로시저 호출인지 자동으로 확인하지만 프로시저 메서드를 사용하여 명시적으로 지정할 수 있습니다. 현재 쿼리를 저장 프로시저 쿼리로 지정하면 쿼리 효율성이 향상됩니다.

$resultSet = Db::procedure(true)
    ->query('call procedure_name');

저장 프로시저가 데이터 세트를 반환합니다. 저장 프로시저가 데이터를 반환할 필요가 없는 경우 실행 메서드를 사용할 수도 있습니다.

Db::execute('call procedure_name');

저장 프로시저는 입력 및 출력 매개 변수는 물론 매개 변수 바인딩 작업도 지원할 수 있습니다. .

$resultSet = Db::query('call procedure_name(:in_param1,:in_param2,:out_param)', [
    'in_param1' => $param1,
    'in_param2' => [$param2, PDO::PARAM_INT],
    'out_param' => [$outParam, PDO::PARAM_STR | PDO::PARAM_INPUT_OUTPUT, 4000],
]);

출력 매개변수 바인딩에는 PDO::PARAM_INPUT_OUTPUT을 추가로 사용해야 하며, 입력 매개변수와 매개변수를 공유할 수 있습니다.

저장 프로시저 내부에서 어떤 작업이 수행되더라도 각 저장 프로시저 호출은 쿼리로만 간주됩니다.