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

如何在 Oracle 中监控实时 SQL 执行统计信息?

Kiran P
更新于 2020-12-05 06:22:04

3K+ 次浏览

问题:您想监控 Oracle 中当前正在执行的 SQL 统计信息。解决方案:如果您的数据库是 Oracle Database 11g,您可以使用以下查询从“V$SQL_MONITOR”中选择来监控 SQL 查询的近实时资源消耗。“V$SQL_MONITOR”中的统计信息每秒更新一次。这有助于我们查看资源消耗的更新情况。默认情况下,当 SQL 语句并行运行或消耗超过 5 秒的 CPU 或 I/O 时间时,会收集这些统计信息。“V$SQL_MONITOR”视图包含“V$SQL”、“V$SQLAREA”和“V$SQLSTATS”视图中包含的统计信息子集。“V$SQL_MONITOR”视图显示实时统计信息……阅读更多

如何在 Oracle 中限制每个会话的数据库资源?

Kiran P
更新于 2020-12-05 06:21:10

2K+ 次浏览

问题:您想限制用户在数据库中可以消耗的资源量。解决方案:要限制资源,我们可以按照以下步骤操作。我们可以使用以下 SQL 语句查看数据库中 RESOURCE_LIMIT 的当前设置:select name, value from v$parameter where name='resource_limit';创建一个配置文件来限制资源并将其分配给用户。不过,它不会限制 CPU 利用率。示例CREATE PROFILE test_profile LIMIT SESSIONS_PER_USER 2 CPU_PER_SESSION UNLIMITED CPU_PER_CALL 300000 CONNECT_TIME ...阅读更多

如何在 Oracle 中使用主键约束和外键约束来强制执行数据库完整性?

Kiran P
更新于 2020-12-05 06:20:06

458 次浏览

问题:您想在 Oracle 中使用主键约束和外键约束来强制执行数据库完整性。解决方案:在定义了完整性的表上执行的任何 DML 语句(INSERT、UPDATE 或 DELETE)都有助于确保表中的行保持其完整性。让我们来看一些显示主键约束强制执行的示例。customers 表的主键是 customer_id 列,这意味着存储在 customer_id 列中的每个值都必须唯一。如果您尝试插入主键具有重复值的行,数据库将返回错误 ORA-00001,如下所示……阅读更多

如何在 Oracle 中临时存储数据以便以后使用?

Kiran P
更新于 2020-12-05 06:18:15

2K+ 次浏览

问题:您想临时存储 SQL 的结果。解决方案:我们可以使用 CREATE GLOBAL TEMPORARY TABLE 语句创建一个临时存储会话数据的表。此外,您可以指定是为会话保留临时表数据,还是在事务提交之前保留临时表数据。我们可以进一步使用 ON COMMIT PRESERVE ROWS 子句指定在用户会话结束时删除数据。示例CREATE GLOBAL TEMPORARY TABLE tmp_players ON COMMIT PRESERVE ROWS AS SELECT * FROM players WHERE coach_id IS NOT NULL;全局临时表存储仅在用户会话期间存在的会话专用数据……阅读更多

如何在 Oracle 中执行不区分大小写的搜索?

Kiran P
更新于 2020-12-05 06:17:10

4K+ 次浏览

问题:您想在 Oracle 中执行不区分大小写的搜索。解决方案:处理大小写问题的一种方法是使用内置的 UPPER 和 LOWER 函数。这些函数允许您对单个操作的字符串强制执行大小写转换。示例DECLARE full_name1 VARCHAR2(30) := 'roger federer'; full_name2 VARCHAR2(30) := 'ROGER FEDERER'; BEGIN IF LOWER(full_name1) = LOWER(full_name2) THEN DBMS_OUTPUT.PUT_LINE( full_name1 || ' and ' || full_name2 || ' are the same.'); END IF; END;在上面的示例中,full_name1 和 full_name2 首先转换为小写,然后相互比较,从而产生输出 roger federer……阅读更多

如何在 Oracle 中使用 WITH 子句定义函数?

Kiran P
更新于 2020-12-05 06:16:11

5K+ 次浏览

问题:您想在 Oracle 中使用 WITH 子句定义函数。解决方案:从 Oracle Database 12.1 开始,您可以在 SELECT 语句出现的同一 SQL 语句中定义函数和过程。这允许在 PL/SQL 和 SQL 引擎之间进行上下文切换,允许这两个步骤都在 SQL 引擎中发生,从而提高性能。函数或过程需要使用 WITH 子句定义。请记住,在以前版本的 Oracle 平台中,只有子查询可以在 WITH 子句中定义。示例WITH FUNCTION func_amount(p_emailid IN VARCHAR2) RETURN NUMBER IS l_amt……阅读更多

如何在 PL/SQL 中捕获 Oracle 错误?

Kiran P
更新于 2020-12-05 06:12:50

3K+ 次浏览

问题:您想在 PL/SQL 中捕获 Oracle 错误。解决方案:借助 OTHERS 异常处理程序,可以捕获所有 Oracle 错误。让我们来看一个示例。我们将使用 students 表来演示其用法。让我们首先查看表结构。示例DESC students;输出Name Null? Type------------- -------- ------------STUDENT_ID NUMBER(6)FIRST_NAME VARCHAR2(20)LAST_NAME NOT NULL VARCHAR2(25)EMAIL NOT NULL VARCHAR2(40)PHONE_NUMBER VARCHAR2(20)JOIN_DATE ……阅读更多

如何在 Oracle 中生成 JSON 数据并执行模式验证?

Kiran P
更新于 2020-12-05 06:10:58

883 次浏览

问题:您想在 Oracle 中生成 JSON 数据并执行模式验证。解决方案:可以使用 JSON_OBJECT、JSON_ARRAYAGG、JSON_QUERY 等函数使用多个列和表生成复杂的 json 数据。JSON_OBJECT:- 这是一个 SQL/JSON 函数。JSON_OBJECT 将一个或多个属性键值对作为输入。它返回一个 JSON 对象,该对象为每个键值对包含一个对象成员。JSON_ARRAYAGG:- SQL/JSON 函数 JSON_ARRAYAGG 是一个聚合函数。它将 SQL 表达式列作为输入,将每个表达式转换为 JSON 值,并返回包含这些 JSON 值的单个 JSON 数组。JSON_QUERY:- JSON_QUERY 查找一个或多个……阅读更多

如何在 Oracle 中使用 DATETIME 函数?

Kiran P
更新于 2020-12-05 06:08:36

441 次浏览

问题:您想使用 datetime 函数来提取或处理日期时间。解决方案:ADD_MONTHS()ADD_MONTHS(x, y) 返回将 y 个月添加到 x 的结果。如果 y 为负数,则从 x 中减去 y 个月。示例-- 添加 12 个月 SELECT ADD_MONTHS('01-JAN-2020', 12) FROM dual;输出-- 01/JAN/21示例-- 减去 12 个月 SELECT ADD_MONTHS('01-JAN-2020', -12) FROM dual;输出-- 01/JAN/21我们可以向 ADD_MONTHS() 函数提供时间和日期。示例SELECT ADD_MONTHS(TO_DATE('01-JAN-2020 01:01:01', 'DD-MON-YYYY HH24:MI:SS'), 2) FROM dual;输出-- 01/MAR/20LAST_DAY()LAST_DAY(x) 返回 x 的月份部分的最后一天的日期。示例SELECT LAST_DAY('01-JAN-2020') FROM dual;输出-- 31/JAN/20MONTHS_BETWEEN()MONTHS_BETWEEN(x, y) 返回 x 和 y 之间的月数。如果 x 在 y 之前……阅读更多

如何在 Oracle 中插入和检索日期?

Kiran P
更新于 2020-12-05 06:03:24

21K+ 次浏览

问题:您想将日期插入表中并检索它们。解决方案:Oracle 默认使用 DD-MON-YYYY 格式表示日期,其中 DD 表示两位数的日期。MON 表示月份的前三个字母,例如 FEB。YYYY 是四位数的年份,例如 1968。让我们来看一个向包含名为 dob 的 DATE 列的 customers 表中添加行的示例。以下 INSERT 语句向 customers 表添加一行,并将 dob 列设置为 05-FEB-1968:示例INSERT INTO customers (customer_id, first_name, last_name, dob, phone) VALUES (7, 'James', 'Bond', '31-DEC-2000', '007-007-0007');您也可以使用 DATE 关键字来……阅读更多

广告