MSSQL网站制作之deleted 和 inserted 是逻辑(观点)表...
支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统观点deleted和inserted是逻辑(观点)表。这些表在布局上相似于界说触发器的表(也就是在个中实验用户操纵的表);这些表用于保留用户操纵大概变动的行的旧值或新值。比方,若要检索deleted表中的一切值,请利用:SELECT*FROMdeletedCREATETRIGGERTR_LKCRM_SQJBXXINS
ONdbo.LKCRM_SQSP_SQJBXX
FORINSERT
AS
BEGIN
DECLARECUR_LKCRM_SQJBXXINSCURSORFORSELECTINS.SQXH,INS.DYXH,INS.SQLBFROMINSERTEDINS
DECLARE@SQXHINT
DECLARE@DYXHINT
DECLARE@SQLBNVARCHAR(2)
OPENCUR_LKCRM_SQJBXXINS
FETCHNEXTFROMCUR_LKCRM_SQJBXXINSINTO@SQXH,@DYXH,@SQLB
WHILE@@FETCH_STATUS=0
BEGIN
IF@SQLB=01OR@SQLB=04
UPDATELKCRM_DD_DDXXSETSPTGBZ=0WHEREDDXH=@DYXH
ELSE
BEGIN
IF@SQLB=02
UPDATELKCRM_DD_THDXXSETSPTGBZ=0WHERETHDXH=@DYXH
ELSE
BEGIN
IF@SQLB=03
UPDATELKCRM_SC_SCHDJLSETSPTGBZ=0WHEREHDXH=@DYXH
END
END
FETCHNEXTFROMCUR_LKCRM_SQJBXXINSINTO@SQXH,@DYXH,@SQLB
END
CLOSECUR_LKCRM_SQJBXXINSDEALLOCATECUR_LKCRM_SQJBXXINS
END
上面我们说了DML的闪回方案。但对于DDL却无能为力,对于大多数的DDL,即使是rowbase格式,二进制日志binlog中仍只记录语句本身。对于删表操作,只记录一个语句droptablet。仅凭这句话,无法还原表的数据。 从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。 SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。 SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。 需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。 一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。 习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。 你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。 所以你总能得到相应的升级版本,来满足你的需求。
页:
[1]