在oracle中动态sql语句如何执行?

hsj20041004 2006-11-16 02:21:11
如题:
declare a varchar2(100);
b number;
var_sql varchar2(100);
begin
a:='2+123-5*4/5';
var_sql:='select '|| a ||' into b from dual';
dbms_output.put_line(var_sql);
????
end;
现在我动态组成sql语句,要执行把其中 b 的值取出来得到。
说白了就是变量a是动态的,现在我想a的计算结果。
请问怎么做。
谢谢。
...全文
156 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hsj20041004 2006-11-16
  • 打赏
  • 举报
回复
谢谢。
icedut 2006-11-16
  • 打赏
  • 举报
回复
lz你的动态selects的语法不对

execute immediate <dyn_string> into 变量
using 绑定变量;
icedut 2006-11-16
  • 打赏
  • 举报
回复
declare
a varchar2(100);
b number;
var_sql varchar2(100);
begin
a:='2+123-5*4/5';
var_sql:=' select '|| a|| ' from dual';
dbms_output.put_line(to_char(var_sql));
execute immediate var_sql into b ;
dbms_output.put_line(to_char(b));
end;
hsj20041004 2006-11-16
  • 打赏
  • 举报
回复
怎么就没人了,??
hsj20041004 2006-11-16
  • 打赏
  • 举报
回复
不对,提示缺少关键字
icedut 2006-11-16
  • 打赏
  • 举报
回复
execute immediate var_sql;
dbms_output.put_line(to_char(b));

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧