找到关于编程的34423 篇文章

如何在 Oracle 中更改 JOIN 顺序?

Kiran P
更新于 2020年12月4日 11:07:18

2K+ 次浏览

问题:您的查询在多个表上存在 JOIN 条件,并且存在性能问题,而 Oracle 优化器没有选择您想要的连接顺序。解决方案:Oracle 有两个提示:ORDERED 提示和 LEADING 提示,可用于影响查询中使用的连接顺序。ORDERED 提示您正在运行一个 SQL 来连接两个表,student 和 departments,因为您想要获取每个学生的部门名称。通过将 ORDERED 提示放入查询中,您可以看到提示如何改变执行访问路径。示例EXPLAIN PLAN FOR SELECT first_name, department_name FROM students e, departments ... 阅读更多

如何在 Oracle 中从数据字典表生成数据模型?

Kiran P
更新于 2020年12月5日 06:32:29

1K+ 次浏览

问题:您想从 Oracle 中的数据字典表生成数据模型解决方案:Oracle 数据字典是表和相关视图的集合,使我们能够查看 Oracle 数据库的结构。通过查询这些表和视图,我们可以获取有关数据库中每个对象和每个用户的详细信息。简介数据字典打包了一系列由 SYS 用户拥有的视图。这些视图,称为静态数据字典视图,提供了包含在表中的信息,这些表在 Oracle 处理数据定义语言 (DDL) 语句时会更新。还有一组称为... 阅读更多

如何在 Oracle 中使用 Union ALL 和 Insert ALL 生成数据?

Kiran P
更新于 2020年12月4日 11:02:22

1K+ 次浏览

问题:您想知道 Union ALL 和 Insert ALL 之间的区别,以便生成少量数据。解决方案:我最近一直在生成少量数据来测试某些功能,并遇到 Oracle 中的几个选项。Union All 和 Insert All 是在 Oracle 中生成少量数据时常用的两个选项。Oracle 中最常见的集合运算符是 UNION 和 UNION ALL。这些运算符用于组合数据集,即使这些数据集之间没有关系也是如此。UNION 创建一个不同的集合,而 UNION ALL 允许重复项。删除重复项可能会... 阅读更多

如何在 Oracle 中检测给定年份是否是闰年?

Kiran P
更新于 2020年12月4日 11:00:47

4K+ 次浏览

问题:您需要确定任何给定年份是否是闰年。解决方案:有很多方法可以解决这个问题。这些方法包括计算 2 月 29 日是否存在于该年中,或者 3 月 1 日是该年的第 61 天还是第 62 天。示例SELECT to_number(to_char(sysdate, 'YYYY')) Year, CASE WHEN MOD(to_number(to_char(sysdate, 'YYYY')), 400) = 0 then 'Yes' WHEN MOD(to_number(to_char(sysdate, 'YYYY')), 100) = 0 then 'No' WHEN MOD(to_number(to_char(sysdate, 'YYYY')), 4) = 0 then 'Yes' ELSE 'No' END AS "Leap Year?" FROM dual;输出2020 Yes很明显,2020 年是一个令人难忘的一年,它... 阅读更多

如何查看 Oracle 数据库的存储配置?

Kiran P
更新于 2020年12月4日 10:59:35

511 次浏览

问题:您想了解有关数据库的一些入门信息。解决方案:每个 Oracle 程序员/DBA 在其职业生涯中的某个时刻都会继承其他人已经设置的数据库。您需要了解有关数据库的一些入门信息以了解更多信息。确定主机详细信息和数据库版本示例SELECT instance_name, host_name, version, startup_time FROM v$instance输出INSTANCE_NAME HOST_NAME VERSION STARTUP_TIME TESTDB ip-000-00-0-000 19.0.0.0.0 12/AUG/20接下来,我们将确定... 阅读更多

如何在 Oracle 中访问先前或后续行的值?

Kiran P
更新于 2020年12月5日 06:34:42

90 次浏览

您想使用 Oracle 聚合函数 XMLAGG 进行字符串聚合吗?解决方案:您希望在结果集中包含基于前一行和后一行的计算。Oracle 支持 LAG 和 LEAD 分析函数来提供对表中多行的访问,利用先前或后续逻辑,您无需将源数据连接到自身。为了演示用法,我们将使用学生数据。LAG 函数可用于查看哪些学生的加入跟随另一个学生,以及计算加入之间经过的时间。SQL:确定学生的加入信息示例SELECT first_name, ... 阅读更多

如何使用 Oracle 聚合函数 XMLAGG?

Kiran P
更新于 2020年12月4日 10:54:05

11K+ 次浏览

您想使用 Oracle 聚合函数 XMLAGG 进行字符串聚合吗?解决方案:示例SELECT class_id, rtrim(xmlagg(xmlelement(x, first_name || ' ' || last_name , ', ') ORDER BY first_name).extract('//text()').getstringval(), ', ') AS "names" FROM students GROUP BY class_id;输出CL_MATH ANDERSON DANIEL, MARTINEZ CHRISTOPHER, TAYLOR PAUL, THOMAS MARK, WILSON THOMAS, CL_PHY RODRIGUEZ JOSEPH, INS_CHAIRMAN SMITH JAMES, INS_STAFF BROWN MICHAEL, DAVIS RICHARD, GARCIA CHARLES, JONES WILLIAM, MILLER DAVID, INS_VP JOHNSON JOHN, WILLIAMS ROBERT, 在上面的语句中,xmlelement 将创建一个名为 x 的 XML 元素(命名为... 阅读更多

如何在 Oracle 中执行字符串聚合/连接?

Kiran P
更新于 2020年12月4日 10:52:16

4K+ 次浏览

问题陈述:您想在 Oracle 中将字符串连接为逗号分隔的文本。解决方案:Oracle 有几种方法可以执行字符串聚合。在互联网上最常见的用法是将多行转换为带有分隔符的单行。从 Oracle 11.2 版本开始,添加了一个新的内置函数,称为 listagg,它执行字符串聚合。listagg 函数使用两个参数,第一个是我们想要聚合的字符串列或表达式,第二个是可选参数,是放在聚合结果中字符串之间的分隔符。within group 是必需的,并且... 阅读更多

如何在 Oracle 中为查询结果分配排名?

Kiran P
更新于 2020年12月4日 10:51:05

546 次浏览

问题陈述:您想分配一个代表其在结果中位置的数字/排名。解决方案:Oracle 提供 RANK 分析函数来为结果集中的行生成排名编号。为了演示,我们将按费用对学生进行排名,从最高付费到最低付费。以下 SELECT 语句使用 rank 函数来分配这些值。示例SELECT student_id, first_name, last_name, fees, RANK() OVER (ORDER BY fees DESC) AS rnk FROM students;输出student_idfirst_namelast_namefeesrnk100SMITHJAMES240001101JOHNSONJOHN170002102WILLIAMSROBERT170002108RODRIGUEZJOSEPH120084103BROWNMICHAEL90005109WILSONTHOMAS90005110MARTINEZCHRISTOPHER82007112TAYLORPAUL78008111ANDERSONDANIEL77009113THOMASMARK690010104JONESWILLIAM600011105MILLERDAVID480012106DAVISRICHARD480012107GARCIACHARLES420014RANK 的行为类似于任何其他分析函数,在非分析处理完成后对结果集进行第二次传递... 阅读更多

如何在 Oracle 中缓存查询结果?

Kiran P
更新于 2020年12月4日 10:49:31

3K+ 次浏览

问题陈述:您想提高常用查询的性能。解决方案:我们必须使用 Oracle 的结果缓存来存储常用 SQL 的查询结果,以便在以后使用相同查询时可以快速检索它们。结果缓存是 Oracle 11g 的新增功能,它允许我们将常用查询的结果存储在内存中以便快速轻松地检索。示例SELECT /*+ result_cache */ e.class_id, min_fees, max_fees FROM students e ,jobs j WHERE e.class_id = j.class_id GROUP BY e.class_id, min_fees, max_fees;为了演示其用法,我们将检查... 阅读更多

广告
© . All rights reserved.