2012-05-08 4 views
0

j'ai un énorme insert en vrac qui provoque des erreurs:Afficher toutes les erreurs qui se produiront dans SQL Server

DECLARE @row_terminator CHAR; 
SET @row_terminator = CHAR(10); -- or char(10) 

DECLARE @stmt NVARCHAR(2000); 

SET @stmt = ' 
    BULK INSERT accn_billed_procedures 
    FROM ''F:\2011-Dec\accn_billed_procedures_201112062112.txt.gz'' 
    WITH 
     (
     firstrow=2, 
FIELDTERMINATOR = ''|'' , 
ROWS_PER_BATCH=10000 
    ,ROWTERMINATOR='''[email protected]_terminator+''' 
    )' 
exec sp_executesql @stmt; 
SET @stmt = ' 
    BULK INSERT accn_billed_procedures 
    FROM ''F:\2011-Dec\accn_billed_procedures_201112072112.txt.gz'' 
    WITH 
     (
     firstrow=2, 
FIELDTERMINATOR = ''|'' , 
ROWS_PER_BATCH=10000 
    ,ROWTERMINATOR='''[email protected]_terminator+''' 
    )' 
exec sp_executesql @stmt; 
SET @stmt = ' 
    BULK INSERT accn_billed_procedures 
    FROM ''F:\2011-Dec\accn_billed_procedures_201112082112.txt.gz'' 
    WITH 
     (
     firstrow=2, 
FIELDTERMINATOR = ''|'' , 
ROWS_PER_BATCH=10000 
    ,ROWTERMINATOR='''[email protected]_terminator+''' 
    )' 
exec sp_executesql @stmt; 
SET @stmt = ' 
    BULK INSERT accn_billed_procedures 
    FROM ''F:\2011-Dec\accn_billed_procedures_201112092112.txt.gz'' 
    WITH 
     (
     firstrow=2, 
FIELDTERMINATOR = ''|'' , 
ROWS_PER_BATCH=10000 
    ,ROWTERMINATOR='''[email protected]_terminator+''' 
    )' 
exec sp_executesql @stmt; 
SET @stmt = ' 
    BULK INSERT accn_billed_procedures 
    FROM ''F:\2011-Dec\accn_billed_procedures_201112102112.txt.gz'' 
    WITH 
     (
     firstrow=2, 
FIELDTERMINATOR = ''|'' , 
ROWS_PER_BATCH=10000 
    ,ROWTERMINATOR='''[email protected]_terminator+''' 
    )' 
exec sp_executesql @stmt; 

Je voudrais savoir toutes les erreurs (ou du moins un grand nombre des erreurs) qui sont la cause .

cela ne me dérange pas si cela m'oblige à tout exécuter afin d'obtenir la liste des erreurs.

Je veux juste savoir s'il est possible d'afficher toutes les erreurs qu'une instruction sql va générer dans sql server 2008?

+1

Afficher les erreurs avant même qu'elles se produisent? On dirait que la science-fiction :-) –

+0

@marc_s ce que nous faisons aujourd'hui était science-fiction il y a 10 ans –

Répondre

2

http://msdn.microsoft.com/en-us/library/ms175976.aspx

BEGIN TRY 
    -- Table does not exist; object name resolution 
    -- error not caught. 
    SELECT * FROM NonexistentTable; 
END TRY 
BEGIN CATCH 
    SELECT 
     ERROR_NUMBER() AS ErrorNumber 
     ,ERROR_MESSAGE() AS ErrorMessage; 
END CATCH 
+0

merci beaucoup !!!!!! –

+0

Cela ne montrera-t-il pas seulement la dernière erreur qui se produit? – KingOfHypocrites

Questions connexes