Buen dia.
Depende como esta escrito el insert, me parece que no todos los lenguajes compilan lpad(), por eso me parece que, salvo excepciones, las funciones de Postgres las dejaria que la realize el.
Es una opinion.
Saludos

Hector R. De los Santos escribió:
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 <gro...@sadaic.org.ar <mailto:gro...@sadaic.org.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 <mlor...@uci.cu
        <mailto:mlor...@uci.cu> <mailto: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> <mailto: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>
        <mailto:vave...@clinicapuertomontt.cl
        <mailto:vave...@clinicapuertomontt.cl>>.
        www.clinicapuertomontt.cl <http://www.clinicapuertomontt.cl>
        <http://www.clinicapuertomontt.cl>

    --
    TIP 4: No hagas 'kill -9' a postmaster


--
TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
              http://archives.postgresql.org/pgsql-es-ayuda

Responder a