- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MD02-Oracle9i SQLPL/SQL 联创软件学院 在本课中您将学会以下内容: 插入数据 修改数据 删除数据 合并数据 事务控制 数据操纵语言(DML) 用于: 向表中添加新行 修改表中的数据 删除表中的数据 一个事务包括一组逻辑上组合在一起的DML语句 使用INSERT语句向表中插入数据 以上语句一次只能往表中插入一行数据 新插入的行包含所有列的数据时,要按照表中列的缺省顺序排列数据 也可以在INSERT子句中列出要插入数据的列的名称 将字符型数据和日期型数据放在单引号内 隐含方式:在列名列表中省略相应的列名 SYSDATE函数记录了当前的日期 插入一个新员工数据: 验证插入的数据 使用替代变量提示用户输入数据 是变量的前置占位符 在INSERT语句中使用子查询 不要也不能再使用VALUES子句 INSERT子句中的列表与子查询的列表要匹配(顺序、数量和数据类型) 使用UPDATE修改表中的数据 一次可以修改一行,多行或整个表的数据 使用WHERE子句修改指定的一行或多行 如果不使用WHERE子句将修改表中所有的行 将114号员工的job和salary修改成与205号员工的相同 在UPDATE语句中使用子查询 ,可以从其它表中选取数据来修改目标表中的数据 55号部门不存在 使用DELETE语句从表中删除数据 使用WHERE子句删除指定的行 不使用WHERE子句将删除表中所有的行 在DELETE语句中使用子查询 ,可以从其它表中选取数据来删除目标表中的数据 还有子记录存在,其主记录不能被删除 INSERT INTO (SELECT employee_id, last_name, email, hire_date, job_id, salary, department_id FROM employees WHERE department_id = 50) VALUES (99999, Taylor, DTAYLOR, TO_DATE(07-JUN-99, DD-MON-RR), ST_CLERK, 5000, 50); 1 row created. 使用子查询来指定表名和列名 使用WITH CHECK OPTION关键字 当需要设置列的值为其缺省值时,可以使用DEFAULT关键字 这一特性使用户可以灵活控制何时何地需要使用列的缺省值 这一特性可以使用在INSERT语句和UPDATE语句中 在INSERT语句中使用DEFAULT 在UPDATE语句中使用DEFAULT 提供一种有条件的修改或插入数据的能力 如果数据存在则进行UPDATE操作,如果数据不存在则进行INSERT操作 避免单独的update语句 提高性能,简化使用 尤其适合于数据仓库的应用 使用MERGE语句根据条件向表中插入数据或修改表中的数据 根据表EMPLOYEES中的数据插入或修改表COPY_EMP中的数据 数据库事务是指: 一组包含一个数据一致性改变的DML语句 一个DDL语句 一个DCL语句 始于第一个DML语句 结束于以下任意一个事件: COMMIT 或 ROLLBACK语句 DDL 或 DCL语句 (自动提交) 用户退出SQL*Plus 系统瘫痪(非正常事务) 使用COMMIT和ROLLBACK语句,你可以做以下事情: 确保数据一致性 将逻辑相关的操作分组 用SAVEPOINT语句在当前事务中定义保存点 用ROLLBACK TO SAVEPOINT语句回退事务到相应的保存点 在以下情况下,系统会自动进行提交: 发出一个DDL语句 发出一个DCL语句 正常退出SQL*Plus,即使没有显式的进行COMMIT或ROLLBACK操作 在非正常退出SQL*Plus或系统瘫痪时,系统自动进行回退处理 数据的前映像可以被恢复 当前用户可以用SELECT 语句查看所发出的DML语句对数据的改变结果 其他用户不能看到当前DML对数据的改变情况 所涉及到的数据行被锁定,其他用户不能修改这些数据行 数据的改变被永久确定下来 数据的前映像丢失,不能被恢复 数据库中的所有用户都能看到数据的改变情况 数据行上的锁被释放,其他用户也可以处理这些行 所有的保存点都被释放 修改数据 提交数据改变 使用ROLLBACK放弃对数据的所有修改,使数据恢复到修改以前的值 数据修改没有完成 数据恢复到修改以前的值 加在数据上的锁被释放 当一个单一的DML语句失败时,只有这一个语句的执行被回退 所有其它的数据改变被保留 用户需要使用COMMIT或ROLLBACK语句,显式结束事务 在DDL语句的
文档评论(0)