小编Gor*_*aca的帖子

SQL用于选择具有相同值的连续记录

我有一张测量表.每分钟进行一次测量.我需要为同一个device_id连续多次选择具有相同sample_value的行.

这是初始数据:

    sample_date sample_time device_id   sample_value
    20180701    1010        111         11
    20180701    1011        111         12
    20180701    1012        111         13
    20180701    1013        222         11
    20180701    1014        222         11
    20180701    1015        222         12
    20180701    1016        111         12
    20180701    1017        111         11
    20180701    1018        222         13
    20180701    1019        222         12
    20180701    1020        222         13
    20180701    1021        222         12
    20180701    1022        222         12
    20180701    1023        111         12
    20180701    1024        111         13
    20180701    1025        111         13
    20180701    1026        111         12
    20180701    1027        111         13
    20180701    1028 …
Run Code Online (Sandbox Code Playgroud)

sql gaps-and-islands sql-server-2014

5
推荐指数
1
解决办法
1367
查看次数

哪个查询有更好的性能?

SELECT *
FROM { SELECT * FROM BigMillionTable UNION ALL SELECT * FROM SmallTensTable } 
WHERE (some_condition)
Run Code Online (Sandbox Code Playgroud)

VS

SELECT * 
FROM BigMillionTable 
WHERE (some_condition)

UNION ALL

SELECT * 
FROM SmallTensTable
WHERE (some_condition) 
Run Code Online (Sandbox Code Playgroud)

我的问题:

  1. 第一个查询是否需要将所有行放在 BigMillionTable主内存中才能执行UNION ALL
  2. 哪个查询提供更好的性能?

sql oracle oracle11g query-performance

5
推荐指数
1
解决办法
124
查看次数

如何使用 Babel Polyfill 实现 Promise?

您好,我刚开始使用 Babel 来转换和填充我的代码,以适用于 Edge 和 IE 等旧版浏览器。我目前在为 Promises 填充代码时遇到问题。我检查 Edge,收到的错误是:

创建的钩子出错:“TypeError:对象不支持属性或方法‘最后’

所以问题出在我的 Vue 应用程序中的 finally 方法上。在我的应用程序中,我使用 Axios 从 API 获取数据。

所以我在 CLI 说明下完成了这里的步骤: https: //babeljs.io/setup.html#installation 。我的package.json文件目前看起来像这样:

{
    "name": "job-filtering",
    "version": "1.0.0",
    "description": "",
    "main": "index.js",
    "scripts": {
      "test": "echo \"Error: no test specified\" && exit 1",
      "build": "babel src -d lib"
    },
    "author": "",
    "license": "ISC",
    "devDependencies": {
      "@babel/cli": "^7.2.3",
      "@babel/core": "^7.2.2",
      "@babel/plugin-transform-regenerator": "^7.0.0",
      "@babel/preset-env": "^7.2.3"
    },
    "dependencies": {
      "@babel/polyfill": "^7.2.5"
    }
}
Run Code Online (Sandbox Code Playgroud)

我的.babelrc文件如下所示:

{ …
Run Code Online (Sandbox Code Playgroud)

es6-promise babeljs axios babel-polyfill

5
推荐指数
0
解决办法
8812
查看次数

如何在PL/SQL中的另一个游标内读取游标

我必须完成由离开公司的人完成的开发,我试图理解在另一个游标内部构建的游标..这样的事情:

CURSOR c_fund as select col_1, 
       col_2, 
       CURSOR(select col_10 * {some formula} clo_n, 
                     col_m 
               from table2 
              where col_8 is not null)
(...)
Run Code Online (Sandbox Code Playgroud)

我怎么才能阅读内部光标?当我执行主游标的查询时,我有这个结果:

COL_1        COL_2   CURSOR
-------      ------  -------
11619187    604441  (CURSOR)
11619187    604434  (CURSOR)
11619187    604439  (CURSOR)
Run Code Online (Sandbox Code Playgroud)

当我在CURSOR数据上双击(在TOAD上)时,会弹出一个显示数据的新窗口:

CLO_N   COL_M
-----   ---------------
009511  1g0-M-TPT_BNM
009511  1g0-Q--213_BNM
009511  C--F_R*P_C:R:CT
009511  1g0-M--16_BNM
009511  P*RF_DI-TR
009511  *CR
009511  BOWLING
009511  C--F_BNM
009511  C:PIT:L
009511  N:V
009511  INF--IGN
Run Code Online (Sandbox Code Playgroud)

oracle plsql database-cursor

2
推荐指数
1
解决办法
118
查看次数

从 STATION 查询以元音(即 a、e、i、o 或 u)开头的 CITY 名称列表

从 中查询CITY以元音(即 a、e、i、o 或 u)开头的名称列表STATION

我的答案/尝试过的代码是:

select city from station where REGEXP_LIKE(city,'[^aeiou]+');
Run Code Online (Sandbox Code Playgroud)

但这似乎并不正确。

请帮我解决这个问题。

regex sql oracle regexp-like

2
推荐指数
4
解决办法
1万
查看次数

Oracle pl/sql 更新表的过程 - 异常处理

这是我对 PL/SQL 的第一次查询,我确实花了一个小时试图在网上寻找答案,无论如何 - 就这样。

我正在编写一个更新表的过程,一切正常,但是当我输入更新job_id不存在的表时,我希望异常处理告诉我该表job_id无效,但是我没有收到错误消息。

我的代码如下:

CREATE OR REPLACE PROCEDURE UPD_JOB(p_job_id jobs.job_id%TYPE, p_jobnew jobs.job_title%TYPE)
IS
BEGIN
UPDATE JOBS SET job_title =p_jobnew WHERE JOB_ID = p_job_id;
EXCEPTION
WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('No rows have been updated');
END;
/
Run Code Online (Sandbox Code Playgroud)

然后,我尝试更新一个我知道不存在的 job_id,通过输入以下内容来查看异常是否有效

EXECUTE UPD_JOB('ABCXXX','WILL FAIL');
Run Code Online (Sandbox Code Playgroud)

oracle plsql exception

1
推荐指数
1
解决办法
8880
查看次数

读取当前的NLS_NUMERIC_CHARACTERS会话设置

我必须使用不同的NLS_NUMERIC_CHARACTERSaka逗号分隔符在不同地区运行以数字小数作为参数的报告。

NLS_NUMERIC_CHARACTERS在会话级别设置,例如 与

ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ',.';
Run Code Online (Sandbox Code Playgroud)

表达式NLS_NUMERIC_CHARACTERS = ',.' 表示小数点标记是逗号,千位标记是点。

为了使用户在所有不同区域中都能正确输入内容,我假设NLS_NUMERIC_CHARACTERS正确设置了会话的设置。我想将该会话状态评估为一个字段值,s_nlsparam并使用它正确地将报告参数转换为

.. to_number(expr,format, v_nlsparam) ...
Run Code Online (Sandbox Code Playgroud)

到目前为止的计划。这将ORA-01722: invalid number在多国环境中遏制任何潜力。

现在,我找不到一种方法来读取设置的当前会话状态NLS_NUMERIC_CHARACTERS。我检查了该视图v$session,但没有提供任何此类字段。我都没有使用以下方法找到这样的参数:

select sys_context('USERENV', .... ) from dual
Run Code Online (Sandbox Code Playgroud)

有办法吗?

sql oracle sessioncontext

0
推荐指数
1
解决办法
42
查看次数