Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come capire quale colonna genera un errore di overflow aritmetico all'inserimento?

Il seguente script creerebbe SELECT istruzioni per ogni colonna intera di Basetable .
Esecuzione del SELECT risultante le istruzioni dovrebbero individuare le colonne incriminate nella tua 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'