1:如何执行存贮过程?
  我在sqlplus worksheet中想运行一个存贮过程,形如exec p1('000','002'),提示无效的sql语句,后改成execute和execute immediate,同样提示无效的sql语句。另外,我这个存贮过程的参数全是in参数。
2:如何在sqlplus worksheet中执行批量的sql语句。例如:我在开发时,将平时创建的存贮过程的语句都放在一个文件中,在分发时或者另外创建一个空的数据库时,重新执行一下这个文件的语句。在文件中,各个存贮过程的语句是用;分隔的,形如:
create or replace procedure p1
...
end p1;create or replace procedure p2
...
end p2;
但在sqlplus worksheet执行时,不能一起执行,而必须一个过程一个过程的执行。同样,我的一些插入初始化数据的sql语句,形如:
insert into a(...) values(...);
insert into ..... ;
insert into ....;
这些语句也不能一起执行,而只能分开一条一条的执行。后来,我把分隔用的;号给去掉了,如:insert into .....
          insert into ....
也不能执行。
是不能批量执行还是分隔符不是用";"号?
现在这个问题搞得我有点头大,新建一个数据库时,建表、建过程、插初始化数据等,必须一个一个的执行,建好一个初始的数据库,半天时间就去了。3:为什么oracle把空字符串给我强制设为null了?
在表中的字符形字段中,oracle始终把空字符串设为null,例如:insert into a(f1) values('');最后,相应行的f1这个字段的值为null.而用nvl(f1,'')返回的值也是null,搞得我将这个字段做为条件字段时出了不少问题。
请问是我的oracle那里设置有问题吗?