[sql] 프로시저 호출 시 반환값 받는 방법
1. OUT 매개 변수 사용하기
프로시저의 매개 변수 중 OUT 매개 변수를 사용하여 호출 후 결과 값을 받을 수 있습니다. 아래는 MySQL에서의 예시입니다.
CREATE PROCEDURE get_employee_count(out employee_count INT)
BEGIN
SELECT COUNT(*) INTO employee_count FROM employees;
END;
프로시저를 호출하고 결과 값을 받으려면 다음과 같이 해야 합니다.
CALL get_employee_count(@count);
SELECT @count as employee_count;
이렇게 하면 @count
변수에 직원 수 결과 값이 저장되고, @count
변수를 다시 SELECT 문으로 조회할 수 있습니다.
2. SELECT 문 사용하기
프로시저에서 반환하는 값을 SELECT 문으로 받을 수도 있습니다. 아래는 PostgreSQL에서의 예시입니다.
CREATE OR REPLACE FUNCTION get_employee_count()
RETURNS INT AS
$$
DECLARE
employee_count INT;
BEGIN
SELECT COUNT(*) INTO employee_count FROM employees;
RETURN employee_count;
END;
$$
LANGUAGE plpgsql;
프로시저를 호출하고 결과 값을 받으려면 다음과 같이 해야 합니다.
SELECT get_employee_count();
이렇게 하면 프로시저의 반환 값이 SELECT 문으로 바로 전달되어 조회됩니다.
3. 결과 집합 사용하기
프로시저가 반환하는 결과가 여러 개인 경우, 결과 집합을 사용하여 값을 받을 수 있습니다. 아래는 SQL Server에서의 예시입니다.
CREATE PROCEDURE get_employees
AS
BEGIN
SELECT * FROM employees;
END;
프로시저를 호출하고 결과 값을 받으려면 다음과 같이 해야 합니다.
EXEC get_employees;
이렇게 하면 프로시저가 반환하는 결과 집합이 바로 반환되어 조회됩니다.
위의 방법들은 각각의 데이터베이스 시스템에서 사용되는 방법입니다. 데이터베이스의 종류와 사용하는 언어에 따라 다른 방식을 사용해야 할 수 있으므로, 해당 데이터베이스 시스템의 공식 문서나 레퍼런스를 참고하는 것이 좋습니다.