October 1, 2001 at 7:56 am
Hello,
I connect from SQL Server on Windows 2000 to Progress
Database on UNIX.
The database name of SQL Server is cstarsql and the
name is cstarint on UNIX.
I would like to schedule to copy data from
cstarint(Progress) to cstarsql(SQLServer). I did for
one time, but I want to control if the data has
already copied or not. If not, it will copy.
In DTS Query Builder to copy from Progress to SQL
Server,
SELECT * from calls WHERE call_date = TODAY
The name of table of calls is the same for both
database.The above calls is cstarint(Progress
Database)
This command is enough for one time. But I need to
control if the record has already copied.
In SQL Server, I control if the record is available or
not with @@FETCH_STATUS .
Now I would like to mix two queries, but I couldn't.
Can anybody do this?
DECLARE calls_cursor SCROLL CURSOR
FOR SELECT * FROM calls
WHERE call_date = TODAY
OPEN calls_cursor
-- Perform the first fetch.
FETCH NEXT FROM calls_cursor
-- Check @@FETCH_STATUS to see if there are any more
rows to fetch.
WHILE @@FETCH_STATUS = 0
BEGIN
-- This is executed as long as the previous fetch
succeeds.
FETCH NEXT FROM calls_cursor
END
CLOSE calls_cursor
October 1, 2001 at 8:53 am
I don't think you need a cursor for this - an outer join should work well. Something like this:
insert into table a (column names here)
select (all your column names from the insert) from remotetable A left join localtable B on A.Primarykey=B.Primarykey where B.PrimaryKey is null
If you have a lot of data, it's probably faster to move all the data to one server or the other first, but you'll have to test to be sure.
Andy
Viewing 2 posts - 1 through 1 (of 1 total)
You must be logged in to reply to this topic. Login to reply