This is what I get in Oracle 8:

SQL> CREATE TABLE test (value VARCHAR (10));

Table created.

SQL> INSERT INTO test VALUES ('Mike Mascari');
INSERT INTO test VALUES ('Mike Mascari')
            *
ERROR at line 1:
ORA-01401: inserted value too large for column


SQL> quit

Of course, if the standard is ambiguous, retaining backwards 
compatibility sure would be nice.

FWIW,

Mike Mascari
mascarm@mascari.com

-----Original Message-----
From:	Zeugswetter Andreas SB [SMTP:ZeugswetterA@wien.spardat.at]
Sent:	Tuesday, April 10, 2001 6:47 AM
To:	'Peter Eisentraut'; PostgreSQL Development
Subject:	AW: [HACKERS] Truncation of char, varchar types


> Excessively long values are currently silently truncated when they 
are
> inserted into char or varchar fields.  This makes the entire notion 
of
> specifying a length limit for these types kind of useless, IMO. 
 Needless
> to say, it's also not in compliance with SQL.

To quote Tom "paragraph and verse please" :-)

> How do people feel about changing this to raise an error in this
> situation?

Can't do.

> Does anybody rely on silent truncation?

Yes, iirc the only thing you are allowed to do is issue a warning,
but the truncation is allowed and must succeed.
(checked in Informix and Oracle)

The appropriate SQLSTATE is: "01004" String data, right truncation
note that class 01 is a "success with warning".

Andreas


Tue, 10 Apr 2001 12:41:59 -0400
Mike Mascari <mascarm@mascari.com>
RE: Truncation of char, varchar types