是否可以从另一个sql脚本中的存储过程中调用sql脚本?

我想用。像这样从存储的过程中调用sql脚本…

delimiter ///

create procedure append_procedure()

BEGIN

\. test.sql;

END; ///

delimiter ;

我收到“无法打开’test.sql;’的消息” 我以这种方式运行时出错。我也尝试过!但随后出现权限被拒绝错误。但是,我无法消除;;

或整个事情坏了。有没有解决的办法?

我究竟做错了什么?

回答:

mysql客户端内置了一组命令。它们记录在“

mysql命令 ”

下。这些包括DELIMITER,SOURCE,HELP,CONNECT,USE,QUIT等。

\.(或SOURCE)命令是这些建宏之一。

就像试图使用C从C程序运行内置的UNIX shell一样execl()

在网络浏览器中可能有不同的类比,您可以在其中键入about:由浏览器应用本身处理的特殊请求,例如“ ”;这些不会导致对远程网站的任何HTTP请求。

另外,如果可以从存储过程中获取脚本也无济于事,因为脚本本身可能包含一堆由mysql客户端内置的命令,因此无法由存储过程运行。


另请参阅我对以下相关问题的回答:

  • 在PHP中运行MySQL * .sql文件
  • 从PHP内加载.sql文件
  • PHP:在一个mysql_query语句中进行多个SQL查询

以上是 是否可以从另一个sql脚本中的存储过程中调用sql脚本? 的全部内容, 来源链接: utcz.com/qa/404788.html

回到顶部