我制作游戏的DB,我需要制作ID ='x'的ID表(向量)。 ID是数字。
create or replace procedure add_items
is
TYPE ID_TAB IS TABLE OF NUMBER(20);
id_eq_weapon ID_TAB;
begin
select id into id_eq_weapon from EQ where TYPE='weapon'; --ERROR HERE
for [..]
有人可以帮忙吗?
答案 0 :(得分:1)
您正在填充集合,但您的代码使用填充标量变量的语法。试试这个:
select id
bulk collect into id_eq_weapon
from EQ where TYPE='weapon';
“如何在选择后检查值?dbms_output.put_line(id_eq_weapon);没有显示任何内容”
这是一个集合:您需要引用带索引的条目,例如
for idx in id_eq_weapon.first().. id_eq_weapon.last()
loop
dbms_output.put_line(id_eq_weapon(idx));
end loop;
您可能会从阅读有关PL / SQL集合的Oracle文档中受益。 Find out more