SQL * Plus如何在单行中执行多个查询?

时间:2017-09-13 11:16:48

标签: sql oracle oracle10g sqlplus

在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;

有没有办法实现这个目标?

提前致谢!

1 个答案:

答案 0 :(得分:2)

SQL * Plus要求:

  • 一个单个 SQL命令,由一行“;”字符或“/”终止。
  • PL / SQL块
  • SQL * Plus命令

您输入的内容是单行上的2个查询,SQL * Plus将发送给RDBMS - 然后Oracle将尝试解析作为单个查询发送的字符串,并因为它无效SQL而失败。

快速解决方法是将所有命令放在sql文件中并使用@file.sql

运行它们