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
[EMAIL PROTECTED]
-----Original Message-----
From: Zeugswetter Andreas SB [SMTP:[EMAIL PROTECTED]]
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
---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/users-lounge/docs/faq.html