为什么call 存储过程() 报错
时间: 2023-06-29 07:19:27 浏览: 189
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
在 PostgreSQL 中,`CALL` 语句并不是标准的 SQL 语法,因此 PostgreSQL 不支持使用 `CALL` 语句来调用存储过程。
相反,你应该使用 `SELECT` 语句来调用存储过程。例如,如果你要调用名为 `my_stored_proc` 的存储过程,可以使用以下语句:
```
SELECT my_stored_proc(argument1, argument2, ...);
```
其中,`argument1`、`argument2` 等是传递给存储过程的参数。
如果你仍然使用 `CALL` 语句来调用存储过程,那么它会被 PostgreSQL 解释为一条查询语句,但是由于没有指定结果集的目标,所以会报错 `query has no destination for result data`。
因此,如果你想调用存储过程并且不需要返回结果集,可以使用 `SELECT` 语句并将结果集丢弃,如下所示:
```
SELECT my_stored_proc(argument1, argument2, ...) INTO dummy_variable;
```
其中,`dummy_variable` 可以是任意变量名,用于接收结果集,但是由于不需要使用结果集,因此可以忽略它。
希望这个回答能够解决你的问题!
阅读全文