如何将 SELECT...INTO 与 JOIN 一起使用?

2024-04-29

我有以下示例代码

DECLARE 
    myRow table%rowtype 
    myVar table2.column%type
BEGIN 
    SELECT table.col1, table.col3, table.col4, table2.column
    INTO myRow 
    FROM table
    JOIN table2
    On table.col6 = table2.col1;
 END;

我如何重构才能使其成为有效的语句?我可以以某种方式将连接的列存储到 myRow 或 myVar 上吗?


您的 PL/SQL 是有效且可接受的,前提是:

  1. 表 TABLE 恰好包含 4 列,对应于您选择的 4 个值。
  2. 该查询将恰好返回 1 行。

如果表 TABLE 不包含正好 4 列,那么您需要选择其他内容,也许只包含 4 个变量:

DECLARE 
    v_col1 table.col1%type;
    v_col3 table.col3%type;
    v_col4 table.col4%type;
    v_column table2.column%type;
BEGIN 
    SELECT table.col1, table.col3, table.col4, table2.column
    INTO v_col1, v_col3, v_col4, v_column
    FROM table
    JOIN table2
    On table.col6 = table2.col1;
END;

如果您的查询返回超过 1 行,您将收到 TOO_MANY_ROWS 异常;如果它没有返回任何行,您将得到一个 NO_DATA_FOUND 异常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 SELECT...INTO 与 JOIN 一起使用? 的相关文章

随机推荐