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
--
--------------------------------------------------------
-- 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: [email protected]
Telf: +53 07-837-3737
+53 07-837-3714
Universidad de las Ciencias Informáticas
http://www.uci.cu
--
TIP 7: no olvides aumentar la configuración del "free space map"