
实际上存储过程向表中插入数据和sql执行的区别是不大的,只不过是存储过程是用loop等循环插入,之后顺序执行sql语句,不用命令行执行。
CREATE OR REPLACE PROCEDURE insert_data_4_pressure_3is
--Result1 VARCHAR2(50)
VAR_num number
begin
VAR_num:=1
while
VAR_num< 1000000
LOOP
insert into rp_trans_log_day
(trans_time,
trans_province,
trans_type,
score_range,
rule_name,
trans_num)
select to_date('2013/10/29', 'yyyy-mm-dd'),
round(dbms_random.value(1, 300)) || '省',
round(dbms_random.value(1, 800)) || '类型',
round(dbms_random.value(1, 100)) || '风险分值',
round(dbms_random.value(1, 300)) || '规则名称',
'1'
from dual
commit
VAR_num:=VAR_num+1
end loop
end insert_data_4_pressure_3
即使没有提交,如果有数据插入的话,你再次查询也会查询到已经插入的数据,只是没有提交而已。现在是你根本就没有插入一条数据,说明你的 插入语句后的select 语句根本就没有检索到数据啊。
你执行 这个查询 有数据吗?
select t.deptno, a.avgsal, count(*)
from scott.emp t left join
(select avg(sal) as avgsal, deptno
from scott.emp
group by deptno) a
on t.deptno = a.deptno
--从原表和新表链接的表中
where t.sal <a.avgsal
group by t.deptno, a.avgsal
create procedure prc_sale@编号 int
,@名称 varchar(20)
,@价钱 float
,@卖出数量 float
as
begin
insert into sales (编号,名称,价钱,卖出数量)
values (@编号,@名称,@价钱,@卖出数量)
end
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)