我有一个包含以下脚本的文件:
BEGIN
...
a bunch of inserts
...
COMMIT;
EXCEPTION
WHEN OTHERS THEN ROLLBACK;
END;
当我在sqlplus中执行此操作时,我得到以下内容:
SQL> @file.sql
382
好像他没有结束这个街区。我是新手使用pl / sql和sqlplus,所以我不知道我做错了什么。
有什么想法吗?
答案 0 :(得分:9)
你需要在最后的END之后再添加一行;像这样:
/
只是斜线作为第一个字符,然后换行。
答案 1 :(得分:0)
好的,我明白了。在发布问题之前,我应该在文档中进行更好的搜索。
无论如何根据这个链接: http://download.oracle.com/docs/cd/B19306_01/server.102/b14357/ch4.htm#sthref840
SQL * Plus以与SQL命令相同的方式处理PL / SQL子程序,除了分号(;)或空行不终止并执行块。通过在新行上单独输入句点(。)来终止PL / SQL子程序。您还可以通过在新行上单独输入斜杠(/)来终止并执行PL / SQL子程序。
而不是END,你必须以/.
结束