URX_GTIN._urx_utils_calculate_max_column_length(_table_name character varying) - Procedure
Home|Tables|Schemas|Diagrams|Foreign Keys|Indexes

NameURX_GTIN._urx_utils_calculate_max_column_length(_table_name character varying)
Comment
Src
CREATE FUNCTION "URX_GTIN"."_urx_utils_calculate_max_column_length"(_table_name character varying) 
 RETURNS void AS 
$BODY$
	DECLARE
		_record RECORD;
		_number INTEGER;
	BEGIN
		SET search_path = "URX_GTIN", pg_catalog;
		FOR _record IN
			SELECT 
				column_name, 
				LOWER(data_type) AS data_type
			FROM information_schema.columns
			WHERE table_name = _table_name
			ORDER BY column_name
		LOOP
			IF _record.data_type = 'character varying' THEN
				EXECUTE FORMAT('SELECT MAX(LENGTH(%s)) FROM %s', _record.column_name, _table_name) INTO _number;
				RAISE NOTICE 'O tamanho sugerido para o campo ''%'' é de ''%'' caracteres.', _record.column_name, CAST(_number AS VARCHAR);
			END IF;
		END LOOP;
	END;
$BODY$
 LANGUAGE 'plpgsql' VOLATILE;