update campos baseados em tabela para tabela?

Estou em uma situação difícil no cérebro. Eu pensei, vamos explicar aos geeks, para que eles possam me ajudar a resolver esse problem

Tenho uma tabela chamada Sharepoint_Users no Oracle. (veja abaixo o formato e os dados). Eu tenho acesso ao oracle db do servidor vinculado. Basta considerar que é tabela sql.

SharePoint_Users

ID         Status
1           Active
2           InActive
3           Active
4           InActive

outras duas tabelas chamadas aspnet_user e aspnet_UsersInRoles no SQL serve

aspnet_users
UserID                                       UserName      

A7DFDDAE-4DB8-476D-9C29-677763406F71          1
D9910E14-9206-4460-88CA-4C39DE620192          2
F188B1DF-03A6-4332-BA89-3B3C6682E9BA          3
728E77E7-693A-4015-92CA-02F0A403C29A          4

asnet_usersInRoles

UserID                                      RoleID

A7DFDDAE-4DB8-476D-9C29-677763406F71        1E36A840-2EBB-44EC-8861-0E3D262AC676 ----> InActive
D9910E14-9206-4460-88CA-4C39DE620192        0B54F223-E0D4-4CFC-84C3-7C98C1BFC6DA --->Active

gora, aqui está o desafi

* When users status changes in SharePoint_Users table from 'Active' to 'InActive'
 OR 'InActive' to 'Active'. We need to update same users RoleID in 
 asnet_usersInRoles table.


* And also I need insert new records those not exists in asnet_usersInRoles 
  table but exists in aspnet_users table.
  If user not found in aspnet_users should not insert them into 
  asnet_usersInRoles.(always users will be the same SharePoint_Users 
  and aspnet_users)

Por favor me ajude a escrever um sp para fazê-lo. Vou executar o trabalho para este sp a cada 1 hora para atualizar.

questionAnswers(2)

yourAnswerToTheQuestion