【发布时间】:2021-08-25 17:25:35
【问题描述】:
我有 3 个数据库,db 1 和 db 2 用于作业,db 3 用于工作流。
db 1 和 2 都有一个直接在 db 3 中创建工作流的过程。
我在 db 3 中有一个触发器,它在创建工作流时激活,因为我需要将更多信息从作业添加到工作流中。
所以我所做的是创建一个变量,我使用从 db 1 中的正常选择设置(从 db1.dbo.job 中选择作业)
我想知道是否有办法动态执行 select 语句 例如: 如果 db1 则 @db = db1 如果 db2 则 @db = db2
然后在@variable = select job from @db
现在我有以下查询,但我很简单地将我的所有逻辑添加到另一个 IF,然后更改选择语句...我不想这样做,因为我将添加更多数据库以与 db3 集成
Declare
@flag int,
@variable varchar(10)
set @flag = 1
if @flag = 1
begin
set @variable = (select job from db1.dbo.job)
end
else if @flag = 2
begin
set @variable = (select job from db2.dbo.job)
end
update db3 set job = @variable
有没有可能做我想做的事????
【问题讨论】:
标签: sql sql-server