MySQL 버전 5.0.13 이상에서는 저장 프로시저 내에서 동적 SQL을 구현할 수 있습니다.
동적 SQL 문 작성:
동적 SQL을 작성하려면 명령문에서 CONCAT() 함수는 문자열을 연결하고 SQL 문을 동적으로 생성하는 데 사용됩니다. 예는 다음과 같습니다.
SET @s = CONCAT('SELECT ',col,' FROM ',tbl );
위 예에서 @s에는 동적 SQL 문이 포함됩니다.
SELECT col FROM tbl
동적 문 준비 및 실행:
동적 SQL 문이 작성되면 준비 작업이 필요합니다. 실행됨:
PREPARE stmt FROM @s; EXECUTE stmt;
준비된 문 할당 해제:
실행 후 준비된 문을 할당 해제하여 리소스를 해제해야 합니다.
DEALLOCATE PREPARE stmt;
제한사항:
동적 SQL은 저장 프로시저에서는 지원되지만 함수나 트리거에서는 지원되지 않습니다.
예:
다음 저장 프로시저는 동적 SQL을 보여줍니다.
delimiter // CREATE PROCEDURE dynamic(IN tbl CHAR(64), IN col CHAR(64)) BEGIN SET @s = CONCAT('SELECT ',col,' FROM ',tbl ); PREPARE stmt FROM @s; EXECUTE stmt; DEALLOCATE PREPARE stmt; END // delimiter ;
위 내용은 MySQL 저장 프로시저에서 동적 SQL을 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!