April 22, 2008 at 5:32 am
HI,
Can you please tell me whether we can drop more than one objects in a single drop command without using any procedure.
For example
drop table (select name from sysobjects where name like 'e%' and xtype='U')
error is coming
Server: Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near '('.
Please help me out.
April 22, 2008 at 5:46 am
I don't think so. But you can use a single SELECT statement to generate the SQL that you can use to delete the tables.
John
April 23, 2008 at 9:03 am
...a quick example for you...
-- create some dummy tables for testing...
create table #tbl1 (id int)
create table #tbl2 (id int)
create table #tbl3 (id int)
create table #tbl4 (table_name varchar(20))
insert into #tbl4 select '#tbl1' union select '#tbl2' union select '#tbl3'
select * from #tbl4
-- create the drop commands for the tables we want to drop.
declare @sql nvarchar(4000)
select @sql=''
select @sql=@sql + ' drop table '+table_name from #tbl4
select @sql
-- run the sql
execute sp_executesql @sql
drop table #tbl4
--so...for you're purposes, something like this...
declare @sql nvarchar(4000) select @sql=''
select @sql=@sql + ' drop table '+[name] from sysobjects where [name] like 'e%' and xtype='U'
execute sp_executesql @sql
April 24, 2008 at 12:46 am
Thanks a lot.
Viewing 4 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic. Login to reply
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy