小女巫 发表于 2015-1-16 22:25:25

MSSQL网页编程之怎样利用SQL触发器举行备份数据库?

对于insert和delete,event中包含了插入/删除的记录的所有字段的值(太爽了。。)sql|触发器|备份|数据库起首,你必要创建测试数据表,一个用于拔出数据:test3,别的一个作为备份:test3_bak

以下是援用片断为例:

createtabletest3(idintprimarykeynotnull
identity(1,1),unamevarchar(20),uageint);
createtabletest3_bak(idintprimarykeynot
nullidentity(1,1),bidint,unamevarchar(20),
uageint,activechar(1));

第二步,编写备份用的触发器,只要更新大概是拔出的时分才触发
以下是援用片断为例:
altertriggertest3_bak_insert_update
ontest3
forinsert,update
as
declare@idint
declare@unamevarchar(20)
declare@uageint
begin
select@id=id,@uname=uname,@uage=uagefrominserted
if@id0
begin
updatetest3_baksetactive=0wherebid=@id
insertintotest3_bak(bid,uname,uage,active)
values(@id,@uname,@uage,1)
end
end

第三步,测试数据:
上面是援用的片断为例:
insertintotest3(uname,uage)values(FLB,20)
insertintotest3(uname,uage)values(FLB1,21)
insertintotest3(uname,uage)values(FLB2,22)
updatetest3setuage=100whereid=27
deletefromtest3whereid=20

最初,你可本人接纳上面的查询踪两个表的数据变更:
以下是援用片断为例:
select*fromtest3
select*fromtest3_bak其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

若相依 发表于 2015-1-17 16:11:27

其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!

小女巫 发表于 2015-1-20 20:17:43

SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)

蒙在股里 发表于 2015-1-29 20:37:09

习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。

变相怪杰 发表于 2015-2-6 04:30:27

我个人认为就是孜孜不懈的学习

仓酷云 发表于 2015-2-15 13:28:48

having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。

兰色精灵 发表于 2015-3-4 11:34:05

很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。

灵魂腐蚀 发表于 2015-3-11 19:15:51

其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!

冷月葬花魂 发表于 2015-3-19 09:16:15

多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。

透明 发表于 2015-3-27 18:09:49

你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。
页: [1]
查看完整版本: MSSQL网页编程之怎样利用SQL触发器举行备份数据库?