成语| 古诗大全| 扒知识| 扒知识繁体

当前位置:首页 > 趣味生活

oracle查询结果存入另一张表

Q1:将一个表的查询结果插入到另一个表中(oracle、mysql、sql 、GP)

首先你查询后结果的字段与你要插入的表的字段的类型要一致,假入表 1,表2、将表2中查询出的结果插入到表1中,SQL如下(ORACLE):
INSERT INTO 表1(字段1,字段2,字段n)
select 表2.字段1,表2.字段2,表2.字段n from 表2
这样就可以满足你的要求

Q2:oracle将查询的结果再存入到另一个表中,如何写sql或者说怎么实现

insert into 目标表(字段列表) select 字段列表 from 原始表
能达到你的需求

Q3:oracle中如何将多个查询结果在一张表中显示

--可以使用sql99语法中的外关联 ,如下
SELECT
CASE WHEN 表1.姓名 IS NOT NULL
THEN 表1.姓名
ELSE CASE WHEN 表2.姓名 IS NOT NULL
THEN 表2.姓名
ELSECASE WHEN 表3.姓名 IS NOT NULL
THEN 表3.姓名 ELSE 未知
END
END
END AS 姓名
,表1.人数,表2.人数,表3.人数
FROM 表1 FULL OUTER JOIN
T2 ON 表1.姓名 = 表2.姓名
FULL OUTER JOIN
T3 ON 表1.姓名 = 表3.姓名
--这个方法如果表有n多张的话,名字会写的比较繁琐,但是思路应该没问题
--如果看着麻烦,可以把select和from之间的语句换成 * , 相信你能看懂结果

Q4:oracle怎么从一个数据库查询结果去更新另一个表

--语法
MERGE INTO table_name alias1、USING (table|view|sub_query) alias2、ON (join condition)
WHEN MATCHED THEN
UPDATE table_name
SET col1 = col_val1,
col2= col2_val
WHEN NOT MATCHED THEN
INSERT (column_list) VALUES (column_values);
--实例在一个同时存在Insert和Update语法的Merge语句中,总共Insert/Update的记录数,就是Using语句中alias2的记录数。
MERGE INTO T T1、USING (SELECT 1001 AS a,2 AS b FROM dual) T2、ON ( T1.a=T2.a)
WHEN MATCHED THEN
UPDATE SET T1.b = T2.b
WHEN NOT MATCHED THEN
INSERT (a,b) VALUES(T2.a,T2.b);

猜你喜欢

更多