当我尝试运行命令:
$ pdo = DB:连接(集团)→选择("exec prc_recebcobdsg("0","空","01-01-2021","27-01-2021","零")");
我的Laravel页面返回:错误码:900错误信息:ORA-00900:无效的SQL语句职位:0语句:exec prc_recebcobdsg('0', 'null','01-01-2021', '27-01-2021', 'null')绑定:[](SQL: exec prc_recebcobdsg("0","空","01-01-2021","27-01-2021","零"))
我错在哪里?
我不太了解Laravel,但我认为有两个问题。首先,exec
实际上不是Oracle语句,它只是在sqlplus和sqldeveloper和其他客户端中可用的速记。通常需要将过程调用包含在开始/结束块中。第二个问题是,存储过程的执行并不是真正的选择,因此不能使用select
方法进行连接。我相信你可以使用exec
方法。像这样的代码应该可以工作:
DB::connection($group)->getPdo()->exec("begin prc_recebcobdsg('0', 'null','01-01-2021', '27-01-2021', 'null'); end;");