如何一个SQL语句就删除表中所有的数据??????

gatesxie 2005-07-13 08:37:38
delete from tablename where ................?

大家帮忙下
...全文
135120 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
Truncate Table tablename


================================================================
此帖通过csdn小助手回复。
CSDN小助手是使用vb.net(开源)编写的CSDN论坛脱机“外挂”,她能够在
脱离IE的情况下使用Csdn论坛。程序只加载最核心的数据,所以显示更
快,产生的流量更小。

下载地址:http://qqwwee.com/csdn.rar
================================================================
gatesxie 2005-07-13
  • 打赏
  • 举报
回复
我尝试了下 用 wwwwb()的方法,表倒是删除了,可是程序非法操作了

我把我的连接字符串贴出来下

大家看下;

VFPOLEDB.1;Persist Security Info=False;Extended Properties="DSN=Visual FoxPro Tables;UID=;SourceDB="C:\\data\\;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;"

谢谢各位
Frewin 2005-07-13
  • 打赏
  • 举报
回复
如果是sql 2000 数据库,当然可以支持truncate table ,在FOXPRO中,应该可以执行到的,当然对FOXPRO不熟悉.但你可以当一个字符变量传给FOXPRO的执行命令中.
exingsa 2005-07-13
  • 打赏
  • 举报
回复
学习....
hglhyy 2005-07-13
  • 打赏
  • 举报
回复
不好意思,FOXPRO 不懂
hglhyy 2005-07-13
  • 打赏
  • 举报
回复
Truncate Table tablename
wwwwb 2005-07-13
  • 打赏
  • 举报
回复
ado连接字串:
Provider=VFPOLEDB.1;Data Source=d:\temp;Password="";Collating Sequence=MACHINE

adocommand1.CommandText:='pack database!table';or 'pack tablename'
adocommand1.Execute;
xueguang 2005-07-13
  • 打赏
  • 举报
回复
用 pack 不可以吗
gatesxie 2005-07-13
  • 打赏
  • 举报
回复
我把情况和大家说一下 ,现在我是用ADO连到FOXPRO的一个表文件进行操作 ,FOXPRO不支持
TRUNCATE TABLE 命令。

用 delete from table foxpro又不会把数据完全删除,只是标注起来,我是想让它完全删除


谢谢大家

点点星灯 2005-07-13
  • 打赏
  • 举报
回复
TRUNCATE TABLE
删除表中的所有行,而不记录单个行删除操作。

语法
TRUNCATE TABLE name

参数
name

是要截断的表的名称或要删除其全部行的表的名称。

注释
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。

DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。

TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 DELETE。如果要删除表定义及其数据,请使用 DROP TABLE 语句。

对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带 WHERE 子句的 DELETE 语句。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。

TRUNCATE TABLE 不能用于参与了索引视图的表。

示例
下例删除 authors 表中的所有数据。

TRUNCATE TABLE authors

Frewin 2005-07-13
  • 打赏
  • 举报
回复
delete from tablename --写入日志
Truncate Table tablename --不写入日志
点点星灯 2005-07-13
  • 打赏
  • 举报
回复

使用 TRUNCATE TABLE 删除所有行
若要删除表中的所有行,则 TRUNCATE TABLE 语句是一种快速、无日志记录的方法。该语句总是比不带条件的 DELETE 语句要快,因为 DELETE 语句要记录对每行的删除操作,而 TRUNCATE TABLE 语句只记录整个数据页的释放。TRUNCATE TABLE 语句立即释放由该表的数据和索引占用的所有空间。所有索引的分发页也将释放。

与 DELETE 语句相同,使用 TRUNCATE TABLE 清空的表的定义,同其索引和其它相关的对象一起仍保留在数据库中。必须使用 DROP TABLE 语句才能除去表的定义。




TRUNCATE TABLE tablename
Frewin 2005-07-13
  • 打赏
  • 举报
回复
delete from tablename where 1=1
Truncate Table tablename

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧