我在 sql 代码中找到了这一行:
@../../sql_scripts/create_tables.sql
它有什么作用?我知道这@@file.sql
意味着 file.sql 正在运行,并且@
可以在我们以后想要提供参数值时使用,但这里我@
后面跟着一个文件名。我知道有一个类似的问题,但它只涵盖@
查询。
这里@
不是 SQL 语言的一部分。它可能是 SQL 解释器的命令,可能是 Oracle SQL*Plus。
SQL*Plus 有许多单字符命令,例如@
or /
(执行缓冲 SQL),当您在文件;
中遇到它们时可能会感到困惑。.sql
@
在Oracle 9i 文档中记录。在那里你会看到与@@
.
Oracle 11g Release 2 的文档,单击 Next section 获取 @@ 参考。
允许您将@
另一个脚本导入您在 SQL*Plus 中运行的 sql 脚本。
例如,这会otherscript.sql
在指定点执行 的内容:
PROMPT about to run other script
@otherscript.sql
PROMPT finished running other script
另一个示例,这会将另一个文件的内容插入要在 SQL*Plus 中执行的语句的中间:
SELECT * FROM mytable WHERE
@predicates_for_mytable.sql
AND bla = 1;
唯一的条件是@
必须出现在该行的第一个字符处。