sql2008delete
① sql2008 delete 表数据后 数据库物理大小没变,该怎么处理
删除数据是不会收缩文件的物理空间的。
删除数据后的空闲空间,将会留给以后数据增长时使用。
如果想要收缩文件的物理空间大小,可以使用收缩数据库和收缩文件。
对应是DBCC SHRINKDB和DBCC SHRINKFILE两个命令,具体使用方法请见联机丛书。
② SQL Server 2008数据库中的记录用delete语句删除后能否恢复
呵呵,如果你有删除之前做过备份,那么可以从备份里面恢复。
如果你的数据库模式是完全或者大容量日志,也可能可以恢复,据说可以从日志中恢复数据,但是,我不知道方法。
一般操作之前,可以先按delete的条件select一次数据,符合要求后再改成delete。或者干脆先将要delete的数据select
into一张临时表,检查无误后再drop掉临时表。
③ SQL SERVER 2008数据还原(误操作delete、update等)
如果你以前有做过全备份,现在再做一个日志备份。
然后,还原全备 with restore方式,再还原日志备份到你删除前的时间点。
你可以还原到一个新数据库上,然后看一下数据是否还原了,如果还原了,把数据更新到原数据库的表上就可以了。
④ SQL2008删除部分数据语句
createtablett10(Nodeidint);
--将1到100插入表中
insertintott10
selectnumberfrommaster.dbo.spt_values
wherenumber>0andnumber<=100andtype='p'
--查看数据
select*fromtt10
⑤ 如何删除sql server 2008 表的数据
在sql
server
2008management
studio,用相关账号登录,找到你所要清空数据的表所在的数据库,然后选中数据库右键选择新建查询,进入查询界面窗口,选择输入以下sql语句就可以了。
如果没有其他表的外键关联这个表的主键,可以用下面的语句(效率比较高)
truncate
table
tablename
如果有的话,就用
delete
from
tablename
⑥ SQL 中delete语句可以删除表么
sql中delete语句不能删除表,只能删除表中的所有行数据。
delete from 表名
想要彻底删除表,可以用drop语句。
drop 表名
拓展资料:
drop,delete区别
1、drop (删除表):删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。
drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。
2、delete (删除表中的数据):delete 语句用于删除表中的行。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存, 以便进行进行回滚操作。
3、执行速度,一般来说: drop> delete。
4、delete语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。drop 是数据库定义语言(ddl),操作立即生效,原数据不放到 rollback segment 中,不能回滚,操作不触发 trigger。
⑦ SQL 2008 触发器中UPDATE、DELETE
1.CREATE TRIGGER TEST1
ON A FOR UPDATE
AS
DECLARE @A,@B,@C,@D,@E,@F,@G
SELECT @B=B,....@G=G FROM INSERTED WHERE A=@A
UPDATE B SET A=@A,,,,G=@G,[KEY] = 2 WHERE @A=A
GO
2.CREATE TRIGGER TEST2
ON A FOR DELETE
AS
declare @A
SELECT @A = A FROM DELETED
UPDATE B SET [KEY] = 3
GO
第一个我不知道能不能完成你的功能 没有测试
⑧ sql2008删除表里面全部数据
如果这个表没有被其它表外键引用,可以采用一楼的方法:
truncate table shop_one;
如果这个表被其它表外键引用,就不能使用truncate table来删除。只能使用delete 语句。
表有23W行数据,直接用delete from shop_one使得这个事务的时间很长,影响数据库的并发性能。可以将删除分成很多个小事务来完成,性能会比较好。
delete top(1000) from shop_one -- 首先删除1000行
while @@ROWCOUNT = 1000 -- 如果还有数据,就循环删除操作
delete top(1000) from shop_one; -- 每次最多删除1000行。
⑨ sql2008 delete触发器通过应用程序删除数据时没有触发。
解决了,跟应用程序没有关系,是数据的问题,触发器的条件没有满足,虽然表中数据有变动,但是不在触发范围。