請問批量插入多條語句的SQL語句如何寫
如果插入多條的內容是一樣的,可以做一個循環的啊:比如: declare @i int set @i=1 while @i begin insert into table(AA,BB)values(aa,bb) set @i=@i+1 end如果插入的多條不是同一個,有其他數據源,那就建立虛擬表進行FETCH命令,如果FETCH成功就插入,比如:declare @aa,@bbdeclare mycor cursor for(SELECT AA,BB from table)open myCur fetch next from myCur into @aa,@bb while @@fetch_status=0 begin insert into table(AA,BB)values(@aa,@bb) fetch next from myCur into @aa,@bb end close myCurdeallocate myCur如果插入的多列都不一樣都沒有什么規律,就一條一條執行,比如:insert into table(A,B)values(a,b); insert into table(A,B)values(c,d); insert into table(A,B)values(e,f); insert into table(A,B)values(g,h) 應該沒有別的情況了吧,呵呵。
如何批量執行SQL語句
批處理文件內容:
osql -S"127.0.0.1" -U"sa" -P"sa" -d"Northwind" -i"D:\Data\*"
osql -S"127.0.0.1" -U"sa" -P"sa" -d"Northwind" -i"D:\Data\*"
osql -S"127.0.0.1" -U"sa" -P"sa" -d"Northwind" -i"D:\Data\*"
osql -S"127.0.0.1" -U"sa" -P"sa" -d"Northwind" -i"D:\Data\*"
osql -S"127.0.0.1" -U"sa" -P"sa" -d"Northwind" -i"D:\Data\*"
將上面的127.0.0.1 sa sa分別改為 服務器名或IP 用戶名 密碼
如何正確的進行大規模SQL語句的批量操作
在使用Statement的批量SQL命令操作的時候,一定要注意寫入到內存中命令列表的SQL語句的數量級,在小規模的數據量下,可以將所有SQL語句添加到命令列表中,一次性執行executeBatch()方法,但是在大規模數據量的情況下,就應該分批將SQL語句添加到命令列表中,并在每次調用executeBatch()方法后,調用clearBatch()方法將命令列表中的SQL語句清空,注意了,一定要記得調用clearBatch()方法清空命令列表,不然即使分批添加SQL語句,一樣要“out
of
memory”。同時由這個問題,我們也可以引申開來考慮考慮在編寫將數據保存在內存中的操作的時候,也應該注意實際系統運行環境的內存配置所能支持的數據量,千萬不能不管三七二十一的將數據一股腦兒往內存里塞。
批量提交的sql語句怎么寫
--批量更新UPDATE 表2SET MID = * ,Mname = *alNameFROM 表2 a ,dbo.表1 bWHERE * = *alCode; --批量插入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語句怎么寫
--批量更新
UPDATE 表2
SET MID = * ,
Mname = *alName
FROM 表2 a ,
dbo.表1 b
WHERE * = *alCode;
--批量插入
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語句批量查詢~
SELECT
CAST(L.里程段 AS DECIMAL(10,3)) 里程段,
COUNT(1) 計數
FROM (SELECT FLOOR(CAST(里程 AS FLOAT) * 10) / 10 里程段 FROM [Test] WHERE 地點名稱 = '北路' AND 日期 BETWEEN '2008-10-10' AND '2008-10-17') L
GROUP BY 里程段
一句搞定 無需編程之類的
重新修改了一下 測試通過
求批量修改數據庫信息的SQL語句
設表名:tab
declare
v_ss varchar2(10);
cursor c1 is select name1 from tab order by ID for Update of name2;
v c1%rowtype;
begin
open c1;
loop
fetch c1 into v;
exit when c1%notfound;
v_ss:=substr(*1,instr(*1,'/',1,1)+1,
instr(*1,'/',1,2)-instr(*1,'/',1,1)-1);
if abs(to_number(substr(v_ss,1,instr(v_ss,'-',1,1)-1))-
to_number(substr(v_ss,instr(v_ss,'-',1,1)+1,3)))>5 then
update tab set name2=name1||'/二' where current of c1;
else
update tab set name2=name1||'/三' where current of c1;
end if;
end loop;
close c1;
commit;
end;
如何用SQL語句將數據批量插入數據庫
如果是sql server,用transaction sql寫;
如果是oracle,用pl/sql寫。
這兩種語法都可以寫一些邏輯語句,跟一些高級語言差不多,隨便搜一下就有介紹了。自己學學,不多講了。
用JDBC也可以,不過稍微麻煩點。用上面的方法可以直接在DBMS的客戶端運行,簡單直接。
--------------------------------------------
上面我說的,好像不太適合你這個問題。確實用JDBC(Java語言)或ODBC(C++)寫代碼能實現:循環讀文件里面的每條數據,生成相應的sql語句,然后調用API寫入數據庫。
還有一個方法就是,用txt或excel保存數據,然后用sql server2000的企業管理器導入txt或excel文檔,你按著向導試試看。
sql 怎么一次性批量刪除多個數據庫
估計你是想做web中的批量刪除。
推薦用服務器端語言拼成以半角逗號分隔的id字符串
如1樓例舉的1,2,3,4,5然后將這個變量拼成SQL語句。
如果是純SQL,你要刪除的這些數據會有一些共同點,按照共同點刪除即可。
如delete from table where id in (xxxxxxxx) 或者delete from table where id in ( select id from table where enabled = 0)之類的。