Re: longitud tipo dato serial

From: "Hector R(dot) De los Santos " <zahory(at)gmail(dot)com>
To: Gustavo Rosso <grosso(at)sadaic(dot)org(dot)ar>
Cc: Victor Avendaño <avenda(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: longitud tipo dato serial
Date: 2010-03-22 14:38:00
Message-ID: 3efb88e61003220738p352813efj2b63e2af877fb183@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Un trigger?
Me parece que es algo demaciado simple para tener que integrarlo en un
trigger, si deseas tener ese campo tipo Varchar y rellenarlo con ceros, solo
basta hacer el lpad() en el INSERT.

Suerte!

:: HDS Consultores TI
Servidores | Redes | Programacion | GNU/Linux | PostgreSQL
Web: http://hdsconsultores.net
Blog: http://codigohds.com
Linux User #:320363

2010/3/22 Gustavo Rosso <grosso(at)sadaic(dot)org(dot)ar>

>
>
> Victor Avendaño escribió:
>
>> Parece que me expresé mal, no necesariamente necesito un tipo de datos,
>> pero sería genial que así se pudiera generar, lo que deseo es poder tener
>> algo como un character varing de longitud 3 que sea autoincrementable, osea
>> que se baya generando de la siguiente manera 001, 002, 003..... 012,013,014,
>> ... etc debido a que necesito grabar esos 3 caracteres y como serial no me
>> conserva los ceros, quizas otra solucion seria poder guardar el serial pero
>> con los ceros delante cosa que yo al traerlos o exportarlos siempre pueda
>> manipular esos 3 caracteres... me explico???
>>
>> 2010/3/22 Ing. Marcos Ortiz Valmaseda <mlortiz(at)uci(dot)cu <mailto:
>> mlortiz(at)uci(dot)cu>>
>>
>>
>> Victor Avendaño escribió:
>>
>> Buenas Lista, mi duda es:
>>
>> Hay alguna forma de crear tipo de datos serial 3 digitos o
>> mas. Me explico un campo 'codx' de tipo serial y que
>> autoincremente algo así 001, 002, 003. Según tengo entendido
>> postgres incrementa 1, 2, 3, 4, 5, 6. Se puede dar la logitud
>> o la catidad de digitos.
>>
>> Espero se haya entendido.
>>
>> Gracias
>>
>> SERIAL es un tipo de datos con un comportamiento definido; por lo
>> que tendrías que hacer un nuevo tipo de datos, no usar éste.
>> Pudieras implementar uno que se comportara como quieres, con una
>> función aparte que asigne esos valores que quieres.
>> Te dejo un ejemplo de cómo crear un tipo de datos en PostgreSQL:
>> Tomado de la documentación:
>>
>> CREATE TYPE inventory_item AS (
>> name text,
>> supplier_id integer,
>> price numeric
>> );
>>
>> Cómo usarlo:
>>
>> CREATE TABLE on_hand (
>> item inventory_item,
>> count integer
>> );
>>
>> INSERT INTO on_hand VALUES (ROW('fuzzy dice', 42, 1.99), 1000);
>>
>> Saludos
>>
>> Un trigger que llame a una funcion antes del insert?
> Saludos!
> Gustavo
>
>>
>> -- -------------------------------------------------------- -- Ing.
>> Marcos Luís Ortíz Valmaseda --
>> -- Twitter: http://twitter.com/@marcosluis2186 --
>> -- FreeBSD Fan/User --
>> -- http://www.freebsd.org/es --
>> -- Linux User # 418229 --
>> -- Database Architect/Administrator --
>> -- PostgreSQL RDBMS --
>> -- http://www.postgresql.org --
>> -- http://planetpostgresql.org --
>> -- http://www.postgresql-es.org --
>> --------------------------------------------------------
>> -- Data WareHouse -- Business Intelligence Apprentice --
>> -- http://www.tdwi.org --
>> -------------------------------------------------------- -- Ruby
>> on Rails Fan/Developer --
>> -- http://rubyonrails.org --
>> --------------------------------------------------------
>>
>> Comunidad Técnica Cubana de PostgreSQL
>> http://postgresql.uci.cu
>> http://personas.grm.uci.cu/+marcos Centro de Tecnologías de
>> Gestión de Datos (DATEC) Contacto:
>> Correo: centalad(at)uci(dot)cu <mailto:
>> centalad(at)uci(dot)cu> Telf:
>> +53 07-837-3737 +53
>> 07-837-3714 Universidad de las
>> Ciencias
>>
>> Informáticas http://www.uci.cu
>>
>>
>>
>>
>> --
>> Víctor Avendaño Fuentes.
>> Soporte Informático.
>> Fono: 65-484811
>> Móvil: 09-85263743
>> E-mail: vavenda(at)clinicapuertomontt(dot)cl <mailto:
>> vavenda(at)clinicapuertomontt(dot)cl>.
>> www.clinicapuertomontt.cl <http://www.clinicapuertomontt.cl>
>>
> --
> TIP 4: No hagas 'kill -9' a postmaster
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gustavo Rosso 2010-03-22 14:43:39 Re: longitud tipo dato serial
Previous Message (Syswarp) Carlos Enrique Perez 2010-03-22 14:12:14 Postgres como base de datos documental