Я использую PostgreSQL 9.4.7 и Python 2.7.6. Я пишу функцию plpython обновить строку в таблице пользователей и мой код, как показано ниже -Функция plpython для обновления строки не работает
CREATE FUNCTION update_user(myid int, mymail text, myname text) RETURNS text AS $$
from plpy import spiexceptions
plan=plpy.prepare("UPDATE auth_user SET email=$2, username=$3 WHERE id = $1",
["int"] ["text"]["text"])
rv=plpy.execute(plan, [myid,myemail,myusername])
return rv
$$ LANGUAGE plpythonu;
Я могу создать эту функцию успешно в Postgres БД, но в то время как я пытаюсь выполнить его с помощью следующей команды на postgres shell-
выберите update_user (1, "xyz @ xyz.com @ sifymail.com", "updatedname");
Я получаю следующее сообщение об ошибке -
ОШИБКА: колонка "[email protected]" не существует
ЛИНИЯ 1: выберите update_user (1, "[email protected]", "ад");
Может кто-нибудь указать мне, где я делаю ошибку?
спасибо. первая ошибка, которую я выяснил мгновенно, но боролся со вторым с последних нескольких часов. Мой код отлично работает с вашим предложением. – Amar