Skip site navigation (1) Skip section navigation (2)

Re: longitud tipo dato serial

From: Victor Avendaño <avenda(at)gmail(dot)com>
To: "Hector R(dot) De los Santos" <zahory(at)gmail(dot)com>
Cc: Gustavo Rosso <grosso(at)sadaic(dot)org(dot)ar>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: longitud tipo dato serial
Date: 2010-03-22 18:06:50
Message-ID: a17864cc1003221106r2f78b4e3i9557f1dd3a5d8552@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Entonces seria algo así?

lpad(serial, 4, 00)

El 22 de marzo de 2010 11:09, Hector R. De los Santos
<zahory(at)gmail(dot)com>escribió:

> Seguimos hablando de lo mismo??
> No entendi que quisiste decir con esta opinion, no he recomendado un
> leguaje diferente al sql, agregar esa funcion a un insert no tiene
> nada de complejo. Aunque la verdad no recomiendo esto, lo mas sano
> seria dejar tus datos numericos y hacer el lpad cuando vayas a mostrar
> la informacion.
>
> El 22/03/10, Gustavo Rosso <grosso(at)sadaic(dot)org(dot)ar> escribió:
> > 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 <grosso(at)sadaic(dot)org(dot)ar
> >> <mailto: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> <mailto: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>
> >>         <mailto: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>
> >>         <mailto:vavenda(at)clinicapuertomontt(dot)cl
> >>         <mailto:vavenda(at)clinicapuertomontt(dot)cl>>.
> >>         www.clinicapuertomontt.cl <http://www.clinicapuertomontt.cl>
> >>         <http://www.clinicapuertomontt.cl>
> >>
> >>     --
> >>     TIP 4: No hagas 'kill -9' a postmaster
> >>
> >>
> >
>
> --
> Enviado desde mi dispositivo móvil
>
> :: HDS Consultores TI
> Servidores | Redes | Programacion | GNU/Linux | PostgreSQL
> Web: http://hdsconsultores.net
> Blog: http://codigohds.com
> Linux User #:320363
> --
> TIP 2: puedes desuscribirte de todas las listas simultáneamente
>    (envía "unregister TuDirecciónDeCorreo" a majordomo(at)postgresql(dot)org)
>



-- 
Víctor Avendaño Fuentes.
Soporte Informático.
Fono: 65-484811
Móvil: 09-85263743
E-mail: vavenda(at)clinicapuertomontt(dot)cl(dot)
www.clinicapuertomontt.cl

In response to

Responses

pgsql-es-ayuda by date

Next:From: Hector R. De los Santos Date: 2010-03-22 18:14:06
Subject: Re: longitud tipo dato serial
Previous:From: ulises gonzalezDate: 2010-03-22 17:48:24
Subject: Re: Lenguajes habilitados

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group