I am trying to INSERT
a row when the row does not exist. I have 2 tables, and I check 1 by 1, if the record does not exist in the second table, then do INSERT
.
DECLARE @Counter int;
DECLARE @jumlah int;
DECLARE @namamerchant varchar(200);
DECLARE @namapemilik varchar(200);
DECLARE @alamat varchar(200);
SET @Counter = 1;
SELECT @jumlah = COUNT(*)
FROM ##TempMerchant_upload_id tmui;
SELECT @jumlah;
WHILE (@Counter <= @jumlah)
BEGIN
SELECT @namamerchant = tmui.Nama_Merchant
FROM ##TempMerchant_upload_id tmui
WHERE tmui.id = @Counter;
SELECT @alamat = tmui.Alamat_Pemilik
FROM ##TempMerchant_upload_id tmui
WHERE tmui.id = @Counter;
SELECT @namapemilik = Nama_Pemilik
FROM ##TempMerchant_upload_id
WHERE ##TempMerchant_upload_id.id = @Counter;
IF (SELECT COUNT(*)
FROM merchant_negative_db_copy mndc
WHERE mndc.Nama_Merchant = @namamerchant
AND mndc.Alamat_Merchant = @alamat
AND mndc.Nama_Pemilik = @namapemilik) = 0
BEGIN
SET @sql = 'INSERT INTO merchant_negative_db_copy SELECT *,tes, GETDATE(),0 FROM ##TempMerchant_upload_id where id = ''' + @Counter + '''';
EXEC (@sql);
END;
SET @Counter = @Counter + 1;
END;
It's showing error like this when I run it:
Conversion failed when converting the varchar value 'INSERT INTO merchant_negative_db_copy SELECT *,tes, GETDATE(),0 FROM ##TempMerchant_upload_id where id = '' to data type int.
Any suggestion?