日期:2014-05-17  浏览次数:20764 次

将查询出来的某个字段插入到临时表里,查完临时表要drop掉,sql语句怎么写?
怎么将 select出来的某个字段 into 到某张临时表里 我要查所有员工营业额的排名 把排名后的员工姓名插入一张临时表里 取他的名次 临时表查询完后还要drop掉 sql语句怎么写的呀?

------解决方案--------------------
写存储过程呗。
SQL code
create or replace procedure test_proc
as
vs_sql varchar2(255) := 'drop table temp';
begin
  insert into temp(col1,col2) select col1, col2 from table1;--这块取营业额的逻辑和条件你自己想想,没时间写那么细了。
  commit; --其实最好加上exception 的异常处理
  --取名次后,DROP临时表
  execute immediate vs_sql;
end;

------解决方案--------------------
建立临时表的时候用会话级别的即可

--ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行)
--ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表。
------解决方案--------------------
SQL code

SELECT vale1, value2 into Table2 from Table1; --Table2自动创建
...
drop table Table2 ;