㈠ sql语句怎么实现数据递增
以sqlserver为例,按照你的要求,先有如下一张表,里面有相关的数据,所以可以采用alter table表名 add 列名 类型 约束。。
如下:
create table test(
name varchar(10),
sex char(1),
profession varchar(15)
)
alter table test add id int identity check(id>1 and id<9999)
其中 identity 说明是自增
但是,正常情况下,一张表是有主键约束的,你添加id是不是要重新设置约束呢,关于这点,可以先alter table drop constraint 约束名。。然后再
alter table test add id int identity check(id>1 and id<9999) 添加主键约束。。具体的操作可以参考相关数据库的帮助文档
㈡ Sqlserver2008的自动增量怎么搞得
SqlServer中的自增的ID的最后的值:
SELECT SCOPE_IDENTITY() --返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值。
SELECT @@IDENTITY --返回插入到当前会话中任何作用域内的最后一个 IDENTITY 列值
SELECT IDENT_CURRENT('TbName')--不受作用域和会话的限制,而受限于指定的表。
IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。
一个作用域就是一个模块——存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于相同的作用域中。
对于马上使用的刚才插入的新记录ID用SCOPE_IDENTITY()是最合适的;
对于想要得到一系列的操作中最后得到的那个自增的ID最好用@@IDENTITY;
对于想要得到一个表中的最后一个插入操作所产生的ID的最好用IDENT_CURRENT('TBName')
DECLARE @TMP_ID INT
SET @TMP_ID = IDENT_CURRENT('BID_EvaluateItem')
IF ((@TMP_ID IS NOT NULL) AND (@TMP_ID >0))
BEGIN
--其它的操作
END
㈢ sqlserver2008R2数据库中表的增量更新怎么实现
你所说的这种情况,应该可以使用sql server的merge函数来解决。至于怎么使用,你可以网络,其实也很简单,但是打字说起来就复杂了
㈣ sql 递增
首先,我曾经也经历过这个问题,我用的Access数据库,我想自动增量连续.试了好多的方式.除了重建表读记录再写记录外没有了.
第二,如果只是asp中得到他们的序数.可以用一个变量i,读取一条记录i就加1
如
i=1
while not rs.eof
response.write "序数:" & i & "name:" & rs("name")
i=i+1
rs.movenext
wend
第三,在表中新建一个字段--排序数.每次删记录后重新从1-count(*)更新数据库的"排序数"字段
要是回答的内容有问题,或认为不妥,请发送网络消息给我,消息内容加上本页网址哦。。
·
㈤ sql怎么添加增量数据
方法一:利用唯一索引的方式实现。即添加的数据已经存在则失败,添加的数据是增量数据则成功。
方法二:采用SQL语句规则实现。譬如:
insert into A
select B.* from B inner join on B.ID <> A.BID;
㈥ sql server怎么在一张表后面依次追加001 002 003
1,空首自烂敬动增量,查询时构成。在视图,函数中构成也可以。
2,斗历数自动增量+该字段,在触发器里构成+赋值。
构成方法参考:
SELECT RIGHT('0000'+CAST(7 AS VARCHAR(8)),3);
㈦ 如何让SQL数据库进行增量备份
在SQL Server 2000中,假定我们拥有一个数据库为:Test, 现在需要它每天19:00自动进行一次备份,并且以后一旦发生数据库错误,我们都可以通过备份文件将数据库恢复到任何一个备份过的时刻点。
备份步骤:
1. 在“SQL Server企业管理器”中注册数据库所在的服务器,注意要使用sa用户名和口令,否则以后执行备份调度的时候,会出现权限不足,导致不能进行备份。
2. 确保该服务器的SQL Server Agent服务是开启的,因为所有的调度都是通过该代理进行执行的。
3. 在“SQL Server企业管理器”中选中Test数据库,右键打开“备份数据库”窗口,指定一个新的文件Test-daily.bak,选择“完全”进行一次完全备份。
4. 再次打开“备份数据库”窗口,这次使用“差异备份”,“重写”选项设置为“追加到媒体”,目的文件仍然是前面步骤所指定的Test-daily.bak,并在“调度”选项中设置为每天的19:00,这样,SQL Server会在每天的19:00将数据库自上次备份以来发生的变化,以增量备份的方式追加到Test-daily.bak文件中。(测试的时候,可以设置为每天的每1分钟进行一次备份,以便可以很快的看到备份结果)
在需要进行数据库恢复的时候,可以按照如下还原步骤进行操作:
1. 新建一个数据库,比如名为Back, 右键打开“还原数据库”窗口,选择“从设备”进行还原,然后在“选择设备…”中选定备份所使用的Test-daily.bak文件,回到“还原数据库”窗口,“备份号”默认为1(对应的就是备份步骤3中的初次完全备份),不必更改。在“选项”标签页中,选中“强制还原”,最关键的一步是,在“恢复完成状态”中,选中第2或第3项,即保证“能还原其它事务日志”,这样还原之后,这个新的数据库就回到了我们进行第一次完全备份时候的状态,此时,该Back数据库将处于“正在装载”或“只读”的状态,没有关系,这是正常的,因为我们接下来还需要通过事务日志将该数据库恢复到指定的某个状态。
2. 再次打开“还原数据库”窗口,同样选择“从设备”进行还原,然后在“选择设备…”中选定备份所使用的Test-daily.bak文件,回到“还原数据库”窗口,点击“备份号”后面的“查看内容…”按钮,在新的窗口中,可以看到里面列出了每天19:00左右备份过的备份集(除了最顶上一个是我们初次的完全备份集,其它都是每天的增量备份集),选中想要恢复的某个备份集,单击“确定”回到主窗口,可以看到“还原备份集”默认选中的是“差异”,再单击确定,这样,Back数据库就恢复到了我们选定的某个备份集了。
上述还原步骤可以重复进行,直到我们找到确切需要的某个备份集。
另外,恢复后的数据库名称是Back,如果想将其改名为Test,可以执行
EXEC sp_renamedb 'Back', 'Test'
在重命名数据库之前,应该确保没有人使用该数据库,而且数据库设置为单用户模式。
补充:需要在"备份数据库"->"常规"选项卡里选中"重写现有媒体",这样在"选项"选项卡里才能设定"备份集到期时间",并且发现,这样设定好"到期时间"之后,即使将"重写现有媒体"改为"追加到媒体",所设定的"到期时间"还是有效的,这可以在调度里的"步骤"脚本中看出来,如:
BACKUP DATABASE [model] TO DISK = N'D:\test.bak' WITH NOINIT , NOUNLOAD , RETAINDAYS = 1, DIFFERENTIAL , NAME = N'model 备份', NOSKIP , STATS = 10, NOFORMAT,通过这种方式应该可以实现保留最近N天的备份,测试中....