ROWTYPE在insert和update语句里的妙用--转载

转载 2013年12月03日 17:55:21

PL/SQL里的ROWTYPE类型具有非常大的用处和灵活性,现在发现ROWTYPE在insert和update语句里的妙用,可以节省很多代码,特别是在行copy和更新的时候。我在google的搜索结果里,看洋文看的头晕晕的时候找到的,惊喜啊!在oracle官方网站的手册里竟然没有这个,不知道咋回事。

declare
v_dept dept%rowtype;
begin
v_dept.deptno := 60;
v_dept.dname := 'sample';
v_dept.loc := 'chicago';
insert into dept values v_dept;
end;

declare
v_dept dept%rowtype;
begin
v_dept.deptno := 60;
v_dept.dname := 'sample2';
v_dept.loc := 'dallas';
update dept set ROW=v_dept where deptno=v_dept.deptno;
end;

我在oracle10g里调试通过,下面是调试的例子。

declare
rwEmp t_mst_employee%rowtype;
begin
select * into rwEmp from t_mst_employee where emp_no='10001';
rwEmp.emp_no := '20001';

insert into t_mst_employee values rwEmp;
--update t_mst_employee set ROW=rwEmp where emp_no='3900';
end;

相关文章推荐

Oracle中5个核心Sql语句的基本构造:Select、Insert、Update、Delete和Merge

Sql语言提供了很多不同的选择来得到同样的结果集,关键是需要搞清楚在不同的使用场景下哪种构造是最高效的。 1.Select语句 Select语句用来从一个表中,或者其他数据库对象中提取数据。 ...

UPDATE/INSERT/DELETE 语句

  • 2013-11-22 08:29
  • 1.90MB
  • 下载

insert,update导出sql语句

  • 2009-03-14 21:55
  • 113KB
  • 下载

针对MYSQL delete、update、insert语句误操作时的恢复办法

mysql 针对MYSQL delete、update、insert语句误操作(如update忘记加where条件) 目前还没有特别好的办法进行恢复,主要是根据binlog日志文件进行恢复,网上也有 ...

当要在 Oracle 中之心批量 INSERT、UPDATE 和 DELETE 操作时,可以使用 FORALL 语句。比for loop效率高

==index_name:一个无需声明的标识符,作为集合下标使用; ==sql_statement:静态语句,例如:UPDATE或者DELETE;或者动态(EXECUTE IMMEDIATE)DML...

ORACLE MERGE 介绍(合并UPDATE和INSERT语句)

MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。 通过MERGE语句,根据一张表或多表联合查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法...

mysql数据库insert、delete、update语句总结

1)DELETE语句语法 单表语法: DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name     [WHERE where_defini...

Merge Into 语句代替Insert/Update在Oracle中的应用实战

动机: 想在Oracle中用一条SQL语句直接进行Insert/Update的操作。 说明: 在进行SQL语句编写时,我们经常会遇到大量的同时进行Insert/Update的语句 ,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)