我正在尝试编写一个选择indiv_ids和transaction_ids的存储过程,并将它们插入到我的架构的表中。在这样做时,我想传入变量并让存储过程使用if语句根据传入的信息从不同的表中选择indiv_ids和transaction_ids。我尝试了一些变化但无法使程序工作没有错误。谢谢!
create or replace procedure myproc (name_type in varchar2, dept in number)
is begin
if name_type='promo' then insert into mytable(indiv_id,transaction_id)
---sql here;
commit;
elsif name_type='deal' then insert into mytable(indiv_id, transaction_id)
---sql here;
commit;
end if;
end;
errors: Error(8,10): PL/SQL: SQL Statement ignored,
Error(16,31): PL/SQL: ORA-00942: table or view does not exist
答案 0 :(得分:0)
请注意,name_type
变量声明为NUMBER
,但在过程体中将其与字符串进行比较:
if name_type='promo' then
这不是ORA-00942错误的原因,但无论如何它会使您的程序无法正常工作。