2009-09-28 11 views
0

.sql 소스 파일을 실행해야하는 저장 프로 시저를 작성하고 있습니다. MySQL 저장 프로시 저는 .sql 스크립트를 실행하고 .sql 파일의 존재 여부, 오류가 발생했거나 오류가 존재하고 오류없이 실행되는 경우 반환 값을 제공해야합니다. 누구든지 내 저장 프로 시저에서 .sql 파일을 호출하는 데 사용할 적절한 구문에 대한 지침을 제공 할 수 있습니까? 그것은 단순히 myfile.sql을 호출합니까?다른 프로 시저 실행 여부를 평가하는 MySQL 저장 프로 시저

덕분에, 시드

답변

0

는 .SQL 파일을 읽을 MySQL의 언어에는 명령이 없습니다. "source"키워드는 MySQL 명령 줄의 내부 명령입니다. 파일에서 SQL 명령을 실행하려면 다음을 수행하면됩니다. 1) LOAD DATA INFILE 명령을 사용하여 파일로 파일을 읽습니다 (일부 보안 제한이 적용됨). 2) 해당 파일의 첫 번째 레코드를 변수에로드합니다. 3) 변수에서 준비된 명령문을 작성하십시오. 4) 준비된 명령문을 실행하십시오.

그러나 위의 절차에는 제한 사항 및 문제가 있습니다. 가장 주목할만한 첫 번째 점은 일반적인 코드의 실행을 허용하는 것이 보안 문제라는 것입니다. 두 번째 것은 당신이 수행하고있는 것에 대해 거의 통제 할 수 없다는 것입니다.

정말로 필요한 경우 각 단계에서 훨씬 더 많은 제어와 유연성으로 위의 작업을 수행 할 수있는 MySQL 프록시 (http://launchpad.net/mysql-proxy)를 사용할 수 있습니다.

+0

도움과 도움을 제공해 주셔서 감사합니다. 도와 주셔서 감사합니다 !! – SidC

+0

MySQL 프록시가 실행 가능한 솔루션이 아닌 것처럼 보입니다. 요구 사항은 .sql 파일에 포함 된 명령 일괄 처리를 실행하는 것입니다. 이 작업을 수행하는 방법에 대한 제안이 있습니까? 대신 PHP를 사용하여 솔루션을 지향해야합니까? – SidC