Solved

SSIS: insert AND delete rows

Posted on 2007-11-21
6
4,126 Views
Last Modified: 2010-04-21
How can I use SSIS to insert AND delete rows in a SQL Server table based on an an action code contained in each row of a flat file?  Each row in the flat file contains an ACTION_CODE, an ID, and other data.  If the ACTION_CODE is 'A' then a row in the SQL Server table is to be inserted containing data from the flat file row including the ID.  If the ACTION_CODE is 'D' then all rows in the SQL Server table with an ID matching the ID in the flat file row are to be deleted.
0
Comment
Question by:mikeyrad
  • 2
  • 2
  • 2
6 Comments
 
LVL 18

Accepted Solution

by:
Yveau earned 300 total points
ID: 20331369
I would import the complete flatfile to a temp table.
That way you can insert all records with action code 'A' at once and delete all records with action code 'D' at once. Two set based actions ... should be pretty fast .

Hope this helps ...
0
 
LVL 25

Assisted Solution

by:imitchie
imitchie earned 200 total points
ID: 20333066
can SSIS create temp tables using the GUI?
if you will use it often, create a table matching the flat file, which I assume is TargetTable + 1 column (Action_Code)
set up a normal SSIS job to first truncate the table, then import into the table
then add a custom SQL query something like

delete TargetTable where ID in (select ID from UpdateTable where Action_Code = 'D');
insert into TargetTable (ID,b,c,d,e,f)
select ID,b,c,d,e,f from UpdateTable where Action_Code = 'A'
0
 

Author Comment

by:mikeyrad
ID: 20369538
It has to be done on a row by row basis.  I'm trying to use the Conditional Split Data Flow Transformation.  One branch goes to add records row by row, piece of cake.  I'm just stuck on what to do on the delete; Script, OLE DB Command?
0
Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

 
LVL 25

Expert Comment

by:imitchie
ID: 20370143
I'm sorry can I ask why it must be done on a row by row basis?
Using custom SQL is more flexible for certain tasks.
0
 

Author Closing Comment

by:mikeyrad
ID: 31410482
Actually, it turns out a little more complicated because of the format and order of the flatfile, but the concepts were sound.
0
 
LVL 18

Expert Comment

by:Yveau
ID: 20387471
Glad I could be of any help.
0

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Why is this different from all of the other step by step guides?  Because I make a living as a DBA and not as a writer and I lived through this experience. Defining the name: When I talk to people they say different names on this subject stuff l…
In this article I will describe the Copy Database Wizard method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function
Via a live example, show how to setup several different housekeeping processes for a SQL Server.

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question