选择最近插入的记录然后回滚

时间:2012-04-26 13:27:26

标签: sql oracle transactions plsql toad

我回到过于复杂的Oracle世界,我想做以下几点:

  • 将记录插入数据库
  • 再次选择记录
  • 回滚所有内容

我创建了以下无法使用的代码

BEGIN

insert into sometable values (1, 1, 'test', 'test', 1, 'a', 1, 1, 1, 'test', 'test', 'test', 'test', 1);

select *
from sometable
where id = 1;

ROLLBACK;

END;

错误消息:

ORA-06550: line 5, column 1:
PLS-00428: an INTO clause is expected in this SELECT statement

我确信这个问题很明显,但我检查过这些文档并且无法从中获得任何智慧。任何指针都会受到赞赏。

2 个答案:

答案 0 :(得分:3)

您必须将选定的值放入变量 像

DECLARE 
  V_COUNT NUMBER;
BEGIN

insert into sometable values (1, 1, 'test', 'test', 1, 'a', 1, 1, 1, 'test', 'test', 'test', 'test', 1);

select COUNT(1) INTO V_COUNT 
from sometable
where id = 1;

ROLLBACK;

END;

答案 1 :(得分:3)

只需在没有BEGIN..END的情况下从SQL * Plus执行代码;

insert into sometable values (1, 1, 'test', 'test', 1, 'a', 1, 1, 1, 'test', 'test', 'test', 'test', 1);

select *
from sometable
where id = 1;

ROLLBACK;