если я вас правильно понимаю, вы хотите вставить новую запись для нового пользователя, но скопировать данные от другого пользователя.Если это так, то вы можете сделать что-то вроде этого:
CREATE PROCEDURE [duplicate_user_data]
@old_user_id int,
@new_user_id int
AS
BEGIN
declare @old_a_id int
-- get the old a_id first
SELECT @old_a_id = a_id
FROM TableA
WHERE [user_id] = @old_user_id
-- insert the new record into TableA
INSERT INTO TABLEA
(
[desc]
,[user_id]
)
select [desc]
, @new_user_id
from TABLEA
where [user_id] = @old_user_id
-- insert new record into tableB using the @old_a_id
INSERT INTO TableB
(
a_id
, detail
)
SELECT @old_a_id
, detail
FROM TableB
WHERE a_id = @old_a_id
END
Это тогда вставит ваш new_user_id
в TableA
, но будет иметь [desc]
от вашего old_user_id