Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment déterminer quelle colonne génère une erreur de débordement arithmétique lors de l'insertion?

Le script suivant créerait SELECT instructions pour chaque colonne d'entiers de Basetable .
Exécuter le résultat SELECT les instructions doivent identifier les colonnes incriminées dans votre Usertable .

SELECT  'PRINT ''' 
        + sc.Name 
        + '''; SELECT MIN(CAST(' 
        + sc.Name 
        + ' AS INTEGER)) FROM Usertable'
FROM    sys.columns sc 
        INNER JOIN sys.types st ON st.system_type_id = sc.system_type_id
WHERE   OBJECT_NAME(Object_ID) = 'BaseTable'
        AND st.name = 'INT'