SQL*加上如何在一行中执行多个查询?

SQL*Plus how to execute multiple queries in single line?

在 SQL*Plus 中,我想在单行中执行多个 SQL 查询,例如

create table emp(name varchar2(20)); desc emp;

我试过执行这个但对我不起作用。

BEGIN OPEN :1 FOR SELECT * FROM table1; OPEN :2 FOR SELECT * FROM table2; END;

有什么办法可以做到这一点吗?

提前致谢!

SQL*Plus 期望:

  • 一个单个 SQL命令,以“;”字符或单独一行的“/”结束.
  • 一个PL/SQL块
  • A SQL*加命令

您在一行中输入了 2 个查询,SQL*Plus 将发送到 RDBMS - 然后 Oracle 将尝试解析作为单个查询发送的字符串并失败,因为它不是有效 SQL.

一个快速的解决方法是将所有命令放在一个 sql 文件中,然后 运行 使用 @file.sql