查询语句,查出一组ID,每天运行一次,每天的结果数都不一样。
我怎么在存储过程中,按固定的比例给这些查出的ID后面附值。比如 2012-11-20 查出5000个ID
1/5 的ID值附 100
1/5 的ID值附 50
1/5 的ID值附 80
1/5 的ID值附 10
1/5 的ID值附 30
2012-11-21 查出7001个ID
1/5 的ID值附 100
1/5 的ID值附 50
1/5 的ID值附 80
1/5 的ID值附 10
1/5 的ID值附 30
我怎么在存储过程中,按固定的比例给这些查出的ID后面附值。比如 2012-11-20 查出5000个ID
1/5 的ID值附 100
1/5 的ID值附 50
1/5 的ID值附 80
1/5 的ID值附 10
1/5 的ID值附 30
2012-11-21 查出7001个ID
1/5 的ID值附 100
1/5 的ID值附 50
1/5 的ID值附 80
1/5 的ID值附 10
1/5 的ID值附 30
解决方案 »
- oracle中关于return的疑问
- oracle数据导入时断电怎么办?
- 限制用户用delphi连接oracle
- 查询问题
- oracle 装在linux上,sqlplus出现问号乱码,插入也有问题,请问各位怎么解决
- Oracle 能不能实现联合主键中的一个键自增长
- 同一台机器安装ORACLE9I和ORACLE10G,请高手指点!
- recover database using backup control file是什么意思?
- Oracle9i JDeveloper问题请教???
- Net8 Assistant问题.(No listener)
- 我是菜鸟,求解答
- 安装Oracle后做网卡绑定,Oracle需要修改吗?
代码:sql server中实现:[code=sql]select * into @count from temp
create procedure pro_name
@count int,@a1 int,@a2 int,@a3 int,@a4 int,@a5 int
as
declare @c int--c为五分之一的id总数值
begin
select @c=1
while(@c<@count/5)
insert into test.id values(@a1)
set @c=@c+1
end
begin
select @c=1
while(@c<@count/5)
insert into test.id values(@a2)
set @c=@c+1
end
begin
select @c=1
while(@c<@count/5)
insert into test.id values(@a3)
set @c=@c+1
endbegin
select @c=1
while(@c<@count/5)
insert into test.id values(@a4)
set @c=@c+1
end
begin
select @c=1
while(@c<@count/5)
insert into test.id values(@a5)
set @c=@c+1
end
select emp.*,
case ntile(5) over (order by rownum)
when 1 then 100
when 2 then 50
when 3 then 80
when 4 then 10
else 30
end
from emp;