Robot Framework를 사용하여 SQL 스크립트가 포함된 저장 프로시저 실행
<p>데이터베이스 및 테이블 생성과 저장 프로시저 생성이 포함된 SQL 스크립트를 실행하고 싶습니다.
하지만 <strong>execute sql script</strong> 키워드를 사용하여 <strong>데이터베이스 라이브러리</strong>에서 sql 스크립트를 실행하려고 하면 다음 오류가 발생합니다. </p>
<pre class="brush:php;toolbar:false;">ProgrammingError: (1064, "SQL 구문에 오류가 있습니다. 근처에서 사용할 올바른 구문은 MariaDB 서버 버전에 해당하는 설명서를 확인하세요. 'DELIMITER $$n 만들기 또는
절차 교체 `proc_GetCustomerDetails`(n I...' at line 2")</pre>
<p>저장 프로시저 앞에 다음과 같은 <strong>구분 기호</strong>가 있습니다. </p>
<pre class="brush:php;toolbar:false;">DELIMITER $$
절차 `proc_GetCustomerDetails`(
IN CustomerNbr LONGTEXT,
IN LANG VARCHAR(5)
)
결정적
시작하다
IF Lang IS NULL THEN SET lang = "fin";;
종료하면;
SELECT * dbname.customer에서;
종료;$$
DELIMITER ;</pre>
<p>저장 프로시저 부분을 주석 처리하면 SQL 파일은 나머지 테이블 생성 문과 함께 오류 없이 실행됩니다. </p>
<p>Google에서 검색했는데 관련 질문을 찾지 못했습니다. 저장 프로시저를 호출하는 키워드가 있는 것을 확인했습니다. 하지만 테이블 생성과 저장 프로시저를 동일한 SQL 파일에 넣고 실행하고 싶습니다. 이 작업에는 MariaDB를 사용하고 있습니다. </p>
<p><strong>사용된 라이브러리</strong>: </p>
<li>pymysql</li>
- 로봇 프레임워크 데이터베이스 라이브러리
</ul>
<p>HeidiSQL을 사용하여 SQL 파일을 실행하면 저장 프로시저와 구분 기호 내에서 오류 없이 실행됩니다. 이는 SQL 오류가 없음을 의미합니다. </p>
<p><strong>이 문제를 해결하는 방법을 알려줄 수 있는 사람이 있나요? </strong></p>