先把表名取出來﹐然后再刪除記錄。declare @tb varchar(1000)
set @tb=''
select @tb=@tb+name+',' from bbs_board where id=?delete from bbs_board where id="+ID删除符合id等于ID的所有记录时set @tb ='drop table '+left(@tb,len(@tb)-1)
exec(@tb) -->刪除表
set @tb=''
select @tb=@tb+name+',' from bbs_board where id=?delete from bbs_board where id="+ID删除符合id等于ID的所有记录时set @tb ='drop table '+left(@tb,len(@tb)-1)
exec(@tb) -->刪除表
解决方案 »
- sql server2008作业执行时间比查询分析器中执行脚本时间长,请教原因
- 保存一对多数据时的事务应怎写?
- 如何把更新的结果集写到数据库表中
- 问一个傻傻的数据库快捷操作问题
- sql如何计算两个日期间的工作日,剔除节假日
- 求一条简单的 SQL 查询语句([ODBC;Driver=SQL Server;Server=perry;Uid=sa;pwd=;Database=ServeMicroStar])
- 有人能帮我看看这个存储过程到底是为什么运行不了吗?晚上结
- 查询年与年之间的月份差.
- 如何根据动态num值将一行纪录表示为num行值
- 如何写复杂sql
- 在线等待回音 SQL Server远程访问的问题
- 求教 top 1 count(*)的值
@id int //表编号---对应bbs_board中id字段变量
as
declare @tablename varchar(30)
select @tablename=board_table from bbs_board where id=@id
begin
delete from bbs_board where id=@id
if exists(select [name] from sysobjects where type='u' and id=object_id(''@tablename''))
exec('drop table ['+@tablename+']')
end
没有了 你和To: hdhai9451(※★開拓者...脚妞伤了☆※) 方法 都是很好的我只是想如果经常执行 能不能用触发器做
我的数据库中有个:bbs_board的表。其中有id,board_name和board_table等字段,
其它board_table字段存放数据库中用户表的表名,
现在我想利用
"delete from bbs_board where id="+ID删除符合id等于ID的所有记录时。也删除表名存放在符合id等于ID的相应board_table字段中的数据表。
请教该语句怎么写???