深爱那片海 发表于 2015-1-16 14:09:00

在Sql Server中创立游标示例

闪回的目的是要让数据库在commit之后,还能恢复到之前的某个状态,整库或指定的表。这个实在没有甚么难度,只是一个语法界说罢了,只是本人用的少,以是偶然在用的时分就健忘了,写在这里,以便利查阅。

以下sql示例展现的功效:
1,游标的格局与界说
2,上面游标的功效是禁用以后数据库中一切的束缚
declare@sqlnvarchar(1000)
declaremy_curcursorlocalfor
selectALTERTABLE[+b.name+]NoCHECKCONSTRAINT+a.nameas禁用束缚fromsys.foreign_keysa,sys.objectsb
wherea.parent_object_id=b.object_idandb.type=u

openmy_cur
fetchnextfrommy_curinto@sql
while@@fetch_status=0
begin
exec(@sql)
fetchnextfrommy_curinto@sql
end

closemy_cur
deallocatemy_cur


下面只是复杂的界说了一个游标,游标的详解,请参考本站:
SQL基本教程及代码优化下载

上面游标是启用以后数据库中一切的束缚
declare@sqlnvarchar(1000)
declaremy_curcursorlocalfor
selectALTERTABLE[+b.name+]CHECKCONSTRAINT+a.nameas启用束缚fromsys.foreign_keysa,sys.objectsb
wherea.parent_object_id=b.object_idandb.type=u

openmy_cur
fetchnextfrommy_curinto@sql
while@@fetch_status=0
begin
exec(@sql)
fetchnextfrommy_curinto@sql
end

closemy_cur
deallocatemy_cur
优化的SQL查询算法,有效地提高查询速度

活着的死人 发表于 2015-1-18 12:10:00

比如日志传送、比如集群。。。

分手快乐 发表于 2015-1-26 15:32:35

外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。

灵魂腐蚀 发表于 2015-2-4 20:37:46

如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。

老尸 发表于 2015-2-10 09:17:19

如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.

金色的骷髅 发表于 2015-3-1 08:58:21

你可以简单地认为适合的就是好,不适合就是不好。

小妖女 发表于 2015-3-10 16:09:48

外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。

兰色精灵 发表于 2015-3-17 09:08:30

而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
页: [1]
查看完整版本: 在Sql Server中创立游标示例