>데이터 베이스 >MySQL 튜토리얼 >저장 프로시저를 사용하여 MySQL 열 이름을 어떻게 반복할 수 있습니까?

저장 프로시저를 사용하여 MySQL 열 이름을 어떻게 반복할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-02 21:53:43278검색

How Can I Iterate Through MySQL Column Names Using Stored Procedures?

저장 프로시저를 사용하여 MySQL 열 이름 반복

MySQL 테이블, 특히 저장된 테이블 내에서 열 이름에 액세스하고 반복해야 하는 필요성 네이티브 SQL을 사용하는 절차는 MySQL 개발자들 사이에서 공통적인 문제를 제기합니다. 이 종합 가이드에서는 커서 기반 루프를 사용하여 열 이름을 검색하고 이를 동적으로 활용하는 방법을 보여줍니다.

MySQL은 SHOW COLUMNS FROM 테이블의 열 목록을 가져오는 명령입니다. 이러한 이름을 반복하기 위해 커서 기반 루프가 사용됩니다. DECLARE 문은 col_names라는 커서를 초기화합니다. 커서는 INFORMATION_SCHEMA.COLUMNS 테이블에서 열 이름을 검색하는 SELECT 쿼리로 채워지며, 원하는 테이블 이름을 지정하고 결과를 순서대로 정렬합니다.

FOUND_ROWS() 함수를 사용하면 총 열 수 행(즉, 열 이름)은 num_rows 변수에 기록됩니다. 그런 다음 SET 문을 사용하여 루프가 시작되어 현재 반복 인덱스를 나타내는 i 변수에 1을 할당합니다.

the_loop 레이블은 루프의 시작점 역할을 합니다. IF 문은 i 인덱스가 num_rows 개수를 초과하는지 확인합니다. 그렇다면 루프가 종료되고 CLOSE col_names 문을 사용하여 커서가 닫힙니다.

루프 내에서 FETCH 문은 커서에서 다음 행을 검색하여 열 이름을 col_name 변수에 할당합니다. 그런 다음 이 값을 저장 프로시저에 매개 변수로 전달하는 등 다양한 목적으로 사용할 수 있습니다.

SET 문은 후속 반복에서 다음 열 이름으로 이동하기 위해 i 인덱스를 1씩 증가시킵니다. 모든 열 이름이 처리될 때까지 루프가 계속되어 각 열 이름이 동적으로 액세스되도록 합니다.

위 내용은 저장 프로시저를 사용하여 MySQL 열 이름을 어떻게 반복할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.