SQL 스크립트 실행 중 에코 출력문 사용하기
SQL 스크립트를 실행하는 도중에 메시지나 상태를 화면에 출력(에코)하려면 SELECT 문을 활용하면 됩니다. 별도의 PRINT 명령어 없이도 간단한 SELECT 구문으로 원하는 문자열을 결과 집합 형태로 표시할 수 있습니다.
기본 문법
에코 출력을 위한 기본 문법은 다음과 같습니다.
SELECT '출력할_문자열' AS '';
기본 예제
실제 쿼리를 통해 확인해 보겠습니다.
mysql> select 'This is a SQL Script' AS '';
위 쿼리의 실행 결과는 다음과 같습니다.
+----------------------+ | | +----------------------+ | This is a SQL Script | +----------------------+ 1 row in set, 1 warning (0.00 sec)
동적 데이터와 함께 활용하기
단순한 고정 문자열뿐만 아니라, concat() 함수를 사용하면 INSERT, UPDATE, DELETE 등 데이터 조작 작업의 결과를 동적으로 포함시켜 출력할 수 있습니다. 예를 들어 처리된 행(row) 수를 함께 보여주는 방식입니다.
mysql> select concat("Inserted ", row_count(), " rows successfully") AS '';실행 결과는 다음과 같습니다.
+-------------------------------+ | | +-------------------------------+ | Inserted -1 rows successfully | +-------------------------------+ 1 row in set (0.00 sec)
참고 사항
위 예제에서 -1이 출력된 이유는 row_count() 함수가 바로 직전에 실행된 DML 문의 영향을 받는 행 수를 반환하기 때문입니다. 실제 INSERT, UPDATE, DELETE 문 직후에 호출하면 실제 처리된 행 수가 정확하게 표시됩니다. 따라서 스크립트 내에서 진행 상황이나 작업 결과를 추적하고 싶다면, 각 DML 문 바로 뒤에 concat() 함수와 row_count()를 조합한 SELECT 문을 배치하는 것이 좋습니다.