postgresql - How to copy bytea in postgres trigger? -


anyone can me how insert bytea table in postgres trigger?

create or replace function public.image_insert_trigger()     returns trigger $body$declare     dyn_sql text;     tbname text;     img text; begin img:=new.img; tbname:='t'||left(new.code,4); dyn_sql:='insert '||tbname||' (id,code,img) values ('||new.id||','||new.code||','||''''||img::bytea||''''||')';     execute dyn_sql; return null; end;$body$  language plpgsql volatile cost 100; alter function public.image_insert_trigger() owner postgres;  

don't use string literals, use parameters

begin   tbname :='t'||left(new.code,4);   dyn_sql := 'insert '||quote_ident(tbname)||' (id,code,img) values ($1, $2, $3)';   execute dyn_sql       using new.id, new.code, new.img;   return null; end; 

i prefer format() function define dynamic sql makes actual sql easier read (at least me)

dyn_sql := format('insert %i (id,code,img) values ($1, $2, $3)', tbname); 

Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -