• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 642
  • Last Modified:

bcp is not following the check constraint

Hi,

I have a check constraint on several columns of integers.  When I use bcp, even when the values being imported are outside the specified domain, bcp imports them in just fine.
When I use an insert statement manually, the constraints are enforced, so I don't think it's my syntax.

How can I get bcp to follow the check constraints and not go outside my desired domain?

A part of my create table statement:
num_5000   INTEGER   NOT NULL
    CHECK (num_5000 BETWEEN 0 and 708),

The bcp command for a tab delimited ASCII text file:
bcp chiptray..core_data in temp.txt /SSERVER /Usa /Pxxx /c

And finally, bcp is called from within a batch file.

Thanks.  :-)
0
atclark
Asked:
atclark
1 Solution
 
gmoriakCommented:
I'm sorry, but BCP can't be made to check constraints.

BCP is so quick because it ignores things like constraints and triggers.  You have three options as I've learned.

1.  BCP into an alternate table and create a process to transfer items to your real table.  This process (sp, insert/select,  etc.) will use the constraints.
2.  Create a process to check and report constraint violations after BCP.
3.  Say oh well and live with constraint violations or change the process that creates the input file to enforce constraints so there are no problems
0
 
atclarkAuthor Commented:
Thank you.  That's exactly the information I needed.
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now