第八章修改表内容.ppt
《第八章修改表内容.ppt》由会员分享,可在线阅读,更多相关《第八章修改表内容.ppt(32页珍藏版)》请在三一办公上搜索。
1、Oracle 10g,第八章 修改表内容,一、使用insert语句添加行二、使用update语句修改行三、使用delete语句删除行四、数据库完整性五、使用默认值六、使用merge合并行七、数据库事务八、查询闪回,一、使用insert语句添加行,Insert语句用于向表中添加行;在insert语句中,可以指定以下信息:要插入的行所在的表要为其指定的列的一个列表要为这些列指定的值列表在添加行时,通常需要为主键和其他被定义为not null的列指定值。如果不想,可以不为定义为null的列指定值;默认情况下,这些列都会被设置为空值1.忽略列的列表当所有的列都提供值时可以忽略列的列表,2.为列指定空值
2、Null关键字可以用来为一列指定一个值,如Insert into custmoer values(8,sophie,white,null,null);3.在列值中使用单引号和双引号在列值中可以使用单引号和双引号,如Insert into custmoer values(9,kyle,0,malley,null,null);4.从一个表向另一个表复制行在insert语句中,可以不使用列值,而是使用查询从一个表向另外一个表复制行;此时要求源表和目标表的列数和列的类型必须匹配,一、使用insert语句添加行,二、使用update语句修改行,Update语句用于修改表中行的内容。在update语句中,
3、通常要指定以下信息:要修改的行所在的表指定要修改哪些行的where子句要修改的列的一个列表,以及其新增,使用set子句指定Update语句可以同时修改一行或多行记录,如果指定了多行,就对所有这些行进行相同的修改操作Update customers set last_name=orange where customer_id=2;,二、使用update语句修改行,Sql*plus会确认已经修改了一行的内容,如果忽略了where子句,就会修改所有的行。在update语句中使用set语句来指定要修改的列以及该列的新值Select*from customers where customer_id=2;
4、在update语句中,可以同时对多行或多列进行修改,如:Update products set price=price*1.20,name=lower(name)where price=20;,二、使用update语句修改行,Returning子句在oracle 10g中,可以使用returning子句返回使用聚合函数计算的结果Variable average_product_price;Update products set price=price*0.75 returning avg(price)into:average_product_price;Print average_produc
5、t_price;,三、使用delete语句删除行,Delete语句用于从表中删除行,此时通常应该使用where子句来限定想要删除哪些行,如果不指定where子句,就会删除所有的行如果已经执行了insert,update和delete语句,使用rollback命令可以回滚所作的修改,四、数据库的完整性,在执行DML语句(例如insert、update或delete)时,数据库会确保表总的行都可以维护自身的完整性,这就是说对表中所做的任何修改都必须总能保持表的主、外键关系1.主键约束主键中的每一个值必须是唯一的,如果试图插入一个与主键列值重复的行,数据库就会返回ORA-00001错误2.外键约束所
6、谓外键关系就是在一个表中引用了其他表中的列,如果试图插入一个具有不存在的id的行,数据库就会返回ORA-02291错误,这个错误说明数据库无法找到一个匹配的父键值,四、数据库的完整性,如果试图从父表中删除已经有依赖子行的一行,数据库就会返回ORA-02292错误,这个错误是说找到了子记录,五、使用默认值,数据库允许为列定义默认值,如Create table order_status(Order_status_id integerConstraint default_example_pk primary key,Status varchar2(20)default order placed no
7、t null,Last_modified date default sysdate);如:Insert into order_status(order_status_id)values(1);,五、使用默认值,在update语句中,可以使用default关键字修改列的值,并将其重新设置为默认值。Update order_status set status=default where order_status_id=2;,六、使用merge合并行,Merge语句可以用来将一个表中的行合并到另一个表中,如:megre into products p using product_changes pc
8、 on(p.product_id=pc.productid)when matched then update set p.product_type_id=pc.product_type_id,p.name=pc.name,p.description=pc.description,p.price=pc.price when not matched then insert(p.prodduct_id,p.product_type_id,p.name,p.description,p.price)values(pc.product_id,pc.product_type_id,pc.name,pc.de
9、scription,pc.price);,六、使用merge合并行,关于megre语句要注意以下几点:Megre into子句指明了合并操作的目标表Using on子句指定了一个表连接When matched then子句指定了当一行满足using on子句的条件时要执行的操作When not matched子句指定了当一行不满足using on子句的条件时要执行的操作,七、数据库事务,数据库事务就是一组sql语句,这组sql语句是一个逻辑工作单元,我们可以认为事务就是一组不可分割的sql语句,在执行时,应该作为一个整体永久性的修改数据库的内容,或者作为一个整体取消对数据库的修改。1.事务的提
10、交和回滚要永久性的记录事务中sql语句的结果,需要执行commit语句,从而提交事务。要取消sql语句的结果,需要执行rollback语句,从而回滚事务,rollback语句可以将行重新设置为原始状态,在执行回滚操作之前对数据库进行的任何修改操作都会被取消,条件是此前没有断开与数据库的连接在sql中,如果执行commit语句,将会永久性的保存对数据库所进行的修改,七、数据库事务,如:Insert into customer values(6,fred,green,01-JAN-1970,800-555-1215);Commit;Commit语句将这种变化永久性的保存到数据库中,rollback
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 修改 内容

链接地址:https://www.31ppt.com/p-5059002.html