问题标签 [sql-merge]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 插入第三张表的 SQL 合并
我想创建一个合并,它将比较两个表并将不匹配的值插入到另一个第三个表或表变量中,如下所示:
可以这样做还是有其他方法?
sql-server - SQL Server MERGE + 加入其他表
我在数据库项目中使用 MERGE 语句从静态值集中填充参考数据,如下所示:
当我想根据其他表中的内容填充辅助表时,问题就出现了。例如,我的 UserPermission 表包含用户 ID 和角色 ID,我希望我的静态值设置为 ('me@somewhere.com', 'Admin') 并且能够加入用户和权限以获得插入的 ID 值。不知道在哪里做...
编辑:
用户表(ID、用户名)1、John Smith 2、Mark Wahlerg
角色表(ID, RoleName) 1, Administrator 2, User 3, Guest
用户角色表(用户 ID、角色 ID)
我希望 MERGE 语句的 SQL 来调整 User-Role 表,以便我可以指定如下内容:
它将加入以确定 ID,插入不存在的组合(并可能删除存在但不在 MERGE 中的组合。
解决方案:
sql - 在 Oracle SQL 中执行 MERGE 时,如何更新 SOURCE 中不匹配的行?
我有一个main
数据库和一个report
数据库,我需要将一个表main
从report
.
但是,当数据库中的项目被删除时main
,我只想IsDeleted
在数据库中设置一个标志report
。
什么是一种优雅的方式来做到这一点?
我目前正在使用 MERGE 语句,如下所示:
该WHEN NOT MATCHED
语句为我提供了来自 的所有新值main
,但我也想更新来自 的所有旧值report
。
我正在使用 Oracle PL/SQL。
sql - Oracle 合并与选择然后插入或更新
什么更快?
合并声明
或者
查询 select 语句,然后使用 update 或 insert 语句。
如果行数 == 0
别的
sql - SQL 按需缓存表(可能使用 SQL MERGE)
SQL
我正在为应用程序实现按需缓存表,所以我有
CacheTable
带柱子Type, Number, Value
然后我有一个函数叫做GetValue( Type, Number )
所以我想要一个执行以下操作的函数
If ( CacheTable
contains Type, Number) 然后返回值 Else 调用GetValue( Type, Number)
并将该值放入CacheTable
并返回该值
有谁知道最优雅的方式来做到这一点?
我正在考虑使用SQL merge.
sql - H2数据库中的Oracle MERGE语句
我们开始使用内存数据库中的 H2 进行自动化测试。我们将 Oracle 用于我们的生产和开发环境。所以这个想法是复制 H2 测试数据库中的表结构,就像它在我们的 Oracle 开发数据库中一样。
Oracle SQL 语句包括 MERGE 语句,并在查询中使用表名和 USING 的别名。
如何动态修改此查询以与 H2 兼容,而不会改变开发环境中的现有查询?
与 H2 兼容的 Oracle SQL 示例,
(T1 & T2 是表的别名)
sql - 存储过程作为 MERGE [INSERT] 语句中的参数
我需要通过以下方式合并两个表:
- 目标有一个额外的列 ID。此 ID 来自另一个单列主表。
- 在 Merge 语句中插入记录时,我需要在 mater 表中插入一个新行并使用它
id
插入到 TARGET 表中。
我创建了一个存储过程,它插入并返回新插入的 ID。现在问题出在 SQL Merge 内部,我们不能调用存储的 Proc。
这个问题的解决方案是什么?不能使用标量函数,因为 INSERT 不能在函数中执行。
sql - 记录 MERGE 语句的结果
我有 2 个表:一个带有原始数据的临时表。其中的行可能会重复(超过 1 次)。第二个是具有实际数据的目标表(每一行都是唯一的)。
我正在使用游标传输行。在游标内,我使用 MERGE 语句。如何使用 DBMS_OUTPUT.PUT_LINE 打印到控制台,哪些行被更新,哪些被删除?
根据官方文档,此声明没有此类功能。
有什么解决方法吗?
sql - 将表与数组合并
我有一个表格和一个数组,我喜欢合并它们。
结构(t=目标,s=源):
当 t.ID=s.ID 和 t.gID=s.gID 那么什么都不会发生。当 s.ID < 0 然后插入。当 s.ID 不存在时删除。
我无法在合并查询中构建它:
当每一行的@array 中的gID=1 时,查询将删除所有gID=2 的。但只有 gID=1 应该受到影响。
有人知道如何解决这个问题吗?
sql - 合并中的可选参数
我有一个用于更新 SQL Server 数据库中记录的存储过程。
如果找到匹配项并提供 null 作为变量,我想使用数据库中的现有值。
通常只有部分数据可用,因此该过程分几个阶段执行以完成记录。我并不总是在每次执行时都有所有变量。
为什么以下 CASE 不起作用?如果提供了空值,它将替换字段中的现有数据。