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

kesse 发布于 5 天前 sql 最后更新 5 天前 10 浏览

我试图执行这段代码,但是我总是收到一条错误消息:“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;
已邀请:

zvelit

赞同来自:

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

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