sql-server - SQL SERVER 中全局 SQL 临时表的条件重用
问题描述
我试图在多个地方重用 SQL SERVER 存储过程中的临时表,以从三个可能的数据库收集数据并将数据插入两个目标数据库之一。这可以做到吗?
场景是我想根据参数查询 3 个可能的数据库中的 1 个,将收集到的数据插入到临时表中,然后检索它以在两个目标表之一的插入语句中使用。插入将再次依赖于参数。我将在报告解决方案 (SSRS) 中使用这两个表。该报告将比较这两个表以识别差异。我知道我可以把它全部写下来,但我试图保持代码的可管理性
一些示例代码
Declare @Switch varchar(11)='A'
Declare @Target varchar(11)='1'
--create tables
Create Table TargetTable1 (Date datetime)
Create Table TargetTable2 (Date datetime)
If @Switch ='A'
Begin
Drop Table ##TestTemp
--pull data from database 1
Select GETDATE() Date into ##TestTemp
End
If @Switch <>'B'
Begin
Drop Table ##TestTemp
--pull data from database 2
Select dateadd(d,10,GETDATE()) Date into ##TestTemp
End
If @Target=1
Begin
Insert Into TargetTable1
select * from ##TestTemp
End
If @Target<>'1'
Begin
Insert Into TargetTable2
select * from ##TestTemp
End
当我尝试时,我得到
消息 2714,级别 16,状态 1,第 19 行数据库中已经有一个名为“##TestTemp”的对象。
谢谢
解决方案
推荐阅读
- homebrew - 尝试在 MacOS 上更新 Homebrew 但收到错误消息“LibreSSL 错误”
- json - 阅读 REST API JSON 回复
- leaflet - 如何以编程方式获取 PixiOverlay 标记并通过绘制的边界获取它们的属性
- c# - 如何将“System.Windows.Controls.TextBlock”转换为“System.Windows.Controls.Control”WPF C#
- windows - UWP 画布像素操作
- r - 带变量 R 的 sum 函数
- html - 使用 django 表单时如何为标签标签启用 id?
- javascript - Discord.js 禁止命令禁止原因
- c++ - 如何在 Netbeans 8.2 C++ 中设置条件断点
- r - 将均值比较添加到绘图 + 是否可以在 KS 测试中显示 ggplot(或一般的 R)中的 p 值,特别是在小提琴图上?