SQL Cookbook—插入、更新与删除
2014-08-05 14:12
302 查看
SQL Cookbook—插入、更新与删除
涉及到的问题–1、从一个表向另外的表中复制行
–2、复制表定义(包含表记录)
–3、一次向多个表中插入记录
–4、
–5、当相应行存在时更新
–6、用其他表中的值更新
–7、删除违反参照完整性的记录
–1、从一个表向另外的表中复制行
insert into dept_test (deptno, dname, loc) select deptno, dname, loc from dept where deptno=10
–2、复制表定义(包含表记录)
create table dept_test as select deptno, dname, loc from dept where deptno=10
–3、一次向多个表中插入记录
问题描述
有时需要将一个表中的数据按照一定的条件分别一次性插入到多个表中,怎样实现?
insert all
when loc in (upper('new york', upper('boston'))) then
into dept_test_1 (deptno, dname, loc) values (deptno, dname, loc)
when loc=upper('chicago') then
into dept_test_2 (deptno, dname, loc) values (deptno, dname, loc)
else
into dept_test_3 (deptno, dname, loc) values (deptno, dname, loc)
select deptno, dname, loc from dept
–4、
insert into (select empno, ename, job from emp) values (1, 'zhangsan', 'java')
–5、当相应行存在时更新
方法一
UPDATE emp
SET sal=sal*1.20
WHERE empno in (SELECT empno FROM emp_bonus)
方法二
UPDATE emp
SET sal=sal*1.20
WHERE exists (SELECT null FROM emp_bonus where emp.empno=emp_bonus.empno)
–6、用其他表中的值更新
UPDATE emp e
SET (e.sla, e.comm)=(SELECT ns.sal, ns.sal/2
FROM new_sal ns
WHERE ns.deptno=e.deptno)
WHERE EXISTS( SELECT NULL
FROM new_sal ns
WHERE ns.deptno=e.deptno)
–7、删除违反参照完整性的记录
例如,某些员工被分配到了一个不存在的部门中,要将这些员工删除。
方法一(推荐)
delete from emp where not exists (select * from dept where dept.deptno=emp.deptno)
方法二
delete from emp where emp.deptno not in (select deptno from dept where dept.deptno is not null)
相关文章推荐
- SQL.Cookbook 读书笔记4 插入更新和删除
- SQL Cookbook—插入、更新与删除
- Linq的技术太强大了分享一下(linq to sql 的插入、更新、查询、删除)
- 循环SQL删除(插入,更新)
- EF结合SqlBulkCopy实现高效的批量数据插入 |EF插件EntityFramework.Extended实现批量更新和删除
- SQL——数据库的修改(删除、插入与更新)
- 20150222—LINQ to SQL 插入、更新和删除
- C#下使用sql语句查询,插入,更新,删除
- SQL_4th_插入insert、查询select、删除delete、更新update
- SQL语句,数据更新,数据插入删除修改和对视图的更新操作
- 在ASP.NET 2.0中操作数据之四十七:用SqlDataSource控件插入、更新、删除数据
- SQL之插入、更新与删除
- 在C#下使用sql语句(查询,插入,更新,删除……)
- EF结合SqlBulkCopy实现高效的批量数据插入 |EF插件EntityFramework.Extended实现批量更新和删除
- sql存储过程 1查询;2插入;3更新;4删除
- 在ASP.NET 2.0中操作数据之四十七:用SqlDataSource控件插入、更新、删除数据
- 一次从项目数据库中的某个表中插入或者更新或者删除n条记录操作t_sql语句
- SQL 数据更新(插入数据,修改数据,删除数据) 实例_(学生,课程表,选修表)
- 学习Unity3D之SQL代码查询和用VS向数据库插入、删除、更新、查询信息。
- [翻译]Scott Mitchell 的ASP.NET 2.0数据教程之四十九:使用SqlDataSource插入、更新以及删除数据