语句如下:
declare
v_cnt varchar2(30);
begin
execute immediate 'select upper(trim(rate)) from base where no=''010''' into v_cnt;
dbms_output.put_line(v_cnt);
end;
/
出现提示未找到变量,我试过如果不加where条件是可以的,例如
execute immediate 'select count(*) from base ' into v_cnt;请问该如何才是正确的语句,万分感谢!!!1!
declare
v_cnt varchar2(30);
begin
execute immediate 'select upper(trim(rate)) from base where no=''010''' into v_cnt;
dbms_output.put_line(v_cnt);
end;
/
出现提示未找到变量,我试过如果不加where条件是可以的,例如
execute immediate 'select count(*) from base ' into v_cnt;请问该如何才是正确的语句,万分感谢!!!1!
解决方案 »
- oracle的预编译pro*C/C++问题
- oracle创建用户时为什么用了两个表空间,请帮忙解释一下,3qU
- 关于PLSQL 文本数据导入的问题 100限制
- 解析XML文件的Oracle存储过程的问题
- 请问多表sql如何使用rownum?谢谢
- 数据表分区的问题:不同的分区对应相同表空间好还是不同表空间好?
- 启动与关闭ORACLE脚本,请大家帮忙正确的应该是怎样的。
- 高分急切求教关于"Escape"莫名报"ora-01424"错误的问题!!!
- 用develop 2000开发,打开有繁体字的程序时,怎样不出现乱码?是否要设置什么?
- 怎样使用proc*c或oci动态调用存储过程??
- 求SQL语句
- 求一句SQL语句,很急
2 v_cnt varchar2(30);
3 begin
4 --dbms_output.put_line('select upper(trim(rate)) from tab_1 where id = ''1''');
5 execute immediate 'select upper(trim(name)) from tab_1 where id = ''1''' into v_cnt;
6 dbms_output.put_line(v_cnt);
7 end;
8 /APL/SQL procedure successfully completed
execute immediate 'select upper(trim(rate)) from base where no=''010''' into v_cnt;
rate是char(15),而v_cnt是varchar2(30),所以取不到值,请问如何转换,我用了to_char都不行
可以取得数据么,怀疑单独执行都无法取得数据;
select upper(trim(rate)) into v_cnt from base where no='010';出错吗?
declare
v_cnt varchar2(30);
tmp varchar2(30);
begin
tmp:='010';
execute immediate 'select upper(trim(rate)) from base where no='||tmp||'' into v_cnt;
dbms_output.put_line(v_cnt);
end;
/
2 v_cnt varchar2(30);
3 tmp varchar2(30);
4 begin
5 tmp:='1';
6 execute immediate 'select upper(trim(name)) from tab_1 where id='||tmp||'' into v_cnt;
7 dbms_output.put_line(v_cnt);
8 end;
9 /APL/SQL procedure successfully completed没有问题啊