第八节 修改表内容.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle 10g 第八章 修改表内容 一、使用insert语句添加行 二、使用update语句修改行 三、使用delete语句删除行 四、数据库完整性 五、使用默认值 六、使用merge合并行 七、数据库事务 八、查询闪回 一、使用insert语句添加行 Insert语句用于向表中添加行;在insert语句中,可以指定以下信息: 要插入的行所在的表 要为其指定的列的一个列表 要为这些列指定的值列表 在添加行时,通常需要为主键和其他被定义为not null的列指定值。如果不想,可以不为定义为null的列指定值;默认情况下,这些列都会被设置为空值 1.忽略列的列表 当所有的列都提供值时可以忽略列的列表 一、使用insert语句添加行 2.为列指定空值 Null关键字可以用来为一列指定一个值,如 Insert into custmoer values(8,’sophie’,’white’,null,null); 3.在列值中使用单引号和双引号 在列值中可以使用单引号和双引号,如 Insert into custmoer values(9,’kyle’,’0’,’malley’,null,null); 4.从一个表向另一个表复制行 在insert语句中,可以不使用列值,而是使用查询从一个表向另外一个表复制行;此时要求源表和目标表的列数和列的类型必须匹配 二、使用update语句修改行 Update语句用于修改表中行的内容。在update语句中,通常要指定以下信息: 要修改的行所在的表 指定要修改哪些行的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; 在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_product_price; 三、使用delete语句删除行 Delete语句用于从表中删除行,此时通常应该使用where子句来限定想要删除哪些行,如果不指定where子句,就会删除所有的行 如果已经执行了insert,update和delete语句,使用rollback命令可以回滚所作的修改 四、数据库的完整性 在执行DML语句(例如insert、update或delete)时,数据库会确保表总的行都可以维护自身的完整性,这就是说对表中所做的任何修改都必须总能保持表的主、外键关系 1.主键约束 主键中的每一个值必须是唯一的,如果试图插入一个与主键列值重复的行,数据库就会返回ORA-00001错误 2.外键约束 所谓外键关系就是在一个表中引用了其他表中的列,如果试图插入一个具有不存在的id的行,数据库就会返回ORA-02291错误,这个错误说明数据库无法找到一个匹配的父键值 四、数据库的完整性 如果试图从父表中删除已经有依赖子行的一行,数据库就会返回ORA-02292错误,这个错误是说找到了子记录 五、使用默认值 数据库允许为列定义默认值,如 Create table order_status( Order_status_id integer Constraint default_example_pk primary key, Status varchar2(20) default ‘order placed’ not null, Last_modified date default sysdate ); 如: Insert into order_status(order_status_id) values(1); 五、使用默认值 在update语句中,可以使用default

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档