oracle动态表名查询 如何写sql语句或者存储过程实现: 根据某张表中的某个字段的值决定查询哪一张表 20
有表A,B,C表A结构IDFLAG10213040首先根据ID查表A,得到一个flag的值,如果值为0,要求查表B得到该结果集,若值为1,要求得到C表的结果集...
有表A,B,C
表A结构
ID FLAG
1 0
2 1
3 0
4 0
首先根据ID查表A,得到一个flag的值,如果值为0,要求查表B得到该结果集,若值为1,要求得到C表的结果集 展开
表A结构
ID FLAG
1 0
2 1
3 0
4 0
首先根据ID查表A,得到一个flag的值,如果值为0,要求查表B得到该结果集,若值为1,要求得到C表的结果集 展开
5个回答
展开全部
begin
for cur in(select id,flag fromu a)
loop
if cur.flag=0 then
select * from b;
...
else
select * from C;
...
end if;
end loop;
end;
for cur in(select id,flag fromu a)
loop
if cur.flag=0 then
select * from b;
...
else
select * from C;
...
end if;
end loop;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用动态语句
或试试这样行不行
select * from decode(select flag from a where id=1,0,(select * from b),1,(select * from c))
或试试这样行不行
select * from decode(select flag from a where id=1,0,(select * from b),1,(select * from c))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
declare
as_flag varchar2(10);
as_sql varchar2(300);
begin
select FLAG into as_flag from A where ID = 1;
if as_flag = '0' then
select * from b where ....;
else
select * from C where ....;
end if;
end;
as_flag varchar2(10);
as_sql varchar2(300);
begin
select FLAG into as_flag from A where ID = 1;
if as_flag = '0' then
select * from b where ....;
else
select * from C where ....;
end if;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
declare
as_flag varchar2(10);
as_sql varchar2(300);
begin
select FLAG into as_flag from A where ID = 1;
if as_flag = '0' then
insert into 结果表(xx..xx) select xx..xx from b where ....;
else
insert into 结果表(xx..xx) select xx..xx from c where ....;
end if;
end;
as_flag varchar2(10);
as_sql varchar2(300);
begin
select FLAG into as_flag from A where ID = 1;
if as_flag = '0' then
insert into 结果表(xx..xx) select xx..xx from b where ....;
else
insert into 结果表(xx..xx) select xx..xx from c where ....;
end if;
end;
更多追问追答
追问
insert into 结果表(xx..xx) select xx..xx from c where ....;
结果表(xx..xx)代表什么,后面为什么又跟着select
追答
字段名称,insert ……select 语法
将select后面查询的数据插入到前面的insert 表中~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上面面答案不对,直接select是select不出来结果集的,可以通过游标提取数据放出record,逻辑正确
更多追问追答
追问
那应该怎么弄游标提取数据
追答
你b表,c表的结构是什么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询