在python中使用参数调用postgres函数

时间:2017-07-25 09:18:21

标签: python postgresql

我有一个用select_sql.sql文件编写的postgres函数,如下所示:

CREATE OR REPLACE FUNCTION select_vnf_func(IN vimid_i text) RETURNS void AS $$
BEGIN
select * from vimzoneinfo where vimid=vimid_i;
END
$$language plpgsql;

现在我从python脚本调用这个函数,如:

import os
os.system("sudo -u postgres /usr/bin/psql --d vnflafdb -f /tmp/select_sql.sql")
vim_id = "vimid1"
os.system("sudo -u postgres /usr/bin/psql --d vnflafdb -c 'SELECT select_vnf_func(vim_id::text);'")

但我收到错误: 错误:列vim_id不存在 第1行:SELECT select_vnf_func(vim_id);

这里' vim_id'是我试图传递给函数的参数。并且' vimid'是表中的实际列。 当函数调用中没有参数时,它可以工作。 请建议。

0 个答案:

没有答案