SQL命令未正确结束执行立即

时间:2014-05-11 21:21:09

标签: sql

我试图执行此代码,但我一直收到错误消息" SQL命令未在第14行" 第14行是"执行立即执行;"

你能帮帮我吗? Thaks。

declare 
    f varchar2(4);
    stmt varchar2(200);
    i number;
    e float;
    b float;
    d float;
    begin
    f:='f132';
    execute immediate 'select max('||f||') from testv2_2;' into e;
    execute immediate 'select min('||f||') from testv2_2;' into b;
    d:=(e-b)/20;
    stmt:='update testv2_2 set '||f||' =round('||f||'/'||d||');';
    execute immediate stmt;
    end;

1 个答案:

答案 0 :(得分:0)

分号(;)是和其他类似工具中的终止字符 - 它不是SQL语法的一部分。因此,它应该被删除。 E.g:

execute immediate 'select max('||f||') from testv2_2' into e;
execute immediate 'select min('||f||') from testv2_2' into b;