我正在尝试使用SQL计算一些数学公式,但我偶然发现了持有k数的问题。我怎么能以简单的方式握住它们,所以我可以直接访问它们,而不是将它们中的每一个都声明为单独的变量?我考虑过使用数组,但它有点太复杂了,还有什么比这更简单了吗?
代码我尝试使用不同的变量来保存数字:https://pastebin.com/mPvKCiNP
v_sum := v_first + v_second + v_third;
而不是这一行,有一段时间,并遍历所有值。我不一定需要知道值的数量,因为我总是可以通过参数传递它。
答案 0 :(得分:2)
table
类型表示无界数组(不要与关系数据表混淆)。
create or replace type number_table_type is table of number;
create or replace procedure mean (number_table_type nt) as
v_sum number := 0;
begin
for i IN nt.first..nt.last loop
v_sum := v_sum + i;
end loop;
[...]
end mean;
您可以声明表类型的实例:
nt number_table_type := number_table__type(1, 2, 3, 4);