2016-10-18 16:42 GMT+02:00 Saïd Assemlal <said.assem...@gmail.com>: > I am writing database functions with plpgsql. (I am using Postgresql 9.4 > with centos 6) > > Here an example on what I would like to improve: > > CREATE OR REPLACE FUNCTION usp_locking_trial(p_trial_code VARCHAR(50), > p_trial_key VARCHAR(500)) > RETURNS TEXT AS $$ > DECLARE > BEGIN > IF is_empty_or_null(p_trial_code) THEN > RAISE EXCEPTION 'trial code argument is empty/null.'; > END IF; > > IF is_empty_or_null(p_trial_key) THEN > RAISE EXCEPTION 'trial key argument is empty/null'; > END IF; > .................. > > END; > $$ LANGUAGE plpgsql; > > I have many functions where I check if the arguments are null or empty. > This code is repetitive and could be the almost the same between functions. > > For a given example: a function who takes all input arguments and it > checks one by one if it's null and raise an exception with the name of the > argument. > > Would it be a good idea ? > some smarter (generic) function can be written in C language (you should to use polymorphics type "any"). With plpgsql you cannot do enything else what you do.
Regards Pavel > Thanks. > Le 2016-10-17 à 3:09 PM, Raymond O'Donnell a écrit : > > On 17/10/16 16:40, said assemlal wrote: > > Hello, > > I am looking for a way to test generically input arguments to raise an > exception if one is either null or empty. > > I was thinking to create a function who takes an array to check them but > not sure if it's really good. > > > It's not clear what you want to do here. Can you explain in more detail? > > What do you mean by "input arguments"? Are you writing functions in the > database? If so, which language? Some examples of what you've tried so far > would help too. > > Ray. > > > >