批量sql
① sql批量处理
1.创建表ta:create table ta(dm varchar2(32));
2.插入测试数据
SQL> select * from ta;
DM
--------------------------------
1234
122
13696
1111111111
1111111110
SQL>
3.创建存储过程
create or replace procere pro_cursor_ is
cursor cur_a is select dm from ta where length(dm) != 10 order by rownum;
--cursor cur_a is select t.dm from ta t;
v_dm ta.dm%type;
v_dm1 ta.dm%type;
v_dm2 ta.dm%type;
i number:=1;
j number;
begin
open cur_a;
fetch cur_a into v_dm;
while cur_a%found loop
select length(i) into j from al;
v_dm1:=i;
begin
while j < 8 loop
v_dm1:=0||v_dm1;
j:=j+1;
end loop;
v_dm2:='KD'||v_dm1;
dbms_output.put_line(v_dm2);
update ta set dm=v_dm2 where dm=v_dm;
i:=i+1;
fetch cur_a into v_dm;
end;
end loop;
close cur_a;
end;
4.测试结果:
SQL> exec pro_cursor_;
KD00000001
KD00000002
KD00000003
PL/SQL procere successfully completed
SQL> select * from ta;
DM
--------------------------------
KD00000001
KD00000002
KD00000003
1111111111
1111111110
SQL>
这是oracle的做法,骚年,希望能帮到你,好久不写了,搞了好半天才弄好,哥吃饭去了。
② 批量提交的sql语句怎么写
--批量更新
UPDATE 表2
SET MID = b.ID ,
Mname = b.MaterialName
FROM 表2 a ,
dbo.表1 b
WHERE a.bianma = b.MaterialCode;
--批量插入
INSERT INTO dbo.表1
( ID ,
MaterialID ,
MaterialCode ,
MaterialName ,
ProjectName ,
Unit ,
Standard ,
IsActive ,
CreatedUser ,
CreatedTime
)
SELECT NEWID() ,
MID ,
bianma ,
Mname ,
xiangmu ,
danwei ,
yaoqiu ,
1 ,
'System' ,
GETDATE()
FROM 表2;
③ SQL批量插入数据
一、针对批量插入数据,如果量不是太多,可以多条SQL语句运行就可以了,
类似下面的语句,当然可以使用excel 编辑后,复制到查询器中运行,
insert into table(a,b) values('1','a')
insert into table(a,b) values('2','b')
insert into table(a,b) values('3','c')
二、大量数批量插入,即数据表的移植,数据备份转换之类的,就需要工具,比如MSSQL的DTS工具,pb的数据通道 等等。这里介绍一下 DTS工具。
④ sql批量插入
insert into table1(aaa,bbb,ccc)
select b.aaa,b.bbb,b.ccc
from table2 b
where not exits (select 1 from table1 where b.aaa = table1.aaa)
试试?
⑤ 数据库操作中如何批量执行多个sql文件
Oracle批量执行SQL文件 1:运行cmd进入命令行界面2:进入到存放批量sql的文件夹下面3:输入命令 sqlplus 数据库名/密码@数据库 按回车键4:输入spool 指定路径:\a.log 按回车键 (此步骤的主要作用就是追踪批量执行sql的日志,路径随便写,只要能找到就行,a.log可以随便起名,但是必须要.log后缀)5:@start.sql 按回车键(在批量sql文件夹下写一个文件,名字叫start.sql,其中在这个文件里面写批量sql的文件名)具体格式如下:@@sql的文件名.sql; @@sql的文件名2.sql;.......6:spool off (此时a.log中所有日志已经写入完毕)7:exit 退出sqlplus当然只有一个sql文件,但是里面有多个insert语句,数据量非常大,此时也可以在命令状态下执行,前4步是一样的,第五步就是@文件名.sql;
⑥ 如何批量执行sql文件
首先把所有的sql文件准备好
再准备一个全部执行的sql文件All.sql,内容如下:
@E:/YLC/SQL/cybb/NEW/T_THSOFT_ZJBFYSB.sql
@E:/YLC/SQL/cybb/NEW/T_THSOFT_XMZJJK.sql
@E:/YLC/SQL/cybb/NEW/T_THSOFT_USER.sql
@E:/YLC/SQL/cybb/NEW/T_THSOFT_SGJFTJKM.sql
@E:/YLC/SQL/cybb/NEW/1T_THSOFT_HBZJBDQKB.sql
@E:/YLC/SQL/cybb/NEW/2T_THSOFT_YSDWJFMXB.sql
@E:/YLC/SQL/cybb/NEW/3T_THSOFT_YSDWJFHZB.sql
@E:/YLC/SQL/cybb/NEW/4T_THSOFT_BMJSMXZB.sql
@E:/YLC/SQL/cybb/NEW/5T_THSOFT_BMJSFDWMXB.sql
@E:/YLC/SQL/cybb/NEW/6T_THSOFT_YSZXJDB.sql
@E:/YLC/SQL/cybb/NEW/7T_THSOFT_XMZJZXJDB.sql
@E:/YLC/SQL/cybb/NEW/8T_THSOFT_XMZJZXMXB.sql
@E:/YLC/SQL/cybb/NEW/9T_THSOFT_ZJCLB.sql
@E:/YLC/SQL/cybb/NEW/1PRC_T_THSOFT_HBZJBDQKB.sql
@E:/YLC/SQL/cybb/NEW/2PRC_T_THSOFT_YSDWJFMXB.sql
@E:/YLC/SQL/cybb/NEW/3PRC_T_THSOFT_YSDWJFHZB.sql
@E:/YLC/SQL/cybb/NEW/4PRC_T_THSOFT_BMJSMXZB.sql
@E:/YLC/SQL/cybb/NEW/5PRC_T_THSOFT_BMJSFDWMXB.sql
@E:/YLC/SQL/cybb/NEW/6PRC_T_THSOFT_YSZXJDB.sql
@E:/YLC/SQL/cybb/NEW/7PRC_T_THSOFT_XMZJZXJDB.sql
@E:/YLC/SQL/cybb/NEW/8PRC_T_THSOFT_XMZJZXMXB.sql
@E:/YLC/SQL/cybb/NEW/9PRC_T_THSOFT_ZJCLB.sql
exit
然后再写一个demo.bat文件
::sqlplus system/Oracle@xe @d:/all.sql>d:/log.txt
sqlplus system/oracle@xe @d:/all.sql
第一行可用于执行过程中的信息保存到log.txt文件中,如果不需要保存日志信息,则可以使用第二行的代码
⑦ SQL进行批量计算
用查询
SELECT 表1.字段A, 表2.字段B,(表1.字段A+/-/*//表2.字段B) AS 字段c
FROM 表1 INNER JOIN 表2 ON 表1.ID = 表2.ID;
⑧ SQL 批量录入数据
什么批量录入数据,总得有个数据来源吧,瞎填一些数据吗?告诉你任何情况下都不会批量录入数据,把一张表中的数据复制到另外一张表中,它的内部也是一条一条处理的.只是你感觉不到而已,如果你指出一个123数据产生的规则,就可以做出一天就把你的数据库搞崩溃的程序来,反正是不停向数据库中写数据.有些病毒就是这么干的.
⑨ Oracle 批量执行多个sql文件
方法如下:
1:运行cmd进入命令行界面
2:进入到存放批量sql的文件夹下面
3:输入命令 sqlplus 数据库名/密码@数据库 按回车键
4:输入spool 指定路径:\a.log 按回车键 (此步骤的主要作用就是追踪批量执行sql的日志,路径随便写,只要能找到就行,a.log可以随便起名,但是必须要.log后缀)
5:@start.sql 按回车键(在批量sql文件夹下写一个文件,名字叫start.sql,其中在这个文件里面写批量sql的文件名)
具体格式如下:@@sql的文件名.sql;
@@sql的文件名2.sql;
6:spool off (此时a.log中所有日志已经写入完毕)
7:exit 退出sqlplus
当然只有一个sql文件,但是里面有多个insert语句,数据量非常大,此时也可以在命令状态下执行,前4步是一样的,第五步就是@文件名.sql;
⑩ 如何批量导入多个sql文件
1、双击打开需要导出的数据库,然后右键单机会有一个弹出框。
2、导入sql文件的话,需要选择Execute Sql File,然后也会弹出一个对话框,选择自己需要执行的sql文件。然后点击确定就可以了。