Sql 选择最近插入的记录,然后回滚
我回到了甲骨文这个过于复杂的世界,我想做以下几点:Sql 选择最近插入的记录,然后回滚,sql,oracle,transactions,plsql,toad,Sql,Oracle,Transactions,Plsql,Toad,我回到了甲骨文这个过于复杂的世界,我想做以下几点: 将记录插入数据库 再次选择该记录 把一切都往后退 我创建了以下失败的代码 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:
- 将记录插入数据库
- 再次选择该记录
- 把一切都往后退
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
我相信问题是显而易见的,但我已经检查了文档,无法从中获得任何智慧。任何指针都将不胜感激。您必须将选定的值放入变量 像
必须将选定的值放入变量 像
只需从SQL*Plus执行代码,而不必使用BEGIN..END
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;
只需从SQL*Plus执行代码,而不必使用BEGIN..END
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;
声明一个类型为
sometable%ROWTYPE
的变量,然后在变量中选择*。这是一种奇怪的情况,人们觉得有必要问“为什么?”。@davidridge-哈哈,我能理解你为什么问。这仅仅是为了我可以进行更改,检查我是否满意,然后像在SQL Server中一样删除回滚
。声明一个类型为sometable%ROWTYPE
的变量,然后在变量中选择*。这是一种奇怪的情况,人们有义务问“为什么?”大卫德里奇-哈哈,我能理解你为什么这么问。这仅仅是为了让我能够进行更改,检查我是否满意,然后像在SQL Server中一样删除回滚
。这已经停止了错误,但是我如何获得要显示的V_计数值呢?在IDE中设置SERVEROUTPUT,然后在代码块中选择后添加dbms_输出。放入(V_计数)行代码>这已经停止了错误,但如何获得要显示的V_计数值?在IDE中设置SERVEROUTPUT为ON,然后在代码块中选择后添加dbms_输出。put_行(V_计数)代码>