SQL中怎么用一条命令把表里面的数据清零,但是表并没有删除?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL中怎么用一条命令把表里面的数据清零,但是表并没有删除?相关的知识,希望对你有一定的参考价值。

参考技术A truncate table 表名。数据量大的时候这样比Delete的快。 前提是表没有外键。如果有外键要先失效外键,然后truncate,最后启用外键。如果只是简单的少量的数据,就直接Delete即可。 参考技术B DELETE FROM 表名
这样就可以删除表中所以记录了
前提是这表的主键没有外键本回答被提问者采纳
参考技术C TRUNCATE 表名
不管有没有外键,都能清空

关于SQL SERVER的修改数据问题.难得我哦

把一个表里的字段A数据修改,表里有日期的字段
要求日期为单日和双日把表里的字段A改为不同的值,并且,日期可以是1年或更长.
是这样的
我要修改一个表里的数据
要根据日期的不同来修改,是2006年1月1号就修改字段A为2,是1月2号就修改字段A为3.就这样.以次类推.3号修改字段A为2,4号修改字段A为3.
逢单日就修改为2,双日修改为3.
这样能实现吗?
就算不能实现,那有没有什么好的方法可以快速的满足我的要求.谢谢了!!!我会再加100分的!!!

我不知道怎么写语句啊????帮帮我

------------------------------
我要修改的表是CASEPROC,要修改的字段是OPER_NUM,要根据日期修改,日期字段是BE_DATA
其中,OPER_NUM的值是整数,BE_DATA的值类似于2005-01-01 15:50:30
我要判断日期是单日还是双日.
而不是把日期也给修改了.
谢谢了.
----------------------------
执行了,但提示错误:
我的语句是这样的
update caseproc set oper_num=6 where right(rtrim(end_time),1)%2=0
提示说将VARCHAR值'M'转换为INT的列时发生语法错误.

参考技术A sql
server
2008
更改字段之后,必须要重新启动一下软件,才能再次做插入的操作。当时我也是遇到这情况,搞了几个小时,一气之下,关了软件,气消了,打开,就好了
-
-。。
参考技术B 以为你日期为char型的
convert(char,BE_DATA)之后日期会改变顺序,如:
2006-11-12 00:00:00.000 会变为
11 12 2006 12:00AM
用substring取得天号,也就是在第5位
更正后的:
update CASEPROC
set OPER_NUM= 3
where substring(convert(char,BE_DATA),5,1)%2 = 0
update CASEPROC
set OPER_NUM= 2
where substring(convert(char,BE_DATA),5,1)%2 = 1本回答被提问者采纳
参考技术C DECLARE @AA DATETIME
DECLARE CURSOR1 CURSOR FOR
SELECT BE_DATE
FROM CASEPROC
OPEN CURSOR1
FETCH NEXT FROM CURSOR1 INTO @AA
WHILE @@FETCH_STATUS=0
BEGIN
IF day(BE_DATE)%2=0
BEGIN
UPDATE CASEPROC
SET OPER_NUM='2'
WHERE BE_DATE=@AA
END
ELSE IF day(BE_DATE)%2=1
BEGIN
UPDATE CASEPROC
SET OPER_NUM='1'
WHERE BE_DATE=@AA
END
END
CLOSE CURSOR1
DEALLOCATE CURSOR1

我没建表,只是打了出来,你拷回去看看吧有什么问题再问我。再有,变量引用那里有可能会出点问题。我用的是游标的引用
参考技术D 应该能的吧~~~你试试啦~~~ 第5个回答  2006-03-15 请先学好中文再来学SQL!不知道你在说什么?

以上是关于SQL中怎么用一条命令把表里面的数据清零,但是表并没有删除?的主要内容,如果未能解决你的问题,请参考以下文章

oracle用一条sql查出哪些数据不在某个表里

mysql有多张表如何快速复制表并把数据挪过去?

怎么把sqlserver数据库表里面的数据导入到mysql数据库里?

关于SQL SERVER的修改数据问题.难得我哦

如何在sql里用一条T-SQL命令查看数据库所有表内容

SQL 两张表合并 (两张表的列都相同)