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 <mlor...@uci.cu <mailto:mlor...@uci.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: centa...@uci.cu <mailto:centa...@uci.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: vave...@clinicapuertomontt.cl <mailto:vave...@clinicapuertomontt.cl>.
www.clinicapuertomontt.cl <http://www.clinicapuertomontt.cl>
--
TIP 4: No hagas 'kill -9' a postmaster

Responder a