0

我在 Oracle SQL Developer 中创建存储过程。我正在尝试比较 2 个表的两列,如果任何表有更多记录,我需要收集它们并将其存储在(另一个表)中投掷

ORA-01422:精确提取返回超过请求的行数 ORA-06512:在“TEST_VAL”,第 73 行 ORA-06512:在第 2 行

如果我将其作为 SQL 查询运行,这是运行良好的查询

SELECT h.STATEMENTNUMBER, h.STATEMENTTOTAL
FROM statement_header h
MINUS
SELECT j.STATEMENTNUMBER, j.STATEMENTTOTAL
FROM jwf_statement j;

我的存储过程看起来像这样

create or replace PROCEDURE        TEST_VAL 
IS
l_num_recs        VARCHAR2 (20);
BEGIN
select STATEMENTNUMBER into  l_num_recs
from
(SELECT H.STATEMENTNUMBER, H.STATEMENTTOTAL
FROM statement_header H
MINUS
SELECT J.STATEMENTNUMBER, J.STATEMENTTOTAL
FROM jwf_statement J

);
insert into l_num_recs values(l_num_recs);
Commit;
End;

任何帮助都会得到帮助

4

1 回答 1

1
create or replace PROCEDURE        TEST_VAL 
IS
BEGIN
insert into destinationTableName
select STATEMENTNUMBER
from
(SELECT H.STATEMENTNUMBER, H.STATEMENTTOTAL
FROM erocks.statement_header_staging H
MINUS
SELECT J.STATEMENTNUMBER, J.STATEMENTTOTAL
FROM erocks.ps_jwf_statement_staging J
);
Commit;
End;
于 2013-04-24T14:04:06.393 回答