当前位置: 首页 > 面试题库 >

Oracle:将CTE与update子句一起使用

高迪
2023-03-14
问题内容

我可以在oracle数据库中使用公用表表达式进行更新吗?

我在ORA-00928: missing SELECT keyword尝试时遇到错误:

with average as (SELECT avg(salary) FROM instructor)
update instructor
               set salary = case
                   when salary <= average then salary * 1.05 
                   else salary * 1.03                                     
               end

问题答案:

由于average salary仅是一个 标量值, 您可以做

update instructor
   set salary = case
       when salary <= (select avg(t.salary) from instructor t) then salary * 1.05 
       else salary * 1.03                                     
   end

在这种情况下,Oracle首先 计算平均值 (例如1234.4567),然后执行 更新



 类似资料:
  • 问题内容: 我需要一个游标用于以下查询,以便可以循环访问以获取/更新/插入一些其他数据。有人可以帮我吗? 我尝试了很多方法,但是没有找到任何可行的方法。 我正在使用 还是我出错了 问题答案: 只需将其放在通用表表达式之前即可: (但是,插入关于游标的通常的警告几乎总是会成为错误的工作工具。如果您可以找到一种以基于集合的方式完成整个操作的方法,则通常是更可取的,并且可能会表现得更好(或者至少会更好)

  • 问题内容: 我正在使用PDO来执行一条语句,该语句使用将数组作为其值的子句: 上面的代码工作得很好,但是我的问题是为什么不能: 此代码将返回等于(1)中第一项的项目,但不返回数组(2和3)中的其余项目。 问题答案: PDO不适用于此类情况。您需要动态创建带有问号的字符串并将其插入查询中。 如果查询中还有其他占位符,则可以使用以下方法(代码取自我的PDO教程): 您可以使用函数将所有变量连接到单个数

  • 本文向大家介绍我们如何将MySQL DISTINCT子句与WHERE和LIMIT子句一起使用?,包括了我们如何将MySQL DISTINCT子句与WHERE和LIMIT子句一起使用?的使用技巧和注意事项,需要的朋友参考一下 通过在MySQL查询中将WHERE子句与DISTINCT子句一起使用,我们将基于一个条件,即MySQL返回结果集的唯一行。通过在MySQL查询中使用LIMIT子句和DISTIN

  • 我输入的句子包含需要匹配的自定义多单词实体,因此为此我使用了优秀的空间查找库。然而,它有一个缺陷;它不能识别句子中作为实体的复数词。例如,如果我将声明为一个实体,并将作为一个句子,它将不会识别是一个实体。我目前的“修复”方法是这样做: 基本上是在原来的句子上运行nlp,并将引理串在一起创建一个新句子。然而,这将需要我运行nlp对这个柠檬化的句子,以提取实体与空间查找,这只是感觉。。。错误的我是否在

  • 问题内容: 我已经看过类似于此问题的各种问答,但是还没有找到解决方案。 我所拥有的一个枚举代表了观看电视指南的不同方式… 在NDroid 类中 …当用户更改视图时,事件处理程序会收到0-2的值,而我想做这样的事情… 在Android 事件处理程序中 我已经习惯了C#枚举和select / case语句,这些语句允许类似上面的内容,而且我知道Java的处理方式有所不同,但是我根本无法理解需要做什么。

  • 问题内容: 在SQL Server中,这会将来自Customers表的100条记录插入到tmpFerdeen中: 是否可以跨UNION ALL SELECT进行SELECT INTO:- 不太确定在哪里添加INTO子句。 问题答案: 这在SQL Server中有效: