我是新手,现有200个相同结构的表,如EMPLOYEE1,EMPLOYEE2 ,,,EMPLOYEE200,假设我想把字段EMP_NAME导出到文本文件中,该如何做呢?
解决方案 »
- 谁能帮我优化一下sql语句
- Oracle where rownum语句与Order by的优先级
- 急急急 oracle不能登录 监听不能启动
- proc如何能让程序不使用EXEC SQL BEGIN DECLARE SECTION;也能用?
- odbc oracle driver for linux 哪有??
- 怎么在存储过程里面调用链路的存储过程
- 一个存储过程的问题,用IF的问题,急,请大家帮帮忙!
- job里执行一个存储过程,而存储过程有一个参数,是变量,这样的job怎么写,(见下面)(加急)
- 请问怎么输入日期格式??
- Oracle为什么数据更新比较慢?
- sqlserver有个中文繁简转换的功能ChineseConverter,oracle有没有类似的
- 高分请教ORACLE效率问题
Started spooling to c:\txt.txt
SQL> select a.a1 from a where rownum < 3;
A1
------
001
002
Executed in 0.047 seconds
SQL> spool off
Stopped spooling to c:\txt.txt
SQL> 表多可以做个循环。
declare
my_cur sys_refcursor;
v_table user_tables.table_name%type;
begin
open my_cur for select table_name from user_tables where table_name like 'EMPLOYEE%';
loop
fetch my_cur into v_table;
exit when my_cur%notfound;
--- 动态语句输出某字段数据,该自己动动手了。
dbms_output.put_line(v_table);
end loop;
end;
/
spool off
但是,我刚刚接触ORACLE,不知如何写动态语句。到网上查了一下,说用execute immediate sql_str 可以执行动态查询,于是我自己动了动手,加上“execute immediate ' select emp_name from '||v_table",但我在sql plus里无法看到查询结果。再查,说execute immediate 不能返回多行数据。于是,我又不会了。
再用
spool c:\file.txt
select column from newtable;
spool off
set serveriutput on
declare
v_ename emp.ename%type;
v_salary emp.salary%type;
cursor c_emp is select ename,salary from emp;
begin
open c_emp;
loop
fetch c_emp into v_ename,v_salary;
exit when c_emp%notfound;
dbms_output.put_line('salary of employee'|| v_ename ||'is'|| v_salary);
end
http://www.allroundautomations.com/plsqldev80.html
select username from a1
union all
select username from a2
select username from a200