如何使用游标值作为字段名称使用?具体如何写?
时间:2011-12-07
来源:互联网
如何使用游标值作为字段名称使用?
现有一个存储过程,需求:从test1中取所有表字段,然后再计算每个字段=25的总记录数,把结果写入表:
create or replace procedure pro_2k1w_zd is
num1 number(10);cursor sum_fee1 is
select cname from col where lower(tname)='test1';
begin
delete from temp_ke;
for feesum in sum_fee1
loop
num1 :=1;
select count(*) into num1 FROM test1 where feesum.CNAME = '25' ;
insert into temp_ke (zdm,zdnum) values (feesum.CNAME,num1);
end loop;
end pro_2k1w_zd;
目前问题是:select count(*) into num1 FROM test1 where feesum.CNAME = '25' ; 这句没执行,应该是其中的
feesum.CNAME = '25' 写法不对,请教各位这句如何写,就是使用游标的值作为字段来使用,谢谢了!
现有一个存储过程,需求:从test1中取所有表字段,然后再计算每个字段=25的总记录数,把结果写入表:
create or replace procedure pro_2k1w_zd is
num1 number(10);cursor sum_fee1 is
select cname from col where lower(tname)='test1';
begin
delete from temp_ke;
for feesum in sum_fee1
loop
num1 :=1;
select count(*) into num1 FROM test1 where feesum.CNAME = '25' ;
insert into temp_ke (zdm,zdnum) values (feesum.CNAME,num1);
end loop;
end pro_2k1w_zd;
目前问题是:select count(*) into num1 FROM test1 where feesum.CNAME = '25' ; 这句没执行,应该是其中的
feesum.CNAME = '25' 写法不对,请教各位这句如何写,就是使用游标的值作为字段来使用,谢谢了!
作者: dxbjeremy 发布时间: 2011-12-07
把该存储过程中所用到各个表描述清楚。
每个表要描述表名、列名、类型.
每个表要描述表名、列名、类型.
作者: LuiseRADL 发布时间: 2011-12-07
table test1 两个字段如下
id number
old number
现在我想计算每个字段中值为25的记录数,然后把结果:字段名,总数写到表
temp_ke 中,temp_ke字段为
zdm varchar(10)
zdnum number
id number
old number
现在我想计算每个字段中值为25的记录数,然后把结果:字段名,总数写到表
temp_ke 中,temp_ke字段为
zdm varchar(10)
zdnum number
作者: dxbjeremy 发布时间: 2011-12-07
执行动态sql文就可以了
Execute 'insert into temp_ke (zdm,zdnum) values ('''|| feesum.CNAME ||''','|| num1 ||');'
Execute 'insert into temp_ke (zdm,zdnum) values ('''|| feesum.CNAME ||''','|| num1 ||');'
作者: townsin 发布时间: 2011-12-07
insert into temp_ke (zdm,zdnum) values (feesum.CNAME,num1);
这句没问题,有问题的是:
select count(*) into num1 FROM test1 where feesum.CNAME = '25' ;
这句,这句用到了游标的值作为字段使用
这句没问题,有问题的是:
select count(*) into num1 FROM test1 where feesum.CNAME = '25' ;
这句,这句用到了游标的值作为字段使用
作者: dxbjeremy 发布时间: 2011-12-07
没说清楚,我就是举个例子
Execute 'select count(*) into :num1 FROM test1 where '|| feesum.CNAME || '= ''25''' using num1;
具体语法还真忘了,你找找吧
Execute 'select count(*) into :num1 FROM test1 where '|| feesum.CNAME || '= ''25''' using num1;
具体语法还真忘了,你找找吧
作者: townsin 发布时间: 2011-12-07
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28