#sql #oracle #oracle-sqldeveloper
#sql #Oracle #oracle-sqldeveloper
Вопрос:
У меня есть фиксированный массив строк, с которыми я хочу работать. Как я должен объявить их в хранимой процедуре? Возможно ли это вообще?
CREATE OR REPLACE PROCEDURE testing AS
BEGIN
operations...
END;
Можем ли мы объявить, как DECLARE @v1 varchar(15); или что-то подобное для сбора строки?(PS «@» выдает ошибку в Oracle SQL Developer)
Новичок в SQL, поэтому ожидаю пример кода, если это возможно, спасибо.
Комментарии:
1. Документация является хорошей отправной точкой
2. вы можете использовать varray (таблицы Plsql). Пройдите через это docs.oracle.com/cd/A97630_01/appdev.920/a96624/05_colls.htm
3. проверьте этот пример PL / SQL — Arrays , это может помочь.
Ответ №1:
Вы можете использовать это:
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;
Комментарии:
1. Hii, если я хочу получить доступ к массиву month, например,
months[] = '01-01-2020,01-02-2020,01-03-2020';
и получить доступ к каждому элементу. как это сделать.