在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查询算法,有效地提高查询速度 比如日志传送、比如集群。。。 外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。 如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。 如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录. 你可以简单地认为适合的就是好,不适合就是不好。 外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。 而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
页:
[1]