存儲過程批量刪除-ag真人国际官网
㈠ 怎麼使用sql語句批量刪除多個表的相同欄位
不知道您用的是什麼資料庫了。
不過做法肯定是一樣,用兩個游標,第一個游標從數據字典中檢索出所有的表,第二個游標從每個表中檢索所有的欄位,然後遇到有要和你刪除名稱相同的欄位的時候,執行alter table tablename drop column columnname的操作。
不過這個執行不能直接這么執行,而是設置一個字元串的變數,例如sqlserver,需要@delsql = 'alter table ' @tablename ' drop column ' @columnname
exec(@delsql)
而oracle也一樣delsql = 'alter table ' tablename ' drop column ' columnname;
execute immediate delsql;
要使用這樣的寫法。
不可能使用一個sql直接刪除所有的。
㈡ sql能否批量刪除多個行
1、首先我們打開sql server 2012資源管理器,在已創建好的資料庫表t_call_info,查詢和比較表記錄。
直接用jdbc執行sql語句塊declare @procname varchar(500) declare cur cursor -- 定義個游標 for select [name] from sysobjects where type = 'p' open cur -- 打開游標 fetch next from cur into @procname --迭代游標並給@procname賦值 while @@fetch_status = 0 --判斷迭代狀態 begin if @procname <> 'deleteallproceres' exec('drop procere ' @procname) -- 動態執行sql語句 fetch next from cur into @procname end close cur deallocate cur
㈣ 求一個oracle的批量刪除的存儲過程
declarecursorc1isselect*fromtable_a;
li_linenonumber(8);
begin
li_lineno:=1;
fortinc1loop
deletefromtable_awherexbie00='1';
ifmod(li_lineno,1000)=0then
commit;
endif;
li_lineno:=li_lineno 1;
endloop;
end;
/