Get Row(s) in error MSSQL2005

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • ringdrossel
    New Member
    • Sep 2008
    • 2

    #1

    Get Row(s) in error MSSQL2005

    Hi, I have a allready a try catch block around my sql execution (T-SQL) code.

    1) Now in case of an error the server writes something like "could not insert duplicate key..." etc. Now it would be a tremendous help to know which row gave the error i.e. by returning the ID or the data of the columns in question.



    2) Think this will probably not work but ... furthermore is there a way to get all of the problematic rows in question?
  • ck9663
    Recognized Expert Specialist
    • Jun 2007
    • 2878

    #2
    Where is the data coming from?

    If it's coming from a table, do a
    Code:
    SELECT YOURKEY, count(*) FROM SOURCETABLE
    GROUP BY YOURKEY HAVING COUNT(*) > 1

    You'll see those rows that has duplicate keys.

    -- CK

    Comment

    • ringdrossel
      New Member
      • Sep 2008
      • 2

      #3
      Originally posted by ck9663
      Where is the data coming from?

      If it's coming from a table, do a
      Code:
      SELECT YOURKEY, count(*) FROM SOURCETABLE
      GROUP BY YOURKEY HAVING COUNT(*) > 1

      You'll see those rows that has duplicate keys.

      -- CK
      Thanks but I would like to display the rows in error when the error occurs - it could also be a foreignKey that needs to be inserted or a column that can't be null etc. So what I would like is to just return the values that caused the error - if this is possible.

      The source is a db table, yes.

      Comment

      • ck9663
        Recognized Expert Specialist
        • Jun 2007
        • 2878

        #4
        If the error is a duplicate key, it's not a foreign key relationship problem.

        If you really need to, try creating an INSTEAD OF TRIGGER. And direct the INSERTED table into a physical table.

        -- CK

        Comment

        Working...