>데이터 베이스 >MySQL 튜토리얼 >저장 프로시저를 사용하여 MySQL 열 이름을 동적으로 반복하려면 어떻게 해야 합니까?

저장 프로시저를 사용하여 MySQL 열 이름을 동적으로 반복하려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-12-30 12:35:131007검색

How Can I Dynamically Iterate Through MySQL Column Names Using a Stored Procedure?

MySQL 테이블의 열 이름을 동적으로 반복

이 질문은 저장된 테이블을 사용하여 MySQL 테이블의 열 이름을 반복하는 방법을 탐색합니다. 원시 SQL로 작성된 프로시저. 목표는 열 이름 목록을 얻은 다음 각 열 이름을 변수로 기반으로 저장 프로시저를 실행하는 것입니다.

열 이름 검색

열 이름을 검색하려면 MySQL 테이블에서 SHOW COLUMNS FROM 명령. 이 명령은 이름을 포함하여 테이블의 열에 대한 정보가 포함된 결과 집합을 반환합니다.

열 이름 반복

열 이름이 검색되면 저장할 수 있습니다. 커서를 사용하여 루프에서. 커서는 결과 집합을 행 단위로 탐색할 수 있는 반복자입니다. 예는 다음과 같습니다.

DECLARE col_names CURSOR FOR
  SELECT column_name
  FROM INFORMATION_SCHEMA.COLUMNS
  WHERE table_name = 'tbl_name'
  ORDER BY ordinal_position;

이 커서는 지정된 테이블에서 열 이름을 선택하고 위치에 따라 정렬하며 커서 이름을 col_names로 지정합니다.

루프 실행

열 이름을 반복하고 저장 프로시저를 실행하려면 다음을 사용하세요. 루프:

SET i = 1;
the_loop: LOOP

  IF i > num_rows THEN
    CLOSE col_names;
    LEAVE the_loop;
  END IF;

  FETCH col_names 
  INTO col_name;     

   //do whatever else you need to do with the col name

  SET i = i + 1;  
END LOOP the_loop;

이 루프는 FETCH 문을 사용하여 다음 열 이름을 변수 col_name으로 검색합니다. 루프 내부에서는 열 이름에 따라 필요한 모든 작업을 수행할 수 있습니다.

위 내용은 저장 프로시저를 사용하여 MySQL 열 이름을 동적으로 반복하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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