该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
大家好,存储过程,需要查询一个表,但是这个表名是通过传来的参数得到的变量,请问,如何select from 该表?
create procedure proc(
id number
) as
tb_name varchar2(30);
begin
tb_name :='event_usage_c_'||id;
create table tab as
select BILLING_NBR,
charge1 charge,
ACCT_ITEM_TYPE_ID1 ACCT_ITEM_TYPE_ID,
to_char(START_TIME, 'yyyy-mm-dd') "START_DATE"
from tb_name
where ACCT_ITEM_TYPE_ID1 > 0
union
select BILLING_NBR,
charge2 charge,
ACCT_ITEM_TYPE_ID2 ACCT_ITEM_TYPE_ID,
to_char(START_TIME, 'yyyy-mm-dd') "START_DATE"
from tb_name
where ACCT_ITEM_TYPE_ID2 > 0
union
select BILLING_NBR,
charge3 charge,
ACCT_ITEM_TYPE_ID3 ACCT_ITEM_TYPE_ID,
to_char(START_TIME, 'yyyy-mm-dd') "START_DATE"
from tb_name
where ACCT_ITEM_TYPE_ID3 > 0
union
select BILLING_NBR,
charge4 charge,
ACCT_ITEM_TYPE_ID4 ACCT_ITEM_TYPE_ID,
to_char(START_TIME, 'yyyy-mm-dd') "START_DATE"
from tb_name
where ACCT_ITEM_TYPE_ID4 > 0;
end;
这里的tb_name就是一个变量,编译不通过,请问如何正确得出需求?