la concaténation de deux valeurs int dans postgresql

J'ai 7 valeurs entières (avec 3,1,3,4,4,5,4 chiffres respectivement) et je dois concaténer en un seul entier (j'.e 24 chiffres pas.) . J'ai essayé de faire comme ceci

create or replace function gen_id(int,int,int,int,int,int,int) returns bigint as $$
declare
    id bigint;
begin
    id = $1 * 1000000000000000000000 + $2 * 100000000000000000000 + $3 * 100000000000000000 + $4 * 10000000000000 + $5 * 1000000000 + $6 * 10000 + $7;
    return id;
end;
$$ language plpgsql;

select * from gen_id(100,1,101,1000,1001,10001,1000);  

Mais quand je l'execute, je reçois l'erreur: bigint hors de portée . Est-il un autre de meilleure façon de le faire ?
grâce

Par "concaténation", entendez-vous la concaténation de chaîne (après la coulée de façon appropriée)?

OriginalL'auteur Kumar Rajput | 2012-06-25