oracle数据库:数据的管理维护之二
一、任务
1、修改商品信息表中折扣为0的列值为1
2、修改用户信息表中的为null的出生日期为1985年1月1号
3、商品单价根据需要准备提价10%,请修改
4、修改采购单中的总金额,总金额的计算规则是:每一个采购单主表的总金额为该采购单明细表中的各商品采购金额(采购单价*采购数量)之和
5、将2010年有采购的供应商信息的备注修改为"2010年有采购"
6、将库存为0的商品删除
7、将购物系统中的数据进行清空
二、脚本
1、update t_goods set gdiscount=1 where gdiscount=0;
2、update t_user set ubirthday=to_date('1985-01-01','yyyy-mm-dd') where ubirthday is null;
3、update t_goods set gprice=(gprice+gprice*0.1);
4、update t_main_procure set pamount=(select sum(pprice*pnum) from t_procure_items where pmid=t_main_procure.pmid);
5、update t_supplier set smemo='2010年有采购' where sid in(select pid from t_main_procure where to_char(pdate,'yyyy')='2010')
6、delete from t_goods where gstocks=0;
三、相关
delete\trancate\drop都涉及删除数据。
delete属于DML语句,删除数据库中指定条件的数据,优点是,需要显式或者隐式执行commit进行提交才能反映到数据库中可以回滚,附带where子句进行删除数据的过滤,可以有选择性地删除数据,其主要缺点是数据记录实际上没有删除,而是被记录为unused,故删除的数据所占用的存储空间也不会被释放。
truncate属于DDL语句,快速删除指定表的所有数据,将重新设置高水平线和所有的索引。缺点是执行之后无法回滚,而且不能附带where子句过滤数据。
drop属于DDL语句,删除表的同时将删除表数据,释放表数据空间,并且将该表相关的索引、完整性结束、触发器等对象也一起被删除,显式提交操作,执行之后无法回滚
本文来源 我爱IT技术网 http://www.52ij.com/jishu/5059.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
