【发布时间】:2022-01-06 12:47:48
【问题描述】:
我在运行此查询时遇到此错误。
PLS-00428:此 SELECT 语句中需要一个 INTO 子句
查询:
DECLARE
v_flag_tipo_factu varchar2(20);
BEGIN
SELECT valor_param INTO v_flag_tipo_factu FROM t_param WHERE cod_param =
'TIPOFAC';
if v_flag_tipo_factu = 'FN' THEN
SELECT
substr('00' || to_char(cta.cod_correo), -2) ||
substr('000000000' || to_char(cta.num_cta_cte), -9) ||
substr('000000000' || to_char(max(distinct fac.num_fac)),- 9)
FROM
t_acc_const cta,
t_fac fac
WHERE
cta.num_cta_cte = fac.num_cta_cte AND
fac.num_factura < 900000000
GROUP BY cta.cod_correo, cta.num_cta_cte;
end if;
END;
我预计会有 240,000 个这样的结果:
13000291956000774037
06000167340000223372
13000089241000246480
13000057283000105163
06001632092003471840
13000093581000257191
12000252313001947873
06000120216000066999
06000309294001948770
13000192054000285006
【问题讨论】:
-
作为错误状态,在 PL/SQL 块中,有必要使用
intosintax 将查询返回的数据存储在某个变量中。 -
阅读手册。特别是Select Into。