找到 985 篇文章,关于软件与编码

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

Kiran P
更新于 2020-12-05 06:32:29

1K+ 次浏览

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

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

Kiran P
更新于 2020-12-04 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-04 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-04 10:59:35

510 次浏览

问题:您想了解有关数据库的一些入门信息。解决方案:每个 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-05 06:34:42

90 次浏览

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

如何使用 Oracle 聚合函数 XMLAGG?

Kiran P
更新于 2020-12-04 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-04 10:52:16

4K+ 次浏览

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

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

Kiran P
更新于 2020-12-04 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-04 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;为了演示其使用方法,我们将检查……阅读更多

如何在 Oracle 中使用直接路径插入技术优化 INSERT 语句?

Kiran P
更新于 2020-12-04 10:46:58

2K+ 次浏览

问题陈述:您正在执行 INSERT 语句,但速度比预期慢。您希望优化 INSERT 语句。解决方案:通过在 INSERT 语句中使用 APPEND 或 APPEND_VALUES 提示,我们可以显著加快数据库插入操作的速度。以下是用 APPEND 提示节省性能的示例。未优化的 SQL 语句INSERT INTO students SELECT * FROM students_bkp;输出-- 创建了 22141998 行。耗时:00:03:11.21 ------------------------------------------------- | ID | 操作 | 名称 | ------------------------------------------------- | 0 | INSERT 语句 ... 阅读更多

广告