批量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文件。然後點擊確定就可以了。