Are you sure that SLCustomerAccount is a table? If all you are doing is using the two statements you posted, I assume there is some "black magic" going on behind the scenes. Using a statment like the following lets one create a view from the execution of a stored procedure:
CREATE VIEW dbo.SLCustomerAccount
AS
SELECT TOP(100) PERCENT *
FROM OPENROWSET('SQLOLEDB', 'Trusted_Connection=Yes;Server=(local);Database=NameOfTheDatabasse', 'exec UpdateCustomerExport);
There might be an issue with having a view like that updateable. Your first statement (the select statement) will work fine, but an update on such a view might not be valid.
BTW in your question you also mention some table called "Customer" which does not show up anywhere else in your statements.
Regards,
— Manfred