mysql 两表合并成一个表
顺序结构程序设计现有两个单位sdeg和zbut,sdeg表结构为:编号,字符型,宽度为4,主索引;姓名,字符型,宽度为8;部门,字符型,宽度为10;zbut表结构为:编号...
顺序结构程序设计
现有两个单位sdeg和zbut,
sdeg表结构为:编号,字符型,宽度为4,主索引;姓名,字符型,宽度为8;部门,字符型,宽度为10;
zbut表结构为:编号,字符型,宽度为4,主索引;姓名,字符型,宽度为8;部门,字符型,宽度为10;
要求将两个表中表的数据合成一个表sdut,表的结构不变,写出对应的存储过程(提示:注意两个表的主索引) 展开
现有两个单位sdeg和zbut,
sdeg表结构为:编号,字符型,宽度为4,主索引;姓名,字符型,宽度为8;部门,字符型,宽度为10;
zbut表结构为:编号,字符型,宽度为4,主索引;姓名,字符型,宽度为8;部门,字符型,宽度为10;
要求将两个表中表的数据合成一个表sdut,表的结构不变,写出对应的存储过程(提示:注意两个表的主索引) 展开
2个回答
展开全部
假设sdeg和zbug的表结构 都是
ID varchar(4) primary key,
Name varchar(8),
Dept varchar(10),
存储过程如下
CREATE PROCEDURE table_combine()
BEGIN
#第一步把sdeg和zbug两个表进行联合输出到临时表tmp_tab中
create temporary table tmp_tab select * from sdeg union select * from zbut;
#第二步创建结果表sdut,并创建主键
create table sdut(ID varchar(4) primary key, Name varchar(8),Dept varchar(10));
#第三步把临时表里面的重复数据过滤并写入sdut
INSERT INTO sdut(ID,Name,Dept) SELECT distinct ID,Name,Dept FROM tmp_tab;
#drop临时表
drop table tmp_tab;
END
ID varchar(4) primary key,
Name varchar(8),
Dept varchar(10),
存储过程如下
CREATE PROCEDURE table_combine()
BEGIN
#第一步把sdeg和zbug两个表进行联合输出到临时表tmp_tab中
create temporary table tmp_tab select * from sdeg union select * from zbut;
#第二步创建结果表sdut,并创建主键
create table sdut(ID varchar(4) primary key, Name varchar(8),Dept varchar(10));
#第三步把临时表里面的重复数据过滤并写入sdut
INSERT INTO sdut(ID,Name,Dept) SELECT distinct ID,Name,Dept FROM tmp_tab;
#drop临时表
drop table tmp_tab;
END
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询