oracle如何利用存储过程查询动态表的所有字段的全部记录并利用游标fetch出来显示在控制台上?
如上所述,在事先不知道表名和对应的字段的前提下,如何利用游标把表的记录都fetch出来并显示在控制台上?万分感谢~...
如上所述,在事先不知道表名和对应的字段的前提下,如何利用游标把表的记录都fetch出来并显示在控制台上?万分感谢~
展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
1个回答
展开全部
先判断表存在与否,存在,然后就根据表名到对应的表中关联一下,然后遍历动态游标就可以了,
更多追问追答
追问
能详细说一下吗?怎么关联,而且事先是不知道有什么字段的,用动态游标怎样fetch cur into ?谢谢!
追答
DECLARE
V_COUNT NUMBER;
V_TABLENAME VARCHAR2(20):='EMP';
V_COLUMN VARCHAR2(40);
CURSOR C_COLUMN IS SELECT S.COLUMN_NAME from all_tab_columns s where s.TABLE_NAME=V_TABLENAME ;
BEGIN
SELECT COUNT(*) INTO V_COUNT FROM USER_TABLES S WHERE S.TABLE_NAME=V_TABLENAME;
IF V_COUNT=1 THEN
DBMS_OUTPUT.PUT_LINE(V_TABLENAME||' IS EXISTS');
ELSE
DBMS_OUTPUT.PUT_LINE(V_TABLENAME||' IS NOT EXISTS');
RETURN;
END IF;
OPEN C_COLUMN;
LOOP
EXIT WHEN C_COLUMN%NOTFOUND;
FETCH C_COLUMN INTO V_COLUMN;
DBMS_OUTPUT.put_line(V_COLUMN);
END LOOP;
CLOSE C_COLUMN;
END;
你自己去封装为过程,不给分,直接爆你头
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |