现在开发人员有一个需求,想要在前台程序调用一去SP,
SP的参数有 参数有文件名称,路径,表格
功能 把表格中的内容写入指定的路径下的文件中提醒:
每次调用时,表格的名称可能会不一样,个人觉得要用到动态SQL及动态游标的知识
但因能力有限,请高手作答。
SP的参数有 参数有文件名称,路径,表格
功能 把表格中的内容写入指定的路径下的文件中提醒:
每次调用时,表格的名称可能会不一样,个人觉得要用到动态SQL及动态游标的知识
但因能力有限,请高手作答。
解决方案 »
- Oracle的CAT、TAB表与user_tables表
- oracle11g impdp导出报错
- sql优化
- 在ORACLE中取最新的数据的前几条,怎么取?象TOP 10用法一样
- 如何只导出某用户下所有的表?不用full=y。(急)
- 请教一个超级简单SQL 语句。关于日期的。
- 一个大型应用系统的数据库设计方案,请指点.
- 网络服务名的配置
- 分页显示遇到的问题-是否oracle 8 + tomcat 4 不能使用sqlRst.absolute ?困惑 ,读出的数据都是0X开头的"外星语"!
- 触发器的问题?
- orale怎么才能回滚create table……
- oracle 触发器。当表中期中成绩字段或期末成绩字段任一个改变时 总成绩随之改变。
is
cursor cur_columns(tn varchar2) is
select column_name,data_type from user_tab_columns
where upper(table_name) = upper(tn)
order by column_id;
statement varchar2(2000);
print_line varchar2(2000);
begin
statement := 'declare ' || chr(10);
statement := statement || ' cursor cur_main is ' || chr(10);
statement := statement || ' select ' || chr(10);
print_line := ' dbms_output.put_line(';
for col in cur_columns(table_name) loop
if col.data_type = 'DATE' then
statement := statement || 'to_char(' || col.column_name || ', ''yyyymmdd hh24:mi:ss'') AS ' || col.column_name;
else
statement := statement || col.column_name;
end if;
statement := statement || ',';
print_line := print_line || 'r.' || col.column_name || ' || '','' || ';
end loop;
statement := substr(statement, 1, length(statement) - 1) || chr(10);
statement := statement || ' from ' || table_name || ';' || chr(10);
print_line := substr(print_line, 1, length(print_line) - 11);
print_line := print_line || ');' || chr(10);
statement := statement || 'begin ' || chr(10);
statement := statement || 'for r in cur_main loop ' || chr(10);
statement := statement || print_line;
statement := statement || 'end loop;' || chr(10);
statement := statement || 'end;';
dbms_output.put_line(statement);
execute immediate statement;
end;-- 測試代碼
begin
print_table('employees');
end;-- 輸出結果
198,Donald,OConnell,DOCONNEL,650.507.9833,19990621 00:00:00,SH_CLERK,2600,,124,50
199,Douglas,Grant,DGRANT,650.507.9844,20000113 00:00:00,SH_CLERK,2600,,124,50
...
...