在我的搜索中,我找到了很多线程来处理我的问题,但是我找不到一个明确定义答案的答案。
是的我是SQL Server的菜鸟。
这是我想要做的事情我需要知道最好的方法。出于这个问题的目的,我会保持简单。请记住,这是我想要的功能
我有桌子A
ClientName,
manager name,
Location
表B
Manager name
Manager location
表C
Random columns,
Client name,
Manager name
我想
SELECT [client name], [manager name] from table c
table a
,并已定义@clientname
和@manager
个名称参数。插入行后,将显示
tableA.location = Select [manager location]
from tableb
where @manager = tableb.[manager name]
这些需要在一次调用中批量生成多行
这是时间点数据,因此没有查找和全面更新查询
使用功能?
存储过程?
触发器可能不是答案,因为我将在每次调用时输入500多行
提前谢谢
答案 0 :(得分:0)
很难相信你找不到与你的问题密切相关的东西。你应该做的只是
insert TableA
select C.ClientName, C.ManagerName, B.Location
from TableC C
join TableB B on B.ManagerName = C.ManagerName
where C.ManagerName = @ManagerName and C.ClientName = @clientname
您声明的使用案例使您看起来应该将其包装在存储过程中。实际上,上面的陈述是存储过程的整个主体
create proc sotest(@clientname varchar(40), @managername varchar(40)) as
begin
-- code above
end
由于您已定义问题(假设您要填充“位置”列),因此无法避免从TableB查找位置。