Hello everyone,

Got a problem here that I can't seem to figure out.  I have a tab-delimited
text file containing 3 cols, (can_id, votes, % votes) that I need to import
into a SQL 6.5 table containing these three columns (and others) that needs
to be updated on a regular basis - updating existing records, not inserting
new ones.

My first guess would have been bcp, but as near as I can tell, this only
works on data copying operations, so it won't allow me to perform an UPDATE
type of action on the table I want to update.  I'm used to working with SQL
7.0, which would let me save this as a DTS package, so my t-sql stored proc
syntax is a little rough.

Here is what I've got so far, which is full of errors:

if exists (select * from sysobjects where id =
object_id('dbo.update_election_output') and sysstat & 0xf = 4)
        drop procedure dbo.update_election_output
GO

/*******************************************
Object:  Stored Procedure dbo.update_election_output
Script Date: 8/7/00 11:15am
Last Updated On: Never!
*******************************************/

CREATE PROCEDURE update_election_output
        @election_results_file varchar(255)
AS

/*******************************************
Update election results from FTP source file.
*******************************************/
CREATE TABLE #election_updates
(
        textstring varchar(255) null
)

select 'Getting Election Results'

INSERT #election_updates
EXEC ('EXEC master..xp_cmdshell ''type '+@election_results_file+'''')

select 'Updating Election Results Table...'


UPDATE a
SET a.votes = SUBSTRING(textstring,8,15)
SET a.percent_votes = SUBSTRING(textstring,16,23)
FROM elections_output a
WHERE EXISTS 
        (
        SELECT * 
        FROM #election_updates
        WHERE a.can_id = SUBSTRING(textstring,1,7)
        )
/*******************************************
Cleanup and Grant appropriate permissions.
*******************************************/
DROP TABLE #election_results
GO

Is this the right way to go about this?  Would it be better to use bcp to
copy the data into a temp table and then write an update statement to update
the master table?

Thanks,
Ryan
------------------------------------------------------------------------------
Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
To Unsubscribe visit 
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/cf_talk or send a 
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.

Reply via email to