要刪除的表名為變數,該怎麼寫?

2021-04-12 12:12:14 字數 810 閱讀 1598

--set   nocount   on  

declare   @table_name   char(30),@sql   varchar(100),@drug_code   char(20)  

declare   find_table_name_set   cursor   for  

select   name    

from   sysobjects  

where   (id   in   (select   id   from   syscolumns   where   name='drug_code'))  

and   (id<>1716917188)  

and   (xtype<>'v')  

open   find_table_name_set  

fetch   next   from   find_table_name_set    

into   @table_name  

while   @@fetch_status   =   0  

begin    

set   @drug_code='1010'  

set   @sql='delete   from   '+@table_name+'   where   drug_code=   '+@drug_code  

exec(@sql)     -----這樣修改  

end  

close   find_table_name_set  

deallocate   find_table_name_set   

SQL刪除表名包含指定字元的所有表

create procedure dbo.proc deltable as declare tablename as nvarchar 128 declare cur del cursor for 以下有3種不同的篩選方式,反註釋即可使用 刪除表名以kcpd開頭的所有表 kcpd select na...

sqlserver 批量刪除相同字首名的表

方法1 declare table nvarchar 30 declare tmpcur cursor forselect name from sys.objects where type u and name like n hsupa open tmpcur fetch next from tmp...

mysql批量刪除相同字首的表和修改表名

如果有很多表需要刪除,而表中有相同的字首,我們可能需要如下語句 drop table pre tablename1 drop table pre tablename2 drop table pre tablename3 如果我們手動寫,可能需要很多重複性的工作而且可能還不知道表名稱。因此我們可以通過...

二維表的欄位新增 刪除 修改 表名的修改

二維表的維護 新增新的欄位 alter table 表名 add 欄位名 型別 alter table student add sphone number 11 在學生表中新增新的欄位 修改原有欄位 修改欄位型別 alter table 表名 modify 欄位名 新的型別 alter table ...

SQL 指定表名和列名,刪除對應的列

create procedure dbo proc dropcolumn tablename varchar 30 columnname varchar 30 as 功能 刪除欄位,同時刪除約束 if not exists select from syscolumns a inner join sy...