[Pgsql-ayuda] Sybase/PostgreSQL

Alvaro Herrera alvherre@dcc.uchile.cl
Tue, 27 May 2003 19:47:43 -0400


On Tue, May 27, 2003 at 07:34:48PM -0500, sandrigo lezcano wrote:

Sandrigo,

(Ojo, la lista doc-postgresql-es tiene que ver con traducciones de los
manuales, no con soporte...)


> en Sybase se guardan los graficos en  campos tipo "long binary"
> en PostgreSQL podria ser "bigint"  ?????

BYTEA.

> en Sybase se guardan los un  campo tipo "integer" se define de como "not
> null default autoincrement"
> en PostgreSQL "CREO" podria ser  ?????   "serial"   ????

El integer sigue siendo INTEGER; el campo con atributo autoincrement
podrias pasarlo a SERIAL.

> /*--  codigo en Sybase  -----------------------------  */
> create table imagenes
> (
>     numero_interno                integer         not null default
> autoincrement,
>     legajo                               integer        not null
>           check (legajo >= 1),
>     tipo_imagen          char   not null
>           check (tipo_imagen in ('1','2','3','9')),
>     imagen               long binary,
>     observacion          varchar(256),
>     fecha                date   not null default 'today()',
>     primary key (numero_interno)
> )

Hm.. Creo que tendria que ser

create table imagenes (
	numero_interno	serial primary key,
	legajo		integer not null check (legajo >= 1),
	tipo_imagen	"char" not null check (tipo_imagen in
			('1', '2', '3', '9')),
	imagen		bytea,
	observacion	varchar(256),
	fecha		date not null default current_timestamp::date
)

cuando insertas, omites el numero_interno:
insert into imagenes (legajo, tipo_imagen, imagen, observacion, fecha)
values (blah blah)

Esto le asigna un valor apropiado a numero_interno con el cual no
deberias jugar mucho, sobre todo porque es la llave primaria.

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"La vida es para el que se aventura"