调用.sql文件有没有比较好的参数传递方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了调用.sql文件有没有比较好的参数传递方法相关的知识,希望对你有一定的参考价值。

oracle 里面有三种参数,分别是in、in out、out
模式为in的形参对应的实际参数可以是常量或变量
模式为in out或out的形参对应的实际参数必须是变量,用于存储返回的值,
所以不能是常量或表达式

带参数的过程调用
位置表示法
调用时添入所有参数,实参与形参按顺序一一对应

名字表示法
调用时给出形参名字,并给出参数
procname(12,p_outParm=>v_var1,p_inout=>10);

例如,脚本内容为如下函数
create or replace function fun_test(p_id account.id%type,p_age out number)
--创建一个函数,带两个参数,一个默认为in,一个为out
return varchar2 --返回值类型为varchar2
is
v_name varchar2(20);--定义一个变量
begin
select nvl(name,'null'),to_number(round((sysdate-birthdate)/365),'999')
into v_name,p_age from account
where id=p_id;
--查询一个账户的姓名,和年龄,得到的结果放到 v_name,p_age
exception --自定义的异常处理
when no_data_found then --如果通过传入的p_id找不到对应的账号,进行如下处理
v_name:='null';
p_age:=0;
return v_name;
end;

如下执行,输出该函数的返回值
exec dbms_output.put_line(fun_test(1006,:a_out));
参考技术A d:\test.sql脚本如下: [sql] view plaincopy select &1 from &2; exit; 执行时这样传参数:sqlplus "scott/tiger@test" @d:\test.sql sysdate dual 注意:参数必须用&[1-9]表示,不然传不进去,会提示让手动输入参数 [sql] view plaincopy C:\>sqlpl...

如何使用参数从 Oracle PL/SQL 执行 Java jar 文件?

【中文标题】如何使用参数从 Oracle PL/SQL 执行 Java jar 文件?【英文标题】:How execute a Java jar file from Oracle PL/SQL with parameters? 【发布时间】:2013-12-11 07:59:01 【问题描述】:

我有一个定义了作业的数据库。这些作业必须调用一个 jar 文件,传递 jar 文件中的 java 类所需的一些参数。

我发现了一些示例,其中在 Oracle 11g 数据库的存储过程中加载了简单的类,但是是否可以调用 jar 文件从 pl/sql 传递参数?还有其他更好的方法吗?

我正在使用 Oracle 11g 和 Java 1.6。

提前致谢

【问题讨论】:

【参考方案1】:

如果我是对的,那么是的..放在你的脚本之前

设置定义关闭

创建或替换并解析名为....的 JAVA 源。

您的代码...

最后... /

设置定义打开

再次返回.. 或者您可以只使用编辑器 - 执行语句,而不是作为脚本执行。 希望有帮助..

【讨论】:

以上是关于调用.sql文件有没有比较好的参数传递方法的主要内容,如果未能解决你的问题,请参考以下文章

我有个SQL in 使用参数传递怎么弄?

shell脚本中执行mysql sql脚本文件并传递参数

将参数从 CMD 文件传递​​到 SQL 脚本

Java 中的值传递和参数传递

mybatis 接口绑定方案及多参数传递

python 函数参数多种传递方法