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.
>
>
>
>

Reply via email to