RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-256508

Виталий Яндулов's questions

Martin Hope
Виталий Яндулов
Asked: 2024-06-11 17:53:30 +0000 UTC

什么时候需要在 Postgres 中指定文字的数据类型?

  • 5

通过查询和视图承包商从 Oracle 迁移到 PostgreSQL 后,我有以下代码(示例):

         AND (lm.lmurre ~~ '%PFE%'::TEXT OR lm.lmurre ~~ '%OTC%'::TEXT)
         AND lm.lmurre !~~ '%Tenor%'::TEXT
         AND lm.lmurre !~~ '%TN_LMT%'::TEXT
         AND lm.lmurre !~~ '%SR%'::TEXT
         AND xbu.rienshna <> 'RBB'::TEXT
         AND xbu.rienshna !~~ '%ARO%'::TEXT

据我了解,默认情况下文本文字已经是 TEXT 数据类型。问题:如果默认情况下它已经被解释为相同的数据类型,为什么需要指定文字(包括数字)的数据类型?在 Postgres 中是否存在这种情况变得至关重要的情况?

sql
  • 1 个回答
  • 31 Views
Martin Hope
Виталий Яндулов
Asked: 2024-02-20 17:58:19 +0000 UTC

LISTAGG 作为具有累积总计的窗口函数

  • 6

我们需要 SUM 的类似物,但不是求和串联。例如,以下代码有效:

SELECT sum(num) OVER (ORDER BY num ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS running_total
     , num
  FROM (SELECT level AS num FROM dual CONNECT BY level <= 4) t;

或者简单地:

SELECT sum(num) OVER (ORDER BY num) AS running_total
     , num
  FROM (SELECT level AS num FROM dual CONNECT BY level <= 4) t;

将返回结果:

RUNNING_TOTAL 编号
1 1
3 2
6 3

并且下面的代码不起作用(虽然Intellij Idea环境没有看到错误):

SELECT listagg(num, ',') WITHIN GROUP (ORDER BY num)
               OVER (ORDER BY num ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS running_total
     , num
  FROM (SELECT level AS num FROM dual CONNECT BY level <= 10) t;

会返回一个难以理解的错误:“[99999][30487] ORA-30487: ORDER BY not allowed here”(虽然一般情况下可以用作窗口,但只能带 PARTITION 而不能带 ORDER BY。

我想得到结果:

RUNNING_TOTAL 编号
1 1
1.2 2
1,2,3 3

作为一种选择,我想到了使用函数作为聚合器。就像是:

  WITH
    cte(num, lvl) AS (SELECT level AS num
                           , 1 AS lvl
                        FROM dual
                     CONNECT BY level <= 3
                       UNION ALL
                      SELECT c.num - 1 AS num
                           , lvl + 1 AS lvl
                        FROM cte c
                       WHERE num - 1 >= 1)
SELECT listagg(cte.num, ',') WITHIN GROUP (ORDER BY num) AS running_total
     , max(num) AS num
  FROM cte
 GROUP BY lvl
 ORDER BY num;

但问题是是否可以变得更容易。

sql
  • 1 个回答
  • 29 Views
Martin Hope
Виталий Яндулов
Asked: 2023-08-16 23:42:58 +0000 UTC

如何避免在递归查询中重新获取数据?

  • 7

假设我有一个图,其顶点已编号。在表中,我存储图的边,即 边的起点和终点的顶点编号。如何递归提取与给定顶点相关的所有顶点?

图形

我如何尝试做到这一点:

WITH vals AS (
  SELECT 1 A, 2 B FROM DUAL UNION ALL
  SELECT 1 A, 5 B FROM DUAL UNION ALL
  SELECT 1 A, 6 B FROM DUAL UNION ALL
  SELECT 2 A, 3 B FROM DUAL UNION ALL
  SELECT 2 A, 6 B FROM DUAL UNION ALL
  SELECT 3 A, 4 B FROM DUAL UNION ALL
  SELECT 4 A, 1 B FROM DUAL UNION ALL
  SELECT 6 A, 7 B FROM DUAL UNION ALL
  SELECT 2 A, 7 B FROM DUAL UNION ALL
  SELECT 8 A, 9 B FROM DUAL )
SELECT LEVEL, A, B FROM VALS
 START WITH A = 1 -- предположим, ищем связанные с этой вершиной рёбра
CONNECT BY NOCYCLE PRIOR B = A
ORDER BY LEVEL, A;

我能得到什么:

LEVEL, A, B
1,1,5
1,1,2
1,1,6 -- Первый вход вершины 6
2,2,7
2,2,6 -- Второй вход вошедшей вершины 6
2,2,3
2,6,7 -- Первое упоминание ребра
3,3,4
3,6,7 -- Второе упоминание ребра
4,4,1
5,1,5
5,1,6
6,6,7 -- Третье упоминание ребра

但由于某种原因,5、1、2 没有重复。

我想得到什么:

和/或相关顶点的列表

VERTEX_NAME
1
2
3
4
5
6
7

和/或不重复提及已包含的顶点的边列表

LEVEL, A, B
1,1,5
1,1,2
1,1,6
2,2,7
2,2,3
3,3,4
sql
  • 2 个回答
  • 67 Views
Martin Hope
Виталий Яндулов
Asked: 2023-07-10 22:48:56 +0000 UTC

将日期转换为字符串时,如何在 to_char() 中获取双引号?

  • 6

当要求时:

SELECT to_char(sysdate, 'YYYY-"MON"-DD') FROM dual;

我会得到:

2023-MON-10

但我想得到:

2023-"JUL"-10

如何转义 to_char() 格式的双引号?

sql
  • 2 个回答
  • 23 Views
Martin Hope
Виталий Яндулов
Asked: 2022-08-07 22:58:53 +0000 UTC

以所需的顺序从一行中的列表中提取一个元素

  • 0

我将以一个真实案例的简化问题的形式提出一个问题。

给定:表 tab_1,列 col_1 为字符串类型,其中包含元素的枚举。我们举个例子:

WITH tab_1
     AS (SELECT '4,5,44,46,3' col_1 FROM DUAL UNION ALL
         SELECT '7,44'        col_1 FROM DUAL UNION ALL
         SELECT '67,32,5'     col_1 FROM DUAL UNION ALL
         SELECT '26,34,44'    col_1 FROM DUAL)
SELECT col_1
  FROM tab_1;

我们的任务是从 col_1 列的每一行中只提取一个元素,该列也包含在清单“32,34,5,44”中。如果该行具有清单中的两个元素,则取具有最高优先级的一个(优先级相同 32、34、5、44)。预期响应:

 | result_val |
 |------------|
 |      5     |
 |     44     |
 |     32     |
 |     34     |

问题:应该从 tab_1 发出什么请求?

sql oracle
  • 1 个回答
  • 28 Views
Martin Hope
Виталий Яндулов
Asked: 2022-06-10 23:54:16 +0000 UTC

如何在插入中使用关联数组作为参数?

  • 3

我遇到了一种情况,其中函数参数的类型正确,但数据库无法识别它。

简化模型:

-- Создам таблицу для экспериментов
create table my_table (a varchar2(1000));
/
-- Создам заголовок пакета
create or replace package my_pkg as
  type my_type is table of varchar2(1000) index by varchar2(1000);
  function my_func (p_input my_type) return varchar2;
  procedure my_proc;
end my_pkg;
/
-- Создам тело пакета
create or replace package body my_pkg as

  function my_func (p_input my_type) return varchar2 is
  begin
    if p_input is null
      then return null;
      else return p_input(p_input.first);
    end if;
  end;

  procedure my_proc is
    v_val my_type;
  begin
    v_val('Hello,') := ' world!';
    v_val('How') := ' do you do?';
    insert into my_table (a) values (my_func(v_val));
    --dbms_output.put_line(my_func(v_val));
    commit;
  end;

end my_pkg;
/

在这段代码中,编译器会发誓使用v_val以下行:

insert into my_table (a) values (my_func('aga',v_val));

使用错误文本(光标设置为v_val):

错误:PLS-00382:表达式类型错误 行:17 文本:插入 my_table (a) values(my_func(v_val));

在这种情况下,如果将注释移到insert并从中释放,则该行:

dbms_output.put_line(my_func('aga',v_val));

不会发生错误。虽然,很明显,该函数被使用并且相同的参数被传递给它。

可能是什么问题呢?

oracle
  • 1 个回答
  • 10 Views
Martin Hope
Виталий Яндулов
Asked: 2022-04-08 20:54:30 +0000 UTC

连接多个列上的表时的运算符 (+)

  • 3

我遇到了旧的 oracle 代码并且不太了解 (+) 运算符的机制。最简单的情况

SELECT *
  FROM A, B
 WHERE A.COL1 = B.COL1(+)

为了理解,它很容易转换为

SELECT *
  FROM A
  LEFT JOIN B ON A.COL1 = B.COL1

加入多个列时,查询

SELECT *
  FROM A, B
 WHERE A.COL1 = B.COL1(+)
   AND A.COL2 = B.COL2(+)

转换成

SELECT *
  FROM A
  LEFT JOIN B ON A.COL1 = B.COL1
             AND A.COL2 = B.COL2

当并非所有列都用运算符(+)标记时,如何理解以下查询?

SELECT *
  FROM A, B
 WHERE A.COL1 = B.COL1(+)
   AND A.COL2 = B.COL2

在此查询中是否会考虑 (+)?在我对一个小样本的实验中,事实证明 (+) 被忽略了,可以解释为完全内部连接。但肯定不能理解为:

SELECT *
  FROM A, B
 WHERE (A.COL1 = B.COL1 OR B.COL1 IS NULL)
   AND A.COL2 = B.COL2
sql
  • 1 个回答
  • 10 Views
Martin Hope
Виталий Яндулов
Asked: 2022-04-02 19:58:27 +0000 UTC

是否有可能找出谁发送了执行请求?

  • 1

找到正确的查询:

SELECT s.*
  FROM v$sql s 
 WHERE SQL_TEXT like '%BLABLA%';

如何找出用户发送它执行的操作系统?

sql
  • 1 个回答
  • 10 Views
Martin Hope
Виталий Яндулов
Asked: 2022-07-05 20:15:35 +0000 UTC

如何强制 DBMS 从另一个表开始构建查询?

  • 3

请求很大,有很多join,但是本质是这样的:

  • 有一个表 TABLE_A 从中抽样很小。首先提取此选择并将另一个表(TABLE_B)加入其中是合乎逻辑的。
  • 使用用于从 TABLE_A 中选择的谓词的一些输入参数,该计划完全按照所描述的方式构建。但是对于其他人(会有稍大的样本,但不显着),来自 TABLE_B 的查询首先开始运行,并且表 TABLE_A 已经加入到它。

这需要十倍的时间。我不知道统计数据有什么问题。

如何明确提示 DBMS 从 TABLE_A 构建查询?
这可能吗?

sql
  • 1 个回答
  • 10 Views
Martin Hope
Виталий Яндулов
Asked: 2022-03-25 00:35:46 +0000 UTC

如何将 NULL 传递给重载函数?PLS-00307:与此调用匹配的“MY_FUNC”描述过多

  • 2

我在一个包中有几个重载函数。例如:

function my_func(i_val varchar2) return varchar2 is
begin
  return '!' || i_val || '!';
end;

function my_func(i_val number) return varchar2 is
begin
  return to_char(i_val+1);
end;

只要我们传递 . 以外的值,一切都很好NULL。NULL如果我们提前将它分配给一个变量,我们甚至可以转移。也就是说,代码将起作用:

declare
  a number;
  b varchar2(32767);
begin
  b := my_pkg.my_func(i_val => a);
end;

但是如果我们传递一个 NULL 标量:

declare
  b varchar2(32767);
begin
  b := my_pkg.my_func(i_val => null);
end;

我们会发现错误:

PLS-00307:与此调用匹配的“MY_FUNC”描述过多

是否有可能以某种方式排除这种情况?例如,显式设置在这种情况下调用哪个函数。

sql
  • 1 个回答
  • 10 Views
Martin Hope
Виталий Яндулов
Asked: 2022-03-17 18:40:27 +0000 UTC

如何检查对象的所有属性是否为 NULL?

  • 3

对象类型变量可以是NULL. 用这条线来捕捉这种情况非常简单:

if v_obj is null then ...

但是,如果变量本身已初始化,但绝对每个属性都包含值NULL怎么办?使用数组,一切都很简单。我们可以抓住这一刻:

if v_arr is null or v_arr is empty then ...

有没有类似的方法来理解一个对象的所有属性都包含一个空值?

例如:

create or replace type t_obj as object (
        a number,
        b number,
        c number,
        constructor function t_obj return self as result);
/
create or replace type body t_obj as
constructor function t_obj return self as result is
    begin
        return;
    end;
end;
/
declare
  v_obj t_obj;
begin

  if v_obj is null /* or ??? */  
    then dbms_output.put_line('v_obj is null'); 
    else dbms_output.put_line('v_obj is not null'); 
  end if;

  v_obj := t_obj();
  if v_obj is null /* or ??? */ 
    then dbms_output.put_line('v_obj is null'); 
    else dbms_output.put_line('v_obj is not null'); 
  end if;

  v_obj.a := 5;
  if v_obj is null /* or ??? */  
    then dbms_output.put_line('v_obj is null'); 
    else dbms_output.put_line('v_obj is not null');
  end if;

end;

结果,在控制台中我们将看到:

v_obj is null
v_obj is not null
v_obj is not null

我想看看(在替换 ??? 并打开评论之后)

v_obj is null
v_obj is null
v_obj is not null

作为一个选项,我看到:将MAP MEMBER FUNCTION对象类型添加到正文和if v_obj = t_obj(). 但是,不幸的是,无法访问类型代码(由生成器提供)。

oracle
  • 1 个回答
  • 10 Views
Martin Hope
Виталий Яндулов
Asked: 2022-03-15 18:33:52 +0000 UTC

ORA-22813: 操作数值超出系统限制

  • 4

在特定情况下我无法弄清楚错误的含义,扩展坞并没有节省太多。

我在 PLSQLDeveloper 的 SQL 窗口中执行查询:

SELECT *
  FROM TABLE(pkg_products.get_products(i_var => 'some argument'));

该查询返回三个对象类型的对象。该对象有一个字段 field1,它也是对象类型(包含字段 innerField1、...、innerFieldN)。同时,在PLSQLDeveloper中,内部对象的每个字段也显示在一行中。此外,其中一个内部字段是类型的集合:

create or replace type t_StringList as table of varchar2(32767 char)

也就是说,查询的结果将如下所示:

|  field0  |  field1.innerField1  |  field1.innerField2 | field2  |
-------------------------------------------------------------------
|    3     |      'Hello,'        |    <Collection>     |  12312  |
|    13    |      'World'         |    <Collection>     |   3213  |
|    11    |      '!'             |    <Collection>     |   323   |

即,显示三行。我想看看集合的内容(在有集合的单元格中,请求执行后,它只是说<Collection>)。我单击单元格值旁边的三个点:

单元格屏幕截图

之后,我希望在新窗口中看到集合的内容(字符串列表)。但是,标题中提到的错误却出现了:

错误截图

同时,在内容上,又像是普通的短句。如果您执行 PLSQL 块,您可以看到它们:

declare
  c t_StringList;
begin
  c := pkg_products.get_products(i_var => 'some argument')(3).field1.innerField2;
  for i in 1..c.count loop
    dbms_output.put_line(c(i));
  end loop;
end;

在控制台中,我们将看到相当预期的值:

Ожидаемое_значение_1
Ожидаемое_значение_2
Ожидаемое_значение_3

问题:错误的性质是什么,是否可以通过某种方式解决/规避?

sql
  • 1 个回答
  • 10 Views
Martin Hope
Виталий Яндулов
Asked: 2022-02-12 20:57:03 +0000 UTC

这怎么可能?该过程在一个视图中,但不是在另一个视图中

  • 0

我查看两种表示形式,一种是程序,另一种是 - 不存在。同时,它成功下降。

SQL> SELECT OBJECT_NAME FROM USER_PROCEDURES WHERE OBJECT_TYPE = 'PROCEDURE';

OBJECT_NAME
--------------------------------------------------------------------------------
SQL> SELECT OBJECT_NAME FROM USER_OBJECTS WHERE OBJECT_TYPE = 'PROCEDURE';

OBJECT_NAME
--------------------------------------------------------------------------------
EX_LOG_CLEAR
sql
  • 1 个回答
  • 10 Views
Martin Hope
Виталий Яндулов
Asked: 2022-02-09 22:50:16 +0000 UTC

一种将除法的其余部分从一个除数变为除数的优雅方法?

  • 2

对于正常划分:

SELECT mod(6,3) a FROM dual;

我们将得到零。如果我们不是除以 6,而是除以 5 或 4,那么我们分别得到 2 或 1。

有没有一种很好的方法来获得除数(3)而不是零?

作为一种选择:

SELECT case when mod(6,3) = 0 then 3 else mod(6,3) end a FROM dual;

但是这样的设计看起来太繁琐了,而且要分两次。

sql
  • 1 个回答
  • 10 Views
Martin Hope
Виталий Яндулов
Asked: 2022-01-29 17:55:17 +0000 UTC

使用 varchar2(32767) 和 varchar2(20) 所需的资源?

  • 2

消耗的资源、分配的内存大小、机器时间是否有差异?

当然,我们讨论的是两个变量包含相同数量的数据的情况:

declare
  a  varchar2(32767) := 'Hello, World!';
  b  varchar2(20)    := 'Hello, World!';
begin
  --TODO
end;
oracle
  • 1 个回答
  • 10 Views
Martin Hope
Виталий Яндулов
Asked: 2022-01-28 06:23:50 +0000 UTC

如何用括号替换字符串中的点?

  • 3

有一行:

$.DETAILS.1.PKG.1.USER_PARAMS.4.NAME

你需要记住它:

$.DETAILS(1).PKG(1).USER_PARAMS(4).NAME

我正在尝试固定regexp_replace,但模板中的某些内容不起作用。

您需要在 SQL 中使用:

select ??? from (
  select '$.DETAILS.1.PKG.1.USER_PARAMS.4.NAME' a from dual) t
sql
  • 1 个回答
  • 10 Views
Martin Hope
Виталий Яндулов
Asked: 2022-01-06 10:06:46 +0000 UTC

摄像头 audioListener 已禁用,但在 android 上仍可听到声音

  • 1

在游戏中,要关闭声音,我只是关闭了相机上的 AudioListener 组件。在统一编辑器中运行时确实关闭了声音。但是在安装apk文件的时候,声音被保存了(按钮图片发生变化,这意味着点击工作)。android上的声音处理有区别吗?下面是静音按钮的代码:

public void MusicOnOff()
{
    if (PlayerPrefs.GetString("music") == "off")
    {
        PlayerPrefs.SetString("music", "on");
        GetComponent<Image>().sprite = MusicOn;
        Camera.main.gameObject.GetComponent<AudioListener>().enabled = true;
    } else
    {
        PlayerPrefs.SetString("music", "off");
        GetComponent<Image>().sprite = MusicOff;
        Camera.main.gameObject.GetComponent<AudioListener>().enabled = false;
    }
    GetComponent<AudioSource>().Play();
}
android
  • 1 个回答
  • 10 Views
Martin Hope
Виталий Яндулов
Asked: 2021-12-07 19:21:32 +0000 UTC

Oracle 11g 的 CROSS APPLY 类似物及其“成本”

  • 3

任务:从号码表中找到每个员工的电话号码。但仅当每个员工只有一个数字时才输出,否则null而不是数字。

解决方案CROSS APPLY:

SELECT n.name, t.phone_num
  FROM emp_names n
  CROSS APPLY (SELECT phone_num 
                 FROM phones p
                WHERE p.name = n.name
                GROUP BY phone_num
                HAVING count(*)=1) t

但是这个方法在 11g 中不适用,因为。还没有CROSS APPLY。我正在尝试使用子查询的解决方案:

SELECT n.name,
       (SELECT phone_num
          FROM phones p
         WHERE p.name = n.name
         GROUP BY phone_num
        HAVING count(*)=1) phone_num
  FROM emp_names n

是否相当于请求的成本?毕竟,如果在表中emp_names我们有一个名称 1000 次,那么将有 1000 个相同的子查询具有相同的答案。同时,phones从表中拉出所有相同号码的人并加入也不是一种选择,因为 这张桌子很大。

有没有类似CROSS APPLYOracle 11g 更经济的方式?

sql
  • 3 个回答
  • 10 Views
Martin Hope
Виталий Яндулов
Asked: 2021-11-23 18:30:33 +0000 UTC

如何访问 table() 中标量类型集合的列?

  • 4

假设我们有转换为表格的结果。

如何访问这样的表中的列?

declare
  a t_numbers;
  c t_numbers;
begin
  
  select * bulk collect into a from (select 1 d from dual union all select 2 d from dual);
  select * bulk collect into c from table(a) a1 where a1.??? = 2;
                                                   ------^^^
  FOR i IN 1..c.COUNT LOOP
      DBMS_OUTPUT.PUT_LINE(c(i));
  END LOOP;
end;
sql
  • 1 个回答
  • 10 Views
Martin Hope
Виталий Яндулов
Asked: 2021-10-21 21:03:31 +0000 UTC

是否可以对索引大于 30 亿的集合进行索引?

  • 2

工作代码示例:

declare
  type a is table of number index by pls_integer;
  b a;
begin
  b(1) := 5;
end;

但是这样就不可能写了b(3000000000),因为 这个索引远超pls_integer,但是你需要使用超过 21 亿。你可以把它改成index by varchar2,但是这样会增加 30% 的查询执行时间。

index by number不起作用:

declare
  type a is table of number index by number;
  b a;
begin
  b(1) := 5;
end;

错误报告 -
ORA-06550:第 2 行,第 13 列:
PLS-00315:实施限制:不支持的表索引类型

有没有办法使用大于 21 亿的数字索引?

数组中的元素并不多。

oracle
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5