> > > 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" :-)
>
> SQL 1992, 9.2 GR 3 e)
>
> """
> If the data type of T is variable-length character string and
> the length in characters M of V is greater than the maximum
> length in characters L of T, then,
>
> Case:
>
> i) If the rightmost M-L characters of V are all <space>s, then
> the value of T is set to the first L characters of V and
> the length in characters of T is set to L.
>
> ii) If one or more of the rightmost M-L characters of V are
> not <space>s, then an exception condition is raised: data
> ^^^^^^^^^
> exception-string data, right truncation.
> """
Thank you. Is an "exception condition" necessarily an error, or
is a warning also an exception condition ?
> Similarly in SQL 1999 and for other data types.
>
> > > How do people feel about changing this to raise an error in this
> > > situation?
> >
> > Can't do.
>
> Why not?
Because other db's only raise a warning. Of course we don't want to
copy that behavior if they are not conformant. See above question.
Andreas