我有一个像这样的 sql 脚本:
@tables\run.sql;
@sequences\run.sql;
@views\run.sql;
@functions\run.sql;
@procedures\run.sql;
我有两个问题:
- 我是否需要将所有相关的脚本文件暗示到数据库中?
- 我在 PL/SQL 开发人员中执行了上面的 SQL 脚本,但不幸的是它提示了
ORA-00900
问题。为什么这样?
您指示的 sql 脚本正在尝试运行它希望在这样的目录结构中找到的其他几个 sql 脚本
run.sql (your script above)
/tables
run.sql
/sequences
run.sql
/views
run.sql
/functions
run.sql
/procedures
run.sql
你没有提到你是在 Windows 机器上还是 unix/linux 上。如果您使用的是 unix/linux,通常您会使用 sqlplus 命令行从包含顶级 run.sql(包含您上面列出的命令的目录)的目录中运行此脚本。
PLSQL 开发人员将在 Windows 上运行,所以我假设它会使用在 Windows 属性中设置为“位置”的任何目录,用于启动 plsql 开发人员(可能类似于 c:\Program Files\plsqldev 作为默认值,以便找到脚本,它会期望子目录(procedures/tables/view/sequences 等)在该目录下。
您将需要所有脚本并将子目录结构保留在运行 plsql 开发人员的 Windows 客户端计算机或 Oracle 数据库所在的数据库服务器上,以便运行上述脚本。
“我在PL/SQL developer中执行了上面的SQL脚本,但不幸提示
ORA-00900
问题,为什么会这样?”
PLSQL Developer 的魅力之一是它有许多不同类型的窗口,可以做不同的事情。听起来您正试图在 SQL 窗口中运行此脚本。而是在命令窗口中运行它,它基本上是一个 SQL*Plus 模拟器。