如何在存储过程中定义array/collection?
How to define array/collection in stored procedure?
我有一个固定的字符串数组,我想对其进行操作。我应该如何在存储过程中声明它们?有可能吗?
CREATE OR REPLACE PROCEDURE testing AS
BEGIN
operations...
END;
我们可以像 DECLARE @v1 varchar(15) 那样声明吗?或类似的字符串集合?(PS“@”在 Oracle SQL 开发人员上抛出错误)
SQL 的新手,如果可能的话希望得到示例代码,谢谢。
你可以使用这个:
declare
type array_t is varray(3) of varchar2(2);
array array_t := array_t('aa', 'bb', 'cc');
begin
for i in 1..array.count loop
dbms_output.put_line(array(i));
end loop;
end;
我有一个固定的字符串数组,我想对其进行操作。我应该如何在存储过程中声明它们?有可能吗?
CREATE OR REPLACE PROCEDURE testing AS
BEGIN
operations...
END;
我们可以像 DECLARE @v1 varchar(15) 那样声明吗?或类似的字符串集合?(PS“@”在 Oracle SQL 开发人员上抛出错误)
SQL 的新手,如果可能的话希望得到示例代码,谢谢。
你可以使用这个:
declare
type array_t is varray(3) of varchar2(2);
array array_t := array_t('aa', 'bb', 'cc');
begin
for i in 1..array.count loop
dbms_output.put_line(array(i));
end loop;
end;