我正在编写一个需要执行.sql源文件的存储过程。 MySQL存储过程必须运行.sql脚本,并根据.sql文件是否存在,是否发生错误或是否存在并且执行没有错误提供返回值。任何人都可以在我的存储过程中使用正确的语法来调用.sql文件吗?它只是简单地调用myfile.sql吗?
谢谢, SID
答案 0 :(得分:0)
MySQL语言中没有命令可以读取.sql文件。 “source”关键字是MySQL命令行的内部命令。 如果要从文件执行一个 SQL命令,可以执行以下操作: 1)使用LOAD DATA INFILE命令将文件读入表中(但某些安全限制适用); 2)将该文件中的第一条记录加载到变量中; 3)从变量创建一个准备好的语句; 4)执行准备好的声明。
然而,上述程序充满了限制和问题。 第一个也是最值得注意的一个是允许执行通用代码是一种安全责任。第二个是你几乎无法控制你正在执行的是什么。
如果你真的必须,你可以使用MySQL代理(http://launchpad.net/mysql-proxy),它可以执行上述操作,在每一步都有更多的控制和灵活性。