在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;
有没有办法实现这个目标?
提前致谢!
答案 0 :(得分:2)
SQL * Plus要求:
;
”字符或“/
”终止。您输入的内容是单行上的2个查询,SQL * Plus将发送给RDBMS - 然后Oracle将尝试解析作为单个查询发送的字符串,并因为它无效SQL而失败。
快速解决方法是将所有命令放在sql文件中并使用@file.sql