【发布时间】:2015-07-14 19:05:09
【问题描述】:
正如您在下面看到的,这是一个非常简单的选择语句。它不在存储过程中,我最近添加了变量 START_DT 和 END_DT 以便我可以更动态地使用它。我收到以下错误:
ORA-06550:第 8 行,第 1 列:PLS-00428:INTO 子句应在 这个 SELECT 语句 06550. 00000 - “第 %s 行,第 %s 列:\n%s”
我看了一遍,发现的大部分问题都与存储过程有关,所以如果这是重复的,我深表歉意。我对 PL/SQL 还很陌生,但我使用 SQL Server 已经 7 年多了,所以我想这是一个语法问题。下面是我的代码
DECLARE
START_DT DATE;
END_DT DATE;
BEGIN
START_DT := TO_DATE('2015-06-01');
END_DT := TO_DATE('2015-06-30');
select TRUNC(txns.txn_gl_post_dt) DATED,
acc.acc_nbr ACCT,
ACC.ACC_POO_POOL POOL,
txns.txn_amt CHGOFF_AMT
FROM ACCOUNTS ACC
JOIN TXNS TXNS
ON TXNS.TXN_AAD_ID = ACC.ACC_AAD_ID
AND TXNS.TXN_TCD_CODE = 'ADV_CHGOFF'
WHERE ACC.ACC_STATUS_CD in ('CHGOFF','ACTIVE')
AND TRUNC(TXNS.TXN_GL_POST_DT) BETWEEN START_DT AND END_DT
order by 1;
END;
我怀疑这是我处理变量的方式,有什么想法吗?
【问题讨论】:
-
PL/SQL 是 PL/SQL,无论您是使用它来定义存储过程还是使用匿名 PL/SQL 块。存储过程中有关此错误的每个答案都适用于您的问题。