【发布时间】:2012-04-03 23:48:39
【问题描述】:
我是新的存储过程,并试图编写一个过程来将用户(通过 user_id)主详细数据复制到新的用户数据中。这是我的表结构。我会将目标 user_id 和目标 user_id 传递给存储过程。你能告诉我如何实现这个功能吗?感谢您的帮助。
TABLE A
----------------
a_id int(Primary Key)
desc varchar(50)
user_id int
TABLE B
-----------------
b_id int(Primary Key)
a_id int(Foreign Key)
detail varchar(100)
CREATE PROCEDURE [duplicate_user_data]
@old_user_id int,
@new_user_id int
AS
BEGIN
INSERT INTO TABLEA
([desc]
,[user_id]
)
select desc, user_id from TABLEA where user_id = @old_user_id
END
【问题讨论】:
-
插入后,将 scope_identity() 捕获到局部变量中,然后使用 a_id 列中的局部变量插入 tableB 的选择。
-
如何从 TABLEA 获取多条记录的 scope_identity()?
-
如果你有多个,那么使用
OUTPUT INTO
标签: sql sql-server sql-server-2008