完全可以啊。
使用到的系統表col
使用到的系統表col
解决方案 »
- oracle 中如何定时执行sqlldr导入文本数据到oracle表中
- oracle报SP2-0460错误
- --如何:查找一个表中存在而另一个表中不存在的记录--
- sql_server转到sql_server数据库的字段问题
- 程序或PL/SQL登录后一段时间就自动掉线了
- 816中JOB为何突然失效?
- 根据用户输入的表名及字段名等参数动态查询 ,用户可选多个字段
- 为什么在存储过程里不能执行CREATE ROLE语句
- 高分求救:SQL语句中如何动态改变表名来实现查询
- 高分请教: oracle 启动协议适配器出错问题,在线等待 ......(分数不够可再加,csdn怎么不让给高分)
- 通过在MSSQL中定义用户数据类型是否有助于以后将表移到Oracle来
- Oracle8i问题(100分)
return varchar2
IS TYPE c_curtype IS REF CURSOR;
c_cur c_curtype;
str STRING(2000):='';
v_tname col.tname%TYPE;
v_cname col.cname%TYPE;
result string(1000);
BEGIN
OPEN c_cur FOR SELECT tname,cname FROM col
WHERE tname=''||V_tableName||'';
LOOP
FETCH c_cur INTO v_tname,v_cname;
EXIT WHEN c_cur%NOTFOUND;
str:=''||v_cname||''||''||str;
END LOOP;
CLOSE c_cur;
str:='select '||str||' into '||result||' from '||V_tableName where '||v_condition;
execute immediate str;
return result;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
RAISE;
end SP_GetData;
/
我沒有試,你測一下吧,會出錯的地方就在str:=''||v_cname||''||''||str;
as
str varchar2(50);
begin
str:='select f1||f2||f3 from '||p_table||' where f1='||p_f1;
execute immediate str into p_rc;
end;
/
真是没想到还有col这样奇妙的系统表 :)但下面这个部分我不是很明白: str:='select '||str||' into '||result||' from '||V_tableName
where '||v_condition;
execute immediate str;
return result;改用 return str;不行吗?
我明白啦,你真聪明