Re: longitud tipo dato serial

From: Gustavo Rosso <grosso(at)sadaic(dot)org(dot)ar>
To: "Hector R(dot) De los Santos" <zahory(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: longitud tipo dato serial
Date: 2010-03-22 14:43:39
Message-ID: 4BA7821B.8050309@sadaic.org.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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
>
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Fernando Siguenza 2010-03-22 14:52:19 Herramienta para modelado de Base de Datos
Previous Message Hector R. De los Santos 2010-03-22 14:38:00 Re: longitud tipo dato serial