sqlstr := 'select count(*) from user_tables where table_name=''REAL''';
EXECUTE IMMEDIATE sqlstr into ls_aa ;
dbms_output.put_line(ls_aa);
EXECUTE IMMEDIATE sqlstr into ls_aa ;
dbms_output.put_line(ls_aa);
解决方案 »
- SQL command not properly ended
- 如何解决oracle xe的ODBC彻底删除问题------找不到驱动程序的安装实例
- 求助,一个SQL的查询语句怎么写,先谢过!
- ORACLE用户权限控制不起作用??建的用户只有create session权限都可以操作系统中的所有用户表?奇怪
- 如何执行.hql文件
- 大家好,对于 如下ORACLE语句,oracle 为什么删除的是client_capital表的数据?
- ORACLE里怎样调用自己写好的函数?
- 查询子句中索引有顺序吗?
- oracle 的存储过程怎么用?
- oracle8i或9i在企业管理器中导入导出数据,每次操作在作业中看都是失败!
- 我想把Sql server or Access中得数据导入到unix下得Oracle 9i中能不能做到啊??????????
- delphi7(ado) + oracle9i,oracle9i客户端程序如何分发??? 急急急!!!
declare
sqlstr varchar2(4000);
ls_aa number(6);
begin
select count(*) into ls_aa from user_tables where table_name='REAL';
dbms_output.put_line(ls_aa);
end;
这样就可以
也可以不要
你的方法固然没问题,但我想楼主既然用到了execute immediate,必然是为了构造动态的SQL语句,如表名和字段名做为变量等等,这样的话直接写是不行了吧。
sqlstr := 'select count(*) from user_tables where table_name='REAL''';
EXECUTE IMMEDIATE sqlstr into ls_aa ;
dbms_output.put_line(ls_aa);
type t_cursor is ref cursor; --声明一个游标类型
cur_CheckResult t_cursor;
v_sql varchar2(1000);
v_num int;
begin
v_sql:='select count(*) from user_tables where table_name like ''AA''' ;
open cur_CheckResult for v_sql;
fetch cur_checkresult into v_num;
close cur_CheckResult;
dbms_output.put_line(v_num);
end;