SQL数据库问题,关于删除表中数据后在另一张表中自动生成一表的问题,请给出方法,谢谢!
答案:2 悬赏:0 手机版
解决时间 2021-02-20 06:58
- 提问者网友:鐵馬踏冰河
- 2021-02-19 09:31
例:建立一个与S表结构一样的表S1表,当删除表S中的记录时,自动将删除掉的记录存放到表S1中
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-02-19 10:52
--实现方法有2种:触发器和SQL2005以及以上版本的output的使用
create table s (id int,value int)
create table s1(id int ,value int)
insert s select 1,2 union all select 2,4
go
--OUTPUT的使用(2005以及以上版本才能使用)
delete s
output deleted.id,deleted.value
into s1
where id=1
go
select * from s1
go
truncate table s1
--触发器(2000也可以使用)
go
create trigger trDe on s
after delete
as
insert s1
select * from deleted
go
delete s where id=2
select * from s1
create table s (id int,value int)
create table s1(id int ,value int)
insert s select 1,2 union all select 2,4
go
--OUTPUT的使用(2005以及以上版本才能使用)
delete s
output deleted.id,deleted.value
into s1
where id=1
go
select * from s1
go
truncate table s1
--触发器(2000也可以使用)
go
create trigger trDe on s
after delete
as
insert s1
select * from deleted
go
delete s where id=2
select * from s1
全部回答
- 1楼网友:未来江山和你
- 2021-02-19 11:30
use 数据库名(是要删除表的所在的那个数据库的名称) go declare @sql varchar(8000) while (select count(*) from sysobjects where type='u')>0 begin select @sql='drop table ' + name from sysobjects where (type = 'u') order by 'drop table ' + name exec(@sql) end
-----------------------------------------------
use 数据库一定要填对哦......
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯