我在 oracle 中有一个存储过程,我想从 cygwin 调用该过程。这是程序
CREATE OR REPLACE PROCEDURE greetings
AS
BEGIN
dbms_output.put_line('Hello World!');
END;
我在做这个
sqlplus -s system@orcl/oracle10g<<END
execute greetings();
commit;
exit;
END
使用 SqlPlus 连接 Oracle,然后运行如下过程:
execute package_name.procedure_name (parameters...)
如果你想在 Windows shell 中调用 sqlplus:
@echo execute some_procedure | sqlplus username/password@databasename
(见这个问题)
在 Unix 上,试试这个:
echo "execute <some_procedure>" | sqlplus -s username/password@host:1521/service
sqlplus -s system/oracle10g@orcl @proc.sql 这很好用,其中 system 是我的 oracle 用户名 oracle10g 是我的通行证,orcl 是本地主机,proc.sql 是存储过程的文件名。我们必须做的是从shell转到特定目录然后执行这个脚本
尝试添加
set serveroutput on
在执行问候()之前;