Обсуждение: How to create a type ?

Поиск
Список
Период
Сортировка

How to create a type ?

От
Ines Klimann
Дата:
Hello,

I am trying to understand how works CREATE TYPE, but it seems to
be too difficult for me...

Can someone help me ?

I have tried this :
----------------------------------
create function personne_in(text)
returns personne
as 'select $1;'
language 'sql';

create function personne_out(text)
returns text
as 'select $1;'
language 'sql';

create type personne (
internallength = variable,
input = personne_in,
output = personne_out
);
---------------------------------
but it is full of mistakes.

Even a simple example in language 'sql' will help me.

Thanks,
Ines.


Re: How to create a type ?

От
Tom Lane
Дата:
Ines Klimann <Ines.Klimann@liafa.jussieu.fr> writes:
> I have tried this :
> ----------------------------------
> create function personne_in(text)
> returns personne
> as 'select $1;'
> language 'sql';

> create function personne_out(text)
> returns text
> as 'select $1;'
> language 'sql';

> create type personne (
> internallength = variable,
> input = personne_in,
> output = personne_out
> );
> ---------------------------------
> but it is full of mistakes.

Can't do it that way, because SQL functions can't produce or consume
the plain C strings that input/output conversion functions have to
deal with.  There's really no way to write an input or output function
except in C.
        regards, tom lane


Re: How to create a type ?

От
Jie Liang
Дата:
hope it helps.
e.g.
create function foo() returns setof varchar as '
select name from categories '
language 'sql';
db=# select foo() as name;             name               
---------------------------------recreationbusinesswebeducationquestionablesexsocialsocietyweapons/bombsmature
humorpornographytastelesscomputerhackingnuditydrugslingerie/bikiniprofanity
 
.......


Jie LIANG

St. Bernard Software
Internet Products Inc.

10350 Science Center Drive
Suite 100, San Diego, CA 92121
Office:(858)320-4873

jliang@ipinc.com
www.stbernard.com
www.ipinc.com

On Tue, 13 Feb 2001, Ines Klimann wrote:

> Hello,
> 
> I am trying to understand how works CREATE TYPE, but it seems to
> be too difficult for me...
> 
> Can someone help me ?
> 
> I have tried this :
> ----------------------------------
> create function personne_in(text)
> returns personne
> as 'select $1;'
> language 'sql';
> 
> create function personne_out(text)
> returns text
> as 'select $1;'
> language 'sql';
> 
> create type personne (
> internallength = variable,
> input = personne_in,
> output = personne_out
> );
> ---------------------------------
> but it is full of mistakes.
> 
> Even a simple example in language 'sql' will help me.
> 
> Thanks,
> Ines.
>