RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

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

Alex Konkin's questions

Martin Hope
Alex Konkin
Asked: 2022-06-26 20:03:05 +0000 UTC

按级别执行连接时重复

  • 0

请告诉我如何更改查询,以便最终级别不重复行,即执行后有 8 行,而不是 30 行。例如,您可以写 distinct,但查询需要很长时间是时候处理大数据了。

with cte as 
(select 1 as first_ticket_barcode
from dual

union all

select 5 as first_ticket_barcode
from dual
)

select first_ticket_barcode + level -1
from cte
connect by level <= 4
plsql connect
  • 1 个回答
  • 29 Views
Martin Hope
Alex Konkin
Asked: 2022-03-12 16:12:55 +0000 UTC

数据类型和子类型有什么区别?

  • 2

没找到明确的解释,用数据类型声明变量和用子类型声明有什么区别?

例如,如果我声明一个具有类型varchar2的变量或具有从创建的子类型的变量,有什么区别varchar2?

oracle
  • 2 个回答
  • 10 Views
Martin Hope
Alex Konkin
Asked: 2022-09-15 00:09:14 +0000 UTC

嵌套过程块中的 RETURN 是什么?

  • 1

如果条件为真,RETURN 过程将返回什么?

PROCEDURE reload(p_sequence VARCHAR2) IS 
BEGIN
    DECLARE
        lb_is_enabled CHAR (1);
    BEGIN
        BEGIN
            SELECT is_enabled INTO lb_is_enabled
            FROM tload
            WHERE sequence_name = p_sequence;
        EXCEPTION
            WHEN NO_DATA_FOUND THEN NULL;
        END;

        IF NVL (lb_is_enabled, 'Y') != 'Y'
        THEN
            RETURN;
        END IF;
    END;
END;

还是只需要这个构造来退出嵌套块?

oracle
  • 1 个回答
  • 10 Views
Martin Hope
Alex Konkin
Asked: 2022-07-29 22:02:33 +0000 UTC

使用 table.column %TYPE 声明变量的类型

  • 1

该脚本在“Oracle PL/SQL for Professionals”一书中介绍:

PROCEDURE explain_joke (main_category_in IN joke_category.category_id%TYPE)
IS
 /*
 || Курсор со списком параметров, состоящим
 || из единственного строкового параметра.
 */
 CURSOR joke_cur (category_in IN VARCHAR2)
 IS
 SELECT name, category, last_used_date
 FROM joke
 WHERE category = UPPER (category_in);
 joke_rec joke_cur%ROWTYPE;
BEGIN
 /* Теперь при открытии курсора ему передается аргумент */
 OPEN joke_cur (main_category_in)

请解释为什么在为过程中的参数声明类型时指定explain_joketable.column ( )。joke_category.category_id

这是一个错误还是允许这个变量声明?

oracle
  • 1 个回答
  • 10 Views
Martin Hope
Alex Konkin
Asked: 2022-07-29 20:36:06 +0000 UTC

声明显式游标时是否需要 RETURN 子句?

  • 2

有这个代码:

CURSOR emp_cur RETURN employees%ROWTYPE
 IS
 SELECT * FROM employees
 WHERE department_id = 10;

你能解释一下为什么这里需要这个子句RETURN吗?
然后我是否需要将光标传递给变量,例如:ins_c emp_cur%ROWTYPE;?

oracle
  • 1 个回答
  • 10 Views
Martin Hope
Alex Konkin
Asked: 2022-06-10 16:58:57 +0000 UTC

如何从 CLOB 列中提取 JSON 数据并以表格形式显示?

  • 1

请告诉我,如何从 CLOB 列中提取数据,以及如何将存储在其中的数据显示在 JSON 表中?

sql
  • 1 个回答
  • 10 Views
Martin Hope
Alex Konkin
Asked: 2022-05-19 19:37:55 +0000 UTC

没有足够的缓冲区来显示查询结果

  • 3

有这个块:

declare
    type restype is table of varchar2 (64);
    res restype; 
    tabnam varchar2(200):= '&table_l' ;
    colnum int;
    colnam varchar2 (32) := &column_l;
begin
    select column_name into colnam
    from all_tab_columns
    where owner||'.'||table_name = upper (tabnam)
    and column_id = colnam;
    EXECUTE IMMEDIATE 'select '||colnam||' from '||tabnam bulk collect into res;
    for i in 1..res.count loop
        dbms_output.put_line (res(i)); 
    end loop;
end;

此查询返回由参数(表 + 列号)指定的列的所有行。问题是行数过多,超出了缓冲区限制。

有没有办法解决这个问题?
也许根据这个请求创建一个函数会有所帮助?

sql
  • 2 个回答
  • 10 Views
Martin Hope
Alex Konkin
Asked: 2022-05-19 17:05:27 +0000 UTC

错误:ORA-01422:使用 EXECUTE IMMEDIATE 执行查询时,精确提取返回的行数超过了请求的行数

  • 1
declare
    res varchar2(200);
    tabnam varchar2(200) := 'DWH_gate.T$TERMINAL';
    colnum int := 3;
    colnam varchar2 (32) := 'ID_AGENT';
begin
    EXECUTE IMMEDIATE 'select '||colnam||' from DWH_gate.T$TERMINAL' into res;
    dbms_output.put_line (res);
end;

此查询引发错误。我知道错误是显示的不是一行,而是几行,而且很可能需要一个光标。但是无论我尝试了多少,错误仍然出现。

或者有一个稍微修改的查询:

declare
    res varchar2(200);
    tabnam varchar2(200) := 'DWH_gate.T$TERMINAL';
    colnum int := 3;
    colnam varchar2 (32) := 'ID_AGENT';
begin
    res := 'select '||colnam||' from DWH_gate.T$TERMINAL';
    EXECUTE IMMEDIATE res;
    dbms_output.put_line (res);
end;

但它显示简单select ID_AGENT from DWH_gate.T$TERMINAL。

如何获取查询结果?

sql
  • 1 个回答
  • 10 Views
Martin Hope
Alex Konkin
Asked: 2022-04-13 03:05:30 +0000 UTC

创建 piplined 函数时出错:PLS-00321:表达式 <数据类型> 不适合作为赋值语句的左侧

  • 2

我有一个包含以下示例数据的表:

with t as (
select 123456 DRAW_KEY, 1 WINCAT_NUM,0 WIN_AMOUNT,0 WIN_COUNT
from dual
union all
select 123456 DRAW_KEY, 2 WINCAT_NUM,0 WIN_AMOUNT,0 WIN_COUNT
from dual
union all
select 123456 DRAW_KEY, 3 WINCAT_NUM,0 WIN_AMOUNT,0 WIN_COUNT
from dual
union all
select 123456 DRAW_KEY, 4 WINCAT_NUM,30000 WIN_AMOUNT,12 WIN_COUNT
from dual
union all
select 123456 DRAW_KEY, 5 WINCAT_NUM,6000 WIN_AMOUNT,73 WIN_COUNT
from dual
) select * from t

基于这些数据,我创建了一个piplined函数:

CREATE TYPE l_result AS OBJECT (
  DRAW_KEY number,
  WINCAT_NUM  number,
  WIN_AMOUNT number,
  WIN_COUNT number);
/
CREATE TYPE table_pip IS TABLE OF l_result;

CREATE FUNCTION MyFunction1(v_draw_key in number) RETURN table_pip Pipelined IS
  v_query clob;
  v_cols clob;
BEGIN
  select listagg(wincat_num ,', ') within group (order by wincat_num)
  into v_cols
  from customers1
  where draw_key = 123456; --v_draw_key!
  v_query := 'SELECT * FROM (
    select draw_key,wincat_num,win_amount,win_count
    from customers1
    where draw_key = 123456) PIVOT (
      sum(win_count) as win_count,sum(win_amount) as win_amount
      FOR wincat_num IN ('||v_cols||'))';
  EXECUTE IMMEDIATE v_query into l_result;
  pipe row(l_result);
END;

但它给出了错误:

PLS-00321:表达式“L_RESULT”不适合作为赋值语句的左侧

和

PLS-00306:调用“L_RESULT”时参数的数量或类型错误。

我写错了什么,请告诉我?

функции
  • 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