Simple Select给我:PLS-00428:预计会有INTO子句

时间:2015-07-14 19:05:10

标签: sql oracle plsql

如下所示,这是一个非常简单的选择语句。它不在存储过程中,我最近添加了变量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;

我怀疑这是我如何处理变量,任何想法?

1 个答案:

答案 0 :(得分:0)

PL / SQL块不能只运行查询。需要将值插入到另一个表中,插入到变量中,插入到某种编码字符串中。

因此,你不能随便做你想做的事。