说白了,就是如何传表名、字段名到游标里面的SELECT语句中
解决方案 »
- 某两列值相同,则把数据记录合并成一条,请教怎么完成?
- 关于数据库中字段类型为date类型的问题
- 求 oracle select 语句一条,帮忙看下,谢谢
- 关于使用复合分区时表空间问题,请大神进来看看。。
- create table 失败,查询不提示没有此表,但没有查询结果返回
- 在PL/SQL上创建用户时,出现了'无效的TEMPORARY表空间标识符'的错误
- oracle查询问题
- 请问怎样设置oracle的最大连接数?谢谢!
- 如何查看数据库中的索引建立情况
- 请问一下,Oracle中将字符串转化为Int型的SQL语句是to_number(temp),请问在MYSQL里面的SQL语句该怎么写?急啊!!!
- 在ORACLE中怎样计算其需求量。如生产A需要零件X、Y、Z、L、M、N各是几个!
- date类型的数据,如何用sqlldr导入?
open cursor for strsql;
execute immediate strSql....
请教 我用你的方法,出现以下结果:
ERROR 位于第 20 行:
ORA-06550: 第 20 行, 第 5 列:
PLS-00360: 无主体的游标说明需要返回类型
ORA-06550: 第 20 行, 第 5 列:
PL/SQL: Item ignored
ORA-06550: 第 26 行, 第 11 列:
PLS-00320: 此表达式的类型说明不完整或格式错误
ORA-06550: 第 26 行, 第 6 列:
PL/SQL: Statement ignored
ORA-06550: 第 27 行, 第 15 列:
PLS-00320: 此表达式的类型说明不完整或格式错误
ORA-06550: 第 27 行, 第 9 列:
PL/SQL: SQL Statement ignored
ORA-06550: 第 28 行, 第 10 列:
PLS-00320: 此表达式的类型说明不完整或格式错误
ORA-06550: 第 28 行, 第 4 列:
PL/SQL: Statement ignored
ORA-06550: 第 38 行, 第 12 列:
PLS-00320: 此表达式的类型说明不完整或格式错误
ORA-06550: 第 38 行, 第 6 列:
PL/SQL: SQL Statement ignored1 declare
2 strdbcursor1 varchar2(50);
3 strTemp varchar2(5000);
4 recNum number(15);
5 cursor dbcursor1 is select 表编码 from testmis.zbm_dict,testmis.zfl_dict
6 where 保密级别>1 and testmis.zbm_dict.分类编码=testmis.zfl_dict.分类编码
7 and testmis.zfl_dict.数据库编码='FXHY';
8 begin
9 recNum:=0;
10 /* delete testmis.temp;*/
11 delete testmis.索引信息表;
12 open dbcursor1;
13 fetch dbcursor1 into strdbcursor1;
14 while dbcursor1%found
15 loop /* 读取表字段 */
16 declare
17 strdbcursor2 varchar2(50);
18 strsql varchar2(500);
19 strn varchar2(100);
20 cursor dbcursor2;
21 /* cursor dbcursor2 is ; */
22 begin
23 strTemp:='';
24 strn:='user_col_comments';
25 strsql:='select COLUMN_NAME from '||strn;
26 open dbcursor2 for strsql;
27 fetch dbcursor2 into strdbcursor2;
28 while dbcursor2%found loop
29
30 if strTemp is null then
31 strTemp:='cursor dbcursor3 is select '||strdbcursor2;
32 else
33 strTemp:=strTemp||','||strdbcursor2;
34 end if;
35 strTemp:=strTemp||'from '||strdbcursor1;
36 fetch dbcursor2 into strdbcursor2;
37 end loop;
38 close dbcursor2;
39 end;
40
41 fetch dbcursor1 into strdbcursor1;
42 end loop;
43 close dbcursor1;
44 end;