I am trying to update a table in Postgres, but I get below error.
Userid
is the primary key.
CREATE OR REPLACE FUNCTION public.update_user(username character varying,
userid character varying,
roleid integer,
deptid integer,
status integer)
RETURNS integer AS
$$
BEGIN
UPDATE public."M_User" SET public."M_User".user_name = public.update_user.username,
public."M_User".user_role_id = public.update_user.roleid,
public."M_User".dept_id = public.update_user.deptid,
public."M_User".status = public.update_user.status
WHERE public."M_User".user_id = userid;
RETURN 0;
END
$$
LANGUAGE 'plpgsql';
Call:
SELECT * FROM public.update_user ('ji','gis', 123, 24, 1);
Error:
ERROR: missing FROM-clause entry for table "update_user" LINE 1: ...E public."M_User" SET public."M_User".user_name = public.upd... ^ QUERY: UPDATE public."M_User" SET public."M_User".user_name = public.update_user.username, public."M_User".user_role_id = public.update_user.roleid, public."M_User".dept_id = public.update_user.deptid, public."M_User".status = public.update_user.status WHERE public."M_User".user_id = userid CONTEXT: PL/pgSQL function update_user(character varying,character varying,integer,integer,integer) line 4 at SQL
statement SQL state: 42P01
How to resolve the issue?