Matthias,
the easiest way is to use CHECK constraints. see example below.
Servus,
Peter
Matthias Teege wrote:
> is there any way to limit values to upper case strings?
> Somthing like:
>
> name char(15) DEFAULT (upper(name))
>
> or must I use triggers?
test=# create table bla(bb char(10) CHECK (bb =UPPER(bb)));
CREATE
test=# \d bla
Table "bla"
Attribute | Type | Modifier
-----------+---------------+----------
bb | character(10) |
Constraint: ((bb)::text = upper((bb)::text))
test=# insert into bla values ('OTTO');
INSERT 381409 1
test=# insert into bla values ('otto');
ERROR: ExecAppend: rejected due to CHECK constraint bla_bb
ERROR: ExecAppend: rejected due to CHECK constraint bla_bb
test=# select * from bla;
bb
------------
OTTO
(1 row)