在另一个sql文件中调用sql文件

时间:2016-04-13 16:11:12

标签: mysql sql

我有一个带有某些参数的sql文件,我需要将其作为通用参数。

以下是C:\ sql \ main.sql中的代码库:

SET @NAME = 'XYZ'

source C:/abc.sql

我需要将所有出现的NAME替换为abc.sql文件中的XYZ。它基本上包含一组insert语句。我运行了以下命令:

mysql -u myusername -p DB < C:\sql\main.sql

但是在执行它之后抛出错误说:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SOURCE C:/abc' at line 2

我需要做的就是在C:\ sql \ main.sql中调用sql文件C:\ abc.sql,然后执行C:\ sql \ main.sql。任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:2)

我刚刚对此进行了测试,我认为您的脚本(main.sql)的唯一问题是语句不以分号结尾。

尝试在行尾添加分号:

SET @NAME = 'XYZ';

当第二个文件(@NAME)在第二个文件中执行以下操作时,我能够验证用户定义的变量abc.sql是否在范围内:

SELECT @NAME;

# Output:
XYZ