Hi,
I am using a cursor to update about 2000 rows.
So far, it's been running 10 minutes!
This is the query:
DECLARE @custid INT
DECLARE cur1 CURSOR
FOR SELECT custid FROM customers_kl
WHERE custid IN (SELECT custid from _temp_customers_year)
OPEN cur1
FETCH NEXT FROM cur1 INTO @custid
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE customers_kl
SET renewaldate = (SELECT
CAST(
CAST( tc.year_renewaldate AS VARCHAR(4) ) + '-' +
CAST( MONTH(c.renewaldate) AS VARCHAR(2)) + '-' +
CAST( DAY(c.renewaldate) AS VARCHAR(2))
AS DATETIME)
FROM _temp_customers_year tc, customers_kl c
WHERE c.custid = @custid
AND c.custid = tc.custid)
WHERE CURRENT OF cur1
END
CLOSE cur1
DEALLOCATE cur1
GO
I am using a cursor to update about 2000 rows.
So far, it's been running 10 minutes!
This is the query:
DECLARE @custid INT
DECLARE cur1 CURSOR
FOR SELECT custid FROM customers_kl
WHERE custid IN (SELECT custid from _temp_customers_year)
OPEN cur1
FETCH NEXT FROM cur1 INTO @custid
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE customers_kl
SET renewaldate = (SELECT
CAST(
CAST( tc.year_renewaldate AS VARCHAR(4) ) + '-' +
CAST( MONTH(c.renewaldate) AS VARCHAR(2)) + '-' +
CAST( DAY(c.renewaldate) AS VARCHAR(2))
AS DATETIME)
FROM _temp_customers_year tc, customers_kl c
WHERE c.custid = @custid
AND c.custid = tc.custid)
WHERE CURRENT OF cur1
END
CLOSE cur1
DEALLOCATE cur1
GO