SQL Server:动态SQL语句Oracle:动态PL/SQL语句
解决方案 »
- 求一个sql语句(sqlserver用) 关于创建数据库 以及表
- 如何分组罗列出每个班级成绩前10名的编号、姓名、性别、成绩
- ACCESS转化MSSQL,怎么老出错?
- asp.net如何连接sql进行随机读取功能
- 求SQLServer 2005/2008导出Excel2007文件的存储过程
- 求sql语句的写法,在线等,急!!
- 自定义存储过程删除后怎么恢复,用日志可以吗?
- "Chinese_PRC_CI_AS" 和 "Chinese_PRC_CI_AI" 之间的排序规则冲突
- 不同服务器的数据拷贝.
- 怎样划分功能模块?
- 你遇到过这个问题吗?
- 在存储过程中实现对象宏代换,请各位大虾支招,有解决的开贴给200分!!!在线等
请问能用Oracle:动态PL/SQL语句搞定吗?
请指点啊!
DELETE FROM EMP
INSERT INTO EMP VALUES('19800101');
INSERT INTO EMP VALUES('19800101');
INSERT INTO EMP VALUES('19810101');
INSERT INTO EMP VALUES('19810101');
INSERT INTO EMP VALUES('19820101');
INSERT INTO EMP VALUES('19820101');
INSERT INTO EMP VALUES('19830101');
INSERT INTO EMP VALUES('19830101');
INSERT INTO EMP VALUES('19830101');
INSERT INTO EMP VALUES('19830101');
INSERT INTO EMP VALUES('19810101');
INSERT INTO EMP VALUES('19820101');
INSERT INTO EMP VALUES('19800101');
--测试
declare col1 EMP.start_year%type; --定义类型
sqlstr varchar2(8000);
cursor c_try is select distinct substr(start_year,1,4) from EMP;
begin
sqlstr:='';
open c_try;
loop
fetch c_try into col1;
exit when c_try%notfound;
sqlstr:=sqlstr||', sum(decode(substr(start_year,1,4),'''||col1||''',1,0)) as emp_'||col1;
exit when c_try%notfound;
end loop;
close c_try;
sqlstr:='create table tt as select count(*) as sum1'||sqlstr||' from EMP';
--tt为刚创建的一个保存结果的表
execute immediate sqlstr;
end;--执行
select * from tt;