问题标签 [dml]

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.

0 投票
2 回答
557 浏览

sql - DDL 定义非规范化规则?

多年来我一直在做关系数据库的事情,但最近已经进入 Cassandra/Redis 领域。NoSQL 对于我们正在做的事情是有意义的,所以这很好。

今天在定义 Cassandra 列族时,我想到了一个问题:在关系数据库中,为什么 DDL 不让我们以数据库引擎本身可以本地管理由此产生的一致性问题的方式定义非规范化规则。换句话说,当关系数据库程序员通过非规范化来实现性能目标时……为什么他/她要通过专门编写的 SQL 来保持一致性?

也许我缺少一些明显的东西?这样的建议是否有一些愚蠢的原因,因为在我看来,拥有这种能力可能非常有用。

编辑:

感谢到目前为止的反馈。我仍然觉得我手上有一个悬而未决的问题(也许是因为它表达得不好)。我了解物化视图试图为非规范化数据提供引擎管理的一致性。但是,我的理解是它们不会随着基础表的更改而立即更新。如果这是真的,这意味着引擎真的不是管理由非规范化引起的一致性问题......至少不是在写入时。我的意思是,当需要针对复杂的关系模型扩展具有繁重读取负载的系统时,没有真正的、功能丰富的、引擎管理的非规范化的规范化数据结构会阻碍关系数据库引擎。我认为调整物化视图刷新率确实等同于 Cassandra 等 NoSQL 引擎提供的可调“最终一致性”。我需要了解引擎如何有效地同步其物化视图。为了相对于 NoSQL 选项被认为是可行的,同步视图所需的时间需要随着添加/更新的行数线性增加。

无论如何,我会再考虑一下并重新编辑。希望有一些想象中的 DDL 的代表性例子。

0 投票
2 回答
2068 浏览

oracle - 不允许时替换 MERGE INTO Oracle 语法的模式

我有一个应用程序,它使用 Oracle MERGE INTO... DML 语句更新表 A 以对应另一个表 B 中的一些更改(表 A 是表 B 的选定部分的摘要以及其他一些信息)。在典型的合并操作中,可能会在表 B 中插入 5-6 行(千行中的 10 行)并更新 2-3 行。

事实证明,该应用程序将部署在对目标表具有安全策略的环境中。MERGE INTO... 语句不能与这些表一起使用(ORA-28132:合并到语法不支持安全策略)

所以我们必须改变 MERGE INTO... 逻辑来使用常规的插入和更新。这是其他人遇到的问题吗?是否有将合并语句中的 WHEN MATCHED/WHEN NOT MATCHED 逻辑转换为 INSERT 和 UPDATE 语句的最佳实践模式?合并在存储过程中,因此如果需要,除了 DML 之外,该解决方案还可以使用 PL/SQL。

0 投票
1 回答
263 浏览

unit-testing - 使用 Behat 2.0,我应该把我的步骤放在哪里?

我应该把它放在 bootstrap.php 下吗?我真的很困惑我应该知道什么......我想使用 oop 风格,而不是闭包。我是 BDD 和 Behat 的新手。欢迎任何帮助。谢谢

0 投票
1 回答
2905 浏览

sql - Oracle SQL- 列值不作为标准不同

我在制定 SQL 语句以返回我想要的值时遇到问题。我需要根据用户 ID、第二列的值和第三列的值选择数据,其中该列中的值出现多次。所有列都在同一个表中。

这是我的查询现在的大致轮廓,但最后一个 AND 语句显然只是为了让您了解我想要什么。可以缩小结果范围的 COUNT 语句可能对我不起作用。

0 投票
1 回答
404 浏览

sql - SQL Server 2008 - 复杂的插入触发器

我不是 SQL 程序员,但我在项目中遇到了障碍,必须构造一个触发器,该触发器将在插入命令后触发。问题如下:

我有 3 张桌子:

现在,我从 .xml 文件中读取数据,并通过用 C# 编写的项目将数据添加到数据库中。每次构建后,我必须根据“通过”和“执行”值更新数据库并计算每个测试的 fail_percentage。

所以我需要一个触发器,它将: 1. 在插入命令后触发 2. 根据早期值计算 fail_percentage,例如

谁能帮帮我?

在此先感谢,阿图尔

0 投票
1 回答
1112 浏览

sql - 使用 JDBC 缓慢重复执行 DDL 和 DML 语句

对于针对数据库抽象库的 11 个不同 RBDMS 运行的集成测试,我需要经常重置架构和/或数据。这意味着,我为大多数测试用例运行了大量的语句。

仅在测试套件开始时才需要模式重置。例如:

只有写入数据的测试才需要数据重置。例如:

只读测试非常快,因为它们不需要任何重置。直观地说,我只是将一个 SQL 文件读入内存并使用以下命令执行每条语句:

在某些系统上,这非常慢。有没有更好的方法来用 JDBC 做到这一点?还是我必须接受这可能很慢的事实......?

0 投票
4 回答
597 浏览

sql - Oracle - Oracle 如何管理特定于事务的 DML 语句

想象一下我有这个简单的表:

如果我在没有提交的情况下将记录插入 Table1...

Oracle 怎么知道下一个 INSERT 语句违反了 PK 约束,因为还没有向数据库提交任何内容。

Oracle 在哪里/如何管理事务,以便在我还没有提交事务时知道我违反了约束。

0 投票
5 回答
6891 浏览

sql - Oracle 错误:无法在查询中执行 DML

为什么我会收到以下错误?

功能:

0 投票
3 回答
2628 浏览

xml - TSQL 2005,XML DML - 一次更新两个值?

有没有办法将这两个替换值与 1 个更新语句结合起来?

http://msdn.microsoft.com/en-US/library/ms190675(v=SQL.90).aspx

0 投票
5 回答
19907 浏览

sql - 如何使用 sql 命令 INSERT 输入新行

问:

我想知道在我的表中插入新行的 SQL 查询的语法。

我的意思是,我想在我的表中输入以下内容abc

维护新行。通过 INSERT 命令。

提前致谢