SQL Server:是否可以同时插入两个表?

2024-05-04

我的数据库包含三个表,称为Object_Table, Data_Table and Link_Table。链接表仅包含两列,对象记录的标识和数据记录的标识。

我想从中复制数据DATA_TABLE它链接到一个给定的对象标识并将相应的记录插入到Data_Table and Link_Table对于不同的给定对象标识。

I can通过选择一个表变量并循环为每次迭代执行两次插入来完成此操作。

这是最好的方法吗?

Edit:我想避免循环有两个原因,第一个原因是我很懒,循环/临时表需要更多代码,更多代码意味着更多地方会犯错误,第二个原因是对性能的担忧。

我可以复制一次插入中的所有数据,但如何让链接表链接到新数据记录,其中每条记录都有一个新 ID?


In one 陈述: No.

In one 交易: Yes

BEGIN TRANSACTION
   DECLARE @DataID int;
   INSERT INTO DataTable (Column1 ...) VALUES (....);
   SELECT @DataID = scope_identity();
   INSERT INTO LinkTable VALUES (@ObjectID, @DataID);
COMMIT

好消息是上面的代码也保证是atomic,并且可以在单个函数调用中使用一个 sql 字符串从客户端应用程序发送到服务器,就好像它是一条语句一样。您还可以将触发器应用于一个表以获得单个插入的效果。但是,它最终仍然是两个语句,您可能不想运行触发器every insert.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server:是否可以同时插入两个表? 的相关文章

  • SQL Server 2012:有条件地增加计数器用户 ROW_NUMBER()

    我正在尝试申请ROW NUMBER 根据特定条件增加计数器 我的数据如下所示 目标计数器是Prep column id DSR PrepIndicator Prep 1662835 1 1 1 1662835 14 2 2 1662835
  • 我应该使用平面表还是标准化数据库?

    我目前正在开发一个使用 MySQL 数据库作为后端的 Web 应用程序 在继续下一步之前 我需要知道什么更适合我的情况 简而言之 在这个应用程序中 用户将能够使用任何数字字段 他们决定 构建自己的表单 现在我将其全部存储在通过外键链接的几个
  • 将 MSSQL 中用于 Web 制图的投影(Leaflet、Openlayer、OpenStreetMaps、GoogleAPI...)更改为 WSG48 或任何其他格式

    我在 MSSQL 服务器中有一些像这样的 WKT WKB 数据 并希望借助 leaflet Openlayer OpenStreetMaps 或 GoogleAPI 将它们显示在地图上 我的数据如下所示 POLYGON 1736946 09
  • 在 Mysql 上使用 EntityManager JPA 运行脚本

    我正在尝试运行脚本 sql 文件 但由于我尝试了多种方法 因此出现多个错误 这是我的主要 sql 脚本 INSERT INTO Unity VALUES 11 paq 0 2013 04 15 11 41 37 Admin Paquete
  • 在 PostgreSql 中计算百分比

    例如我有一个这样的表 string adm A 2 A 1 B 2 A 1 C 1 A 2 通过 SQL 查询 我想要这样的结果 string perc adm A 50 B 100 C 0 我想要每个字符串中数字 2 出现的百分比 我可以
  • SQL Server 2008 错误 233

    我正在使用以下 sql 脚本在 SQL Server 2008 中创建新登录名 CREATE LOGIN xyz WITH PASSWORD xyz DEFAULT DATABASE master DEFAULT LANGUAGE us e
  • 根据由另一列分组的不同列的最大值获取值[重复]

    这个问题在这里已经有答案了 我想根据由另一列分组的不同列的最大值来获取列的值 我有这张表 KEY NUM VAL A 1 AB B 1 CD B 2 EF C 2 GH C 3 HI D 1 JK D 3 LM 并想要这样的结果 KEY V
  • 一个表可以有多个主键吗?

    我现在很困惑 也许你可以帮助我更好地理解这个问题 即一个表可以有两个主键 如果是 那么如何 如果没有 那为什么 您询问是否可以有多个主键field你当然可以 您只能有一个主键 但它可以包含唯一标识行所需的任意数量的列 创建表时使用类似这样的
  • 何时在 mysql 中使用 Union [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 对于 Union 您会在什么现实情况下使用它 因为对我来说 对具有不同列用途 含义的两个表中的两个选择查询使用联合是没有意义的 例如
  • 从字符串中删除某些字符

    我正在尝试删除某些字符 目前我的输出如下cityname district但我想删除cityname SELECT Ort FROM dbo tblOrtsteileGeo WHERE GKZ 06440004 Output B dinge
  • 带有可变 WHERE 子句的批量 UPDATE 表

    我有一堆值对 foo1 bar1 foo2 bar2 我想做一堆更新 将 foo 列设置为 foo1 其中 bar 列为 bar1 我正在使用 psycopg2 在 Python 中执行此操作 我可以executemany与查询UPDATE
  • Snowflake 中的动态 SQL

    当我在雪花中运行动态 SQL 时 遇到以下错误 未完成对 SQL MAIN 的分配 因为值超出了变量的大小限制 它的大小是263 限制为 256 内部存储大小以字节为单位 这是代码 SET v G 1 SET v G1 v G VARCHA
  • 3 个表的 SQL 查询(或联接)

    第一次在 Stack Overflow 上问问题 很棒的资源 但是只有一件事真正让我作为 SQL 新手感到困惑 我有三个表 我想获取与鲍勃的学生相关的所有导师的姓名 表 1 教师 ID Name 1 Bob 表 2 学生 STUDENT I
  • 获取在任何日期创建的表的列表?

    我遇到了这样的情况 我想查找我在 2012 年 9 月 14 日 2012 年 9 月 14 日 在 sql server 上创建的表 是否有任何查询会列出在此日期创建的这些表 SELECT FROM sys tables WHERE cr
  • Java、Oracle 中索引处缺少 IN 或 OUT 参数:: 1 错误

    您好 我使用 Netbeans 8 0 2 和 Oracle 11g Express Edition 在 JSF 2 2 中编写了一个图书馆管理系统 我有几个名为 书籍 借阅者 等的页面 以及数据库中一些名为相同名称的表 我的问题是这样的
  • 时间序列数据的自连接

    我需要一些帮助来完成我认为应该是相当简单的自连接查询 只需要将两条记录中匹配的开始时间和结束时间合并为一条记录 假设我的表中有以下内容 Time Event 08 00 Start 09 00 Stop 10 30 Start 10 45
  • 如何使用原始 SQL 查询实现搜索功能

    我正在创建一个由 CS50 的网络系列指导的应用程序 这要求我仅使用原始 SQL 查询而不是 ORM 我正在尝试创建一个搜索功能 用户可以在其中查找存储在数据库中的书籍列表 我希望他们能够查询 书籍 表中的 ISBN 标题 作者列 目前 它
  • 使用来自另一个数据库的选择查询更新 mysql 表

    我有两个数据库 我想用另一个数据库表中的值更新一个表 我正在使用以下查询 但它不起作用 UPDATE database1 table1 SET field2 database2 table1 field2 WHERE database1 t
  • 在数据库中搜索时忽略空文本框

    此代码能够搜索数据并将其加载到DataGridView基于搜索表单文本框中提供的值 如果我将任何文本框留空 则不会有搜索结果 因为 SQL 查询是用 AND 组合的 如何在搜索 从 SQL 查询或 C 代码 时忽略空文本框 private
  • WHERE NOT EXIST 附近的语法错误

    我在堆栈中搜索 但没有一个达到最终答案 我的查询是这样的 INSERT INTO user username frequence autoSend VALUES feri2 3 1 WHERE NOT EXISTS SELECT FROM

随机推荐

  • 如何更改联系表单 7 动态重定向 URL - WordPress

    我正在为我的一个客户建立一个网站 他们希望在他们的网站中添加如下功能 当人们点击下载链接时 会出现一个表格 联系表格 7 访客输入详细信息后 它将重定向到下载链接 通过对联系表单 7 使用以下附加设置 我可以在表单提交后重定向到新页面 on
  • 批处理中嵌套 IF ( IF ( ... ) ELSE( .. ) ) 语句

    我正在尝试写一个IF ELSE语句嵌套在另一个语句中IF陈述 这是我所拥有的 IF dirdive 1 IF DEFINED log ECHO DATE TIME gt gt log FOR R root1 G IN DO SET G G
  • Quartz 调度程序执行 Runnable

    Quartz Scheduler 可以执行 Runnable 吗 例如 我有以下代码正在由 spring 运行TaskScheduler Autowired Qualifier IntegrationConfiguration TASK S
  • C# 有没有办法制作时间范围列表?可配置

    有没有办法列出时间范围 例如 包含以下内容的列表 中午 12 00 至下午 1 00 下午 1 00 至 2 00 ETC 其中划分部分是配置 我认为你必须使用日期时间并将其除以一定的数字 在本例中为一小时 有人可以指出我正确的方向或给我提
  • 定期递归调用函数

    所以我想知道定期递归调用函数的更好方法 就堆栈增长和性能而言 是什么 例如 假设我想每 200 毫秒读取一次文件内容 我有以下两种方法 想知道它们是否有什么不同 方法 1 使用普通的 ols setTimeout 而不使用 process
  • 项目引用 .net core 类库时出现问题

    我创建了新的 asp net core Web 应用程序和 net core 类库 然后我尝试从 asp net core 添加对 net core 类库的引用 构建正常 但不可见 任何想法 任何想法 Yes this https stac
  • “值错误:元素定位器与任何元素都不匹配。”当尝试定位一个元素时

    我使用 Robot Framework 和 Selenium2Library 进行网站测试自动化 我的 HTML 值是
  • 在实体框架中映射自定义数据库值函数

    我有一个简单的数据库函数 它需要两个字符串作为参数并返回一个字符串 我想用实体框架来映射它 如同这个问题 https stackoverflow com questions 45451383 dbfunction cannot be tra
  • CSS - 显示:无;不工作

    我正在尝试开发一个移动样式表 在这个样式表中我想删除一个特定的 div 在div的HTML代码中 我放置了一个名为 tfl 的id 如下所示 div style display block width 187px height 260px
  • 如何创建 Azure Mgmt 序列化器/反序列化器参数?

    我可以在最新的 azure mgmt media 和 Python 存储 sdk 中看到 用户需要为序列化器 反序列化器传递 2 个参数 我的 Python 经验很少 我不知道如何创建这些对象 我找不到任何媒体示例 也没有带有最新签名 3
  • 使用反射将 Nullable 属性复制到非 Nullable 版本

    我正在编写代码以使用反射将一个对象转换为另一个对象 它正在进行中 但我认为它可以归结为以下内容 我们相信这两个属性具有相同的类型 private void CopyPropertyValue object source string sou
  • 如何引用 Cypress 配置文件中的环境变量?

    我读了赛普拉斯中的环境变量 https www toolsqa com cypress environment variables in cypress 以及有关在 Cypress 运行中传递环境变量的其他文章 但是 如何引用 JSON 配
  • 如何检测Windows 8.1开始菜单?

    当我们在 Windows 8 1 上按下开始菜单时 它会以磁贴的形式显示所有新的开始菜单以及应用程序 该菜单显示在整个屏幕上 有没有办法检测这个菜单是否在 C 中打开 8 1 SDK 中是否有 winAPI 可以执行此操作 提前致谢 调用
  • 是否有可能成为内置类型的虚拟子类?

    是否可以使用户定义的类型成为Python中内置类型的虚拟子类 我希望我的班级被视为以下类别的子类int 但是 我don t想像这样直接继承 class MyInt int Do some stuff kind of like an int
  • 如何在 C# 中从 TabPage 获取控件?

    我有几个选项卡页 每个选项卡页都包含富文本框 如何在选定的选项卡上访问 richtechbox TabPage selectedTab tabControl SelectedTab RichTextBox selectedRtb selec
  • 使用lxml解析HTML时如何保留名称空间信息?

    gt gt gt from lxml etree import HTML tostring gt gt gt tostring HTML
  • 如何在 BigQuery 中取消透视?

    不确定要调用什么函数 但转置是我能想到的最接近的函数 I have a table in BigQuery that is configured like this 但我想查询一个配置如下的表 创建此表的 SQL 代码是什么样的 Thank
  • 在我的 FirebaseRecyclerAdapter 方法中,我看不到 populateviewholder 方法未实现

    我想从 firebase 检索数据 当我添加 FirebaseRecyclerAdapter 方法时 populateviewholder 方法没有实现而不是这个 另外两个 onCreateViewHoldermethod onBind 方
  • API 版本 Android Studio 预览中为 Null

    我从 Android Studio 2 3 更新到 3 0 现在 XML 编辑器上的任何预览都不会显示 我可以在 API 级别选择器的顶部栏中看到一个 null 它没有给我任何选择的选项 有什么可能的解决方案吗 我尝试了使缓存无效并重新启动
  • SQL Server:是否可以同时插入两个表?

    我的数据库包含三个表 称为Object Table Data Table and Link Table 链接表仅包含两列 对象记录的标识和数据记录的标识 我想从中复制数据DATA TABLE它链接到一个给定的对象标识并将相应的记录插入到Da