Size-specific arguments
With size-specific arguments, you declare the type and size of all input arguments, and the type and size of the return value. Specific data type size declarations are useful for error-checking of the input arguments and return values, but they can be somewhat limiting if your procedure processes strings or numerics that can vary in size when you run a query.
TEST.TESTSCH(USR)=> CREATE PROCEDURE customer(VARCHAR(20))
RETURNS INT4 LANGUAGE NZPLSQL AS
BEGIN_PROC
BEGIN
remaining text omitted for example...
Constant data type sizes can result in implicit casts, such as casting a smaller input value to fit a larger declared size. For example, it can increase the precision of a numeric or add padding to strings. If you choose too small a size, you risk loss of precision if Netezza Performance Server casts a larger input numeric to a smaller numeric or truncates input strings that exceed the input argument size.