我尝试使用下面的代码,但是它抛出了一个错误。
DECLARE TYPE INPUTVALUES IS VARRAY(5) OF VARCHAR(10);
是一种在存储过程中声明数组变量的方法。
答案 0 :(得分:2)
据我所知,关系数据库没有阵列。它们通常用于标量值。
有没有办法在存储过程中声明数组变量。
这或多或少地与你想要实现的目标相关。关于如何实现数组排序的示例可以是:
SET @myArray = 'test1,test2,test3'; -- Treat it like an array
SELECT * FROM myTable
WHERE FIND_IN_SET (columnName, @arr);
(这是针对MySQL的)
答案 1 :(得分:1)
它可能。您的代码应该像这样编写
TYPE input_values IS TABLE OF VARCHAR2 -- Associative array type
INDEX BY PLS_INTEGER; -- indexed by string
v_array input_values; -- Associative array variable
i VARCHAR2(64); -- Scalar variable
注意:
如果要在存储过程中声明一个数组变量,则不需要在内部编写
DECLARE
块。
如果您使用的是ORACLE RDBMS,它通常称为ASSOCIATIVE ARRAYS。您可以阅读更多 here