我一直在尝试从包含多个 sql 脚本的文件夹中执行 SQL 脚本。这些脚本将创建一个完整的数据库,因此我想按顺序执行脚本,因此我编写了此代码并将其放入脚本中。
:r c:\Scripts\CREATE_TABLE1.sql -- sql file to create first table
:r c:\Scripts\CREATE_TABLE2.sql -- sql file to create second table
:r c:\Scripts\CREATE_TABLE3.sql -- sql file to create third table
它工作正常,我只需要使文件夹名称动态化,这样我们就可以通过在顶部创建一个变量来轻松更改文件夹名称,并将其与每个文件名一起使用。我探索了一些选择,但没有找到太多,最终得到了这样的结果。但这不起作用。
Declare @FolderName varchar(100)
set @FolderName='C:\Scripts\'
:r @FolderName+'CREATE_TABLE1.sql -- create first table
:r @FolderName+'CREATE_TABLE2.sql -- create second table
:r @FolderName+'CREATE_TABLE3.sql -- create third table
但它会在文件夹名称后的第一个 r 命令附近引发错误语法。有人请告诉我如何解决它或一些解决方法?