我有一个存储过程,可以将参数中的值插入表中。其中一个参数应允许具有精度和小数位数的数字,以允许通过以下方式调用过程:EXECUTE operation(10, 10, 2.5)
。问题是似乎没有办法在PL / SQL中为参数定义此类内容。当我将参数的类型设置为VARCHAR2
并to_number
随后调用时,它可以工作,但是由于撇号会改变调用过程的方式。
那么,有没有办法将数字传递NUMBER(8,2)
给程序呢?提前致谢。
我不确定我是否理解问题。
怎么了
create procedure operation (par_1 in number,
par_2 in number,
par_3 in number
)
as ...
它接受(10, 10, 2.5)
。那...
示范:
SQL> create table test (a number, b number, c number);
Table created.
SQL> create or replace procedure operation
2 (par_1 in number, par_2 in number, par_3 in number)
3 as
4 begin
5 insert into test (a, b, c) values (par_1, par_2, par_3);
6 end;
7 /
Procedure created.
SQL> exec operation (10, 10, 2.5);
PL/SQL procedure successfully completed.
SQL> select * from test;
A B C
---------- ---------- ----------
10 10 2,5
SQL>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句