当前位置:首页 » 存储配置 » 存储过程循环插入数据

存储过程循环插入数据

发布时间: 2022-05-26 22:38:48

‘壹’ Mysql实现创建存储过程并循环添加记录的方法

本文实例讲述了MySQL实现创建存储过程并循环添加记录的方法。分享给大家供大家参考,具体如下:
先创建,然后调用:
--
创建存储过程
DELIMITER;//
create
procere
myproc()
begin
declare
num
int;
set
num=1;
while
num
<=
24
do
insert
into
t_calendar_hour(hourlist)
values(num);
set
num=num+1;
end
while;
commit;
end;//
--
调用存储过程
CALL
myproc();
PS:这里再为大家推荐2款常用的sql在线工具供大家参考使用(包含SQL语句用法说明):
SQL在线压缩/格式化工具:
http://tools.jb51.net/code/sql_format_compress
SQL代码在线格式化美化工具:
http://tools.jb51.net/code/sqlcodeformat
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL存储过程技巧大全》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》及《MySQL数据库锁相关技巧汇总》
希望本文所述对大家MySQL数据库计有所帮助。

‘贰’ 怎么写存储过程,向数据库中批量插入数据

  1. 用循环语句生成字段值insert

  2. SQL 如下:

createprocereInsertTest

as

begin

declare@iint

declare@svarchar(20)

set@i=1

while@i<=100

begin

select@s=cast(@iASvarchar(20))

insertintotest(A,B,C,D)VALUES('a'+@s,'b'+@s,'ccccc','ddddd')

SET@i=@i+1

end

end

‘叁’ ORACLE存储过程,循环插入数据后,更新数据来源表state字段

下面例子中A表是数据源,B表是插入数据目标。
create or replace procere ... ...
cursor c1 is select * from A where... ...for update of 需要更新的列;
v c1%rowtype;
begin
open c1;
loop
fetch c1 into v;
exit when c1%notfound;
insert into B... ...;
update A set 需要更新列=... ... where current of c1;
... ...
end loop;
... ...
end;

‘肆’ oracle存储过程用fetch循环实现向一张表中插入不同数据

创建测试表

createtabletest
(touch_idvarchar2(20),
party_idvarchar2(20));

执行过程

declare
v_idint;
begin
v_id:=1;
whilev_id<=10--这个10设置为插入的次数
loop
insertintotestvalues('张三'||v_id,'partyid'||v_id);
v_id:=v_id+1;
endloop;
commit;
end;

结果

‘伍’ mysql 存储过程嵌套循环 第一次内循环能插入数据,之后不能成功插入数据,求解!!

1. 首先你应该看下循环条件是否已经走完,
2. 其次看所插数据是否满足表中的字段格式,再然后,看看SQL有没有明显的错误。
3. 如果检查完还没好,麻烦把SQL发我,我看下。

‘陆’ oracle 用存储过程向表插入数据的问题

实际上存储过程向表中插入数据和sql执行的区别是不大的,只不过是存储过程是用loop等循环插入,之后顺序执行sql语句,不用命令行执行。

_data_4_pressure_3
is

--Result1VARCHAR2(50);
VAR_numnumber;
begin
VAR_num:=1;

while
VAR_num<1000000
LOOP
insertintorp_trans_log_day
(trans_time,
trans_province,
trans_type,
score_range,
rule_name,
trans_num)
selectto_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'
fromal;
commit;
VAR_num:=VAR_num+1;
endloop;

endinsert_data_4_pressure_3;

‘柒’ 使用SQL SERVER 添加一个存储过程 将数据循环插入到另一个服务器

方案1:

SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO

CREATEPROCEDURE[InsertData]

AS
BEGIN
execsp_addlinkedserver'yuancheng','','SQLOLEDB','远程IP'
execsp_addlinkedsrvlogin'yuancheng','false',null,'远程数据库帐号','远程数据库密码'

select*intoyuancheng.数据库名.dbo.t_testfromt_log
deletefromt_log
execsp_dropserver'yuancheng','droplogins'
END

方案2:

先开启Ad Hoc Distributed Queries组件

execsp_configure'showadvancedoptions',1
reconfigure
execsp_configure'AdHocDistributedQueries',1
reconfigure

然后创建存储过程

SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO

CREATEPROCEDURE[InsertData]

AS
BEGIN
insertintoopenrowset('SQLOLEDB','远程IP';'远程帐号';'远程密码',数据库名.dbo.t_test)select*fromt_log
deletefromt_log
END
GO

注意,如果远程的t_test表中有主键自增ID,必须先取消此列的标识属性,或者将除了主键列外的字段名在insert语句中列出,不过这样做就不能保证两边数据库的ID一致了

‘捌’ sql 数据库循环插入100条记录! 怎么实现 是不是得用存储过程啊

1、创建测试表,

create table test_loop(id varchar2(20),remark varchar2(20));

‘玖’ 数据库怎么循环插入数据

已经测试,创建并运行下面的存储过程可以循环添加数据:
create procere dowhile()
begin
declare i int default 0;
start transaction;
while i<50 do
insert into users(userId,userName,userPwd) values(null,concat('s00',i),123456);
set i=i+1;
end while;
commit;
end;
delimiter;

‘拾’ C#调用存储过程,存数据到oracle数据库,怎么实现把多行数据循环插入到数据库中。

用一个循环,循环的上限就是你要插入数据的条数。
然后在循环中这样:
/* if bal<p_amount then
-- if bal_row.curbal < 0 then
budgetfail_flag:=p_budgetno||''||'该预算编号预算余额不够!';
-- exit;
ELSE*/

热点内容
c语言和vc的区别 发布:2024-11-15 16:19:23 浏览:118
linux是免费的吗 发布:2024-11-15 15:53:44 浏览:616
多控存储 发布:2024-11-15 15:52:42 浏览:282
一年级数学分解算法 发布:2024-11-15 15:41:08 浏览:410
安卓个人热点怎么分享 发布:2024-11-15 15:40:16 浏览:263
垫钱解压 发布:2024-11-15 15:38:54 浏览:335
miui4相当于安卓什么系统 发布:2024-11-15 15:37:54 浏览:708
rc4android 发布:2024-11-15 15:27:25 浏览:741
电脑服务器机箱图片 发布:2024-11-15 15:27:18 浏览:115
网页缓存文件提取 发布:2024-11-15 15:24:42 浏览:144