Announcement

Collapse
No announcement yet.

arithmetic overflow

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • arithmetic overflow

    Guten Morgen,

    Seit zwei Tagen treibt mich eine Fehlermeldung des SQL Servers 2005 an den Rande des Wahnsinn.

    Folgende Situation:
    Ich habe eine Source Tabelle und eine Zieltabelle mit GENAU den gleichen Datentypen. Ich mache folgenden insert:
    insert into zieltabelle select * from sourcetabelle;

    Fehler arithmetic overflow error converting numeric to data type numeric.
    Das Problem: Es gibt nicht eine Spalte mit dem Datentyp numeric.

    Wie ich inzwischen rausgefunden habe, kann der SQL Server auch alles inserten (alle rows), gibt dann den Error aus und macht einen Rollback!

    Ich wäre wahnsinnig froh wenn jemand einen Tip/Lösung hätte...

    Tausend Dank

    cakl

  • #2
    Hallo cakl,

    die Erfahrung zeigt, das der SQL Server es immer am besten weiss. Wenn "er" sagt, das passt nicht, dann ist es auch so.
    Es reicht ja schon, das ein Feld in Tabelle A als numeric(18, 1) definiert ist und im Ziel numeric(18, 0).

    Sind den auch alle Felder in der gleichen Reihenfolge definiert, das Du ja SELECT * nutzt, statt die Feldnamen explizit anzugeben?

    Lass mal von beiden Tabellen ein CREATE Script erstellen und wenn die nicht Zeichen für Zeichen identisch sind, ist eben dass das Problem.
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment

    Working...
    X