你好,我有,我想基于游标内选择查询包含在数据库中的某些用户名字符串(CompTblNameArry)的阵列。建立一个字符串数组在PL/SQL For循环
代码如下所示:
DECLARE
TYPE SegTblTyp IS TABLE OF mto_kgpr.pdtable_12%rowtype;
TYPE TblNameStringArry IS TABLE OF varchar2(61) INDEX BY PLS_INTEGER;
--Type TblNameStringArry is varray(100) of varchar2(61);
LoopIteration pls_integer;
CURSOR GetUserNamesCursor is
SELECT username FROM DBA_USERS WHERE USERNAME LIKE 'MTO_K%';
SegCollectionTbl SegTblTyp;
--CompTblNameArry CompTblNameArryTyp;
CompTblNameArry TblNameStringArry;
BEGIN
LoopIteration := 1;
FOR Username in GetUserNamesCursor
LOOP
DBMS_OUTPUT.PUT_LINE('Iteration: ' || LoopIteration || ' username ' || Username.Username);
-- Row Below is causing Error
--CompTblNameArry(i) = Username.Username;
LoopIteration := LoopIteration + 1;
END LOOP;
END;
什么是填充CompTblNameArry正确的语法?我正在尝试的方法不起作用:
CompTblNameArry(i)= Username.Username;
感谢, 帕特
的语法'variableNameOfTableType(指数).COLUMN:= Value'。 所以像'CompTblNameArry(i).WhatEverTheColumnIsCalled:= value'。如果it'sa简单类型varchar2'的',就像你正在使用it's'variableNameOfTableType(指数):= val',但你的'Username.Username'可能是问题的原因在这里,而不是lefthandside – SomeJavaGuy
@KevinEsche 'Username.Username'对我来说看起来很好。想想右侧需要修复 – GurV