0

我有 2 个表,例如:绿色(用户 ID、姓名、地址)、红色(用户 ID、姓名、临时地址)

我想要

select from Green table (Name) Where = userID 
AND 
INSERT INTO Red(userID,Name,TemproraryAddress) 
VALUES (@userID,@Name,@TemproraryAddress)

我的主要问题是如何将选定的值分配给标量变量?

注意:此示例表是为了展示一个示例场景,而不是在现实世界中使用...

4

1 回答 1

2

你的意思是喜欢

insert into Red(userId, Name, TemporaryAddress
select userId, Name, Address
from Green
where userId = @userId

或者

declare @userId int, @Name varchar(100), @address varchar(100)

select @userId = userId, @Name = Name, @address = Address from Green where userId = 12345

insert into Red (userId, Name, TemporaryAddress) values (@userId, @Name, @address)

或者是其他东西?

...您的问题不清楚您到底想做什么。您现有的代码是什么样的,它没有做什么您希望它做的事情?

编辑

另一种选择是在 Green 表上使用插入触发器。我不确定你是否想基本上匹配表格,但如果你这样做了,那么这就是如何做到这一点:

create trigger green_InsToRed_TRG on Green for insert as

insert into Red (UserId, Name, TemporaryAddress)
select UserId, Name, Address from inserted
于 2012-07-10T15:38:37.317 回答