使用union查询两张表数据的时候如何把查询的数据存放到临时表中,且为临时表创建主键,求sql语句
答案:3 悬赏:50 手机版
解决时间 2021-03-24 11:52
- 提问者网友:轮囘Li巡影
- 2021-03-23 17:55
使用union查询两张表数据的时候如何把查询的数据存放到临时表中,且为临时表创建主键,求sql语句
最佳答案
- 五星知识达人网友:青灯有味
- 2021-03-23 19:17
一条语句只能做到将表的数据放到临时表,但是不能为临时表创建主键的.
比如:create table temp_table as select * from table;
如果要创建主键的话,就只能写到一个PL/SQL块里面
比如:
declare
begin
execute immediate 'create table temp_table as select * from table';
execute immediate 'alter table temp_table add constraint PK_id primary key on (col_id) ';
end;追问虽然结果不是想要的,也很感谢你的回答...来自:求助得到的回答
比如:create table temp_table as select * from table;
如果要创建主键的话,就只能写到一个PL/SQL块里面
比如:
declare
begin
execute immediate 'create table temp_table as select * from table';
execute immediate 'alter table temp_table add constraint PK_id primary key on (col_id) ';
end;追问虽然结果不是想要的,也很感谢你的回答...来自:求助得到的回答
全部回答
- 1楼网友:山有枢
- 2021-03-23 21:35
select * into #t from a union select * from b --前提两表列的结构要一致,可以将列名一一列出
alter table #t add constraint PK__#t__id primary key on (id)追问#t代表什么意思,能具体点吗,直接写入#t会出现错误的,,新手请指教追答额。。sqlserver的临时表,看来语法不通啊呵呵追问哦,表是不存在的,不用create table #t,这句就会提示表不存在了,我想在一条sql语句中来实现能实现吗?且sql语句的执行结果是新表的内容。谢谢了、。。。追答你是什么数据库啊?sqlserver中select into语句就是创建并填充表的方法
其他的数据库的话我就不清楚是否有这样的语句了追问mysql数据库追答try
Create table new_table_name (Select * from old_table_name);
alter table #t add constraint PK__#t__id primary key on (id)追问#t代表什么意思,能具体点吗,直接写入#t会出现错误的,,新手请指教追答额。。sqlserver的临时表,看来语法不通啊呵呵追问哦,表是不存在的,不用create table #t,这句就会提示表不存在了,我想在一条sql语句中来实现能实现吗?且sql语句的执行结果是新表的内容。谢谢了、。。。追答你是什么数据库啊?sqlserver中select into语句就是创建并填充表的方法
其他的数据库的话我就不清楚是否有这样的语句了追问mysql数据库追答try
Create table new_table_name (Select * from old_table_name);
- 2楼网友:像个废品
- 2021-03-23 20:31
先创建一个序列,你先要保证你这个union的两个查询列完全一致,
先创建一个临时表A ,
CREATE TABLE LINSHI_A AS SELECt 列1,列2 FROM TABLE1 UNIOn SELECt 列1,列2 FROM TABLE2
再创建一个临时表
CREATE TABLE LINSHI_B AS SELECt 序列.NEXTVAL ID(主键名),列1,列2 FROM LINSHI_A
这样LINSHI_B就有了主键,主键名是ID
希望可以帮到你哦!
先创建一个临时表A ,
CREATE TABLE LINSHI_A AS SELECt 列1,列2 FROM TABLE1 UNIOn SELECt 列1,列2 FROM TABLE2
再创建一个临时表
CREATE TABLE LINSHI_B AS SELECt 序列.NEXTVAL ID(主键名),列1,列2 FROM LINSHI_A
这样LINSHI_B就有了主键,主键名是ID
希望可以帮到你哦!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯