系统中已安装edbplus
我想用批处理文件(test.bat)调用test.sql文件,然后test.sql文件调用数据库中的存储过程,然后将处理结果输出到日志文件但是现在出现了一些问题,我无法得到正确的返回结果,可能是test.log的语法问题,请帮我解决一下
详情如下:</p>
操作系统详情: windows server 2019
数据库版本:edb 12.3.4
测试.bat:
echo ======batch start===== >> C:\Users\Administrator\Desktop\TEST\test.log
call edbplus user/password@localhost:5444/edb @C:\Users\Administrator\Desktop\TEST\test.sql
echo return_code: %errorlevel% >> C:\Users\parasol\Desktop\TEST\test.log
echo ======batch end===== >> C:\Users\Administrator\Desktop\TEST\test.log
测试.sql:
declare
return_code number;
begin
select get_status() into return_code;
end;
/
exit return_code
数据库中的程序:</p>
CREATE OR REPLACE FUNCTION get_status()
RETURNS numeric
LANGUAGE edbspl
SECURITY DEFINER
AS $function$
v_status number;
BEGIN
v_status := 5;
RETURN v_status;
END GET_STATUS$function$
;
预期输出日志:</p>
======batch start=====
return_code: 5
======batch end=====
实际输出日志
======batch start=====
return_code: 1
======batch end=====
控制台的日志输出:</p>
Connected to EnterpriseDB 12.3.4 (localhost:5444/sis) AS enterprisedb
EDB-SPL Procedure successfully completed.
Invalid EXIT/QUIT command, try
EXIT | QUIT [SUCCESS | FAILURE | WARNING | value | sub_variable]
[COMMIT | ROLLBACK]
Disconnected from EnterpriseDB Database.