http://pan.baidu.com/share/link?shareid=385879&uk=185735930
我的原表是在上面链接的.sql中写着,前面有10列保留,后面的S1,S2,S3...Sn有一百多个字段,想通过存储过程把以S开头的列转成行,S列数据是零时,过滤(不要该行)。
我的原表是在上面链接的.sql中写着,前面有10列保留,后面的S1,S2,S3...Sn有一百多个字段,想通过存储过程把以S开头的列转成行,S列数据是零时,过滤(不要该行)。
解决方案 »
- Oracle11g ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- 用PLSQL Developer执行存储过程,每隔两小时左右断一次
- 存储过程怎么自动非法啦?
- 关于weblogic服务停止,为什么?
- 我刚建的Oracle QQ群3062360 欢迎加入
- sql语句优化
- 谁有不错的oracle的视频教学的东西,或者推荐点好书给我,谢了。
- ORACLE补丁 求助!!!
- 在动态SQL中,直接用‘||’构造动态SQL字符串的效率高还是使用BIND_VARIABLE的方法效率高?为什么?
- 每天定时导入文件名带日期的txt 文件到数据库表的问题
- 关于查询的问题,请求大牛指教
- oracle数据类型以及约束
v_name varchar2(20);
v_cnt varchar2(2);
v_sql varchar2(1000);
begin
for c in (select COLUMN_NAME v_name from dba_tab_columns where TABLE_NAME='SALARY_BASE' and COLUMN_NAME like 'S%') loop
v_sql:='insert into SALARY_BASE_ROW
select year,month,dept,eid,ename, etype,paycount,payshould,paydeduct,paysum,'||''''||c.v_name||''''||','||c.v_name||'
from SALARY_BASE where '||c.v_name||' >0';
execute immediate v_sql;
commit;
end loop;
end;SQL> select count(*) from SALARY_BASE_ROW ; COUNT(*)
----------
46