请教一个Oracle SQL语句的问题。问题具体描述如下 20

有两个表:表1的列名不明确,分别为C1,C2,C3,C4。表2两列,一列为index,一列为colname,表2配置了表1中每一列代表什么,现在需要做一个视图,把表1的c... 有两个表:表1的列名不明确,分别为C1,C2,C3,C4。表2两列,一列为index,一列为colname,表2配置了表1中每一列代表什么,现在需要做一个视图,把表1的c1,c2,c3,c4分别替换成表2中配置的列名。 展开
 我来答
wolfy1016
2012-04-11 · TA获得超过244个赞
知道小有建树答主
回答量:353
采纳率:0%
帮助的人:293万
展开全部
用动态语句试一下。
declare
a varchar2(1000);
b varchar2(50);
cursor cur is select colname ||' '||index||',' str from 表2;
begin
a:='';
b:='';
open cur;
loop
fetch str into b;
exit when cur%notfound;
a:=a||b;
end loop;
a:=substr(a,1,length(a)-1);--去掉最后一个逗号
close cur;
execute immediat 'create or replace view view_name as select '||a||' from 表1'
end;

没有测试,大概这样的思路是能实现的。
yuanbest911
2012-04-12 · 贡献了超过135个回答
知道答主
回答量:135
采纳率:0%
帮助的人:46.3万
展开全部
其实这个呢,我个人觉得吧,如果像这样,列不是很多。就在创建视图的时候起个别名就好了,一一对应过去。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ideal_wife
2012-04-16 · TA获得超过155个赞
知道小有建树答主
回答量:208
采纳率:100%
帮助的人:112万
展开全部
动态SQL
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式