oracle存储过程提问:oracle 用存储过程将某一表里符合条件的数据查出来之后,批量插入另一张表中

oracle存储过程提问:oracle用存储过程将一张表里面的数据查出来之后,批量插入另一张表中。这个存储过程怎么写啊。我写的这个怎么没有反应啊。。。。。等高手救援,谢谢... oracle存储过程提问:oracle 用存储过程将一张表里面的数据查出来之后,批量插入另一张表中。这个存储过程怎么写啊。我写的这个怎么没有反应啊。。。。。

等高手救援,谢谢!
展开
 我来答
随o天
推荐于2016-10-09 · TA获得超过3158个赞
知道大有可为答主
回答量:1740
采纳率:71%
帮助的人:2019万
展开全部
先把表创建起来,然后用insert语句插入。
create or replace procedure P_Insert(v_date in varchar2,v_cp varchar2) is
begin
INSERT INTO ora201301 SELECT * FROM bh
WHERE 字段名1 BETWEEN v_date||'/01' AND v_date||'/31' AND 字段名2=v_cp;
COMMIT;
end P_Insert;
更多追问追答
追问
不行啊,创建的存储过程有编译错误。。。。。。。
追答
参数v_date:类型是字符,格式='yyyy/mm'。
参数v_cp:类型是字符,格式='...'。
字段名1:改成英文字符,类型是字符,格式='yyyy/mm/dd'。
字段名2:改成英文字符,类型是字符。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
今至电子科技有限公司
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整... 点击进入详情页
本回答由今至电子科技有限公司提供
orcl1999
2013-03-01 · TA获得超过405个赞
知道小有建树答主
回答量:661
采纳率:90%
帮助的人:78万
展开全部
亲,最后要打个斜杠才表示要执行程序啊,而且你这只是创建存储过程,假设编译没问题的话,它只是创建了一个存储过程,并没有执行。要执行还得用
EXEC monthdataeximport(...,...);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badkano
2013-02-28 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885365
团长

向TA提问 私信TA
展开全部
create or replace procedure monthdataeximport
(v_date1 in varchar2,
v_cp1 in varchar2)
as
begin
create table ora20013001 as
select * from bh
where date1 between to_date(v_date1,'yyyymmddhh24miss')+1 and to_date(v_date1,'yyyymmddhh24miss')+31
and cp1=v_cp1;
end monthdataeximport;

没测试,你得保证你定义的变量和bh表里的数据类型一致。
不行你就弄个第三方工具吧,用sqlplus最不得劲了
追问
不行啊,创建的存储过程有编译错误。。。。。。。
追答
create or replace procedure monthdataeximport
(v_date1 in varchar2,
v_cp1 in varchar2)
as
v_sql varchar2(2000);
begin
v_sql := 'create table ora20013001 as select * from bh where date1 between to_date('||v_date1||'+1,''yyyymmddhh24miss'')
and to_date('||v_date1||'+31,''yyyymmddhh24miss'')
and cp1='||v_cp1||'';

EXECUTE IMMEDIATE v_sql;end monthdataeximport;

-------------------------------------
执行完上边以后可能需要赋权,用system用户登录
grant create table to 用户;
用户就是你建立存储过程的这个用户

还有输入的参数v_date1要是20130302121212
也就是年月日时分秒的格式
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0c26e4b
2013-03-01
知道答主
回答量:11
采纳率:0%
帮助的人:7.6万
展开全部
写个procedure,利用Cursor循环插入
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式