灵魂腐蚀 发表于 2015-1-16 22:28:41

MSSQL网页编程之将表/查询存储为尺度的XML文件

“数据行级锁定”的意思是指在事务操作的执行过程中锁定正在被处理的个别记录,不让其他用户进行访问。这种锁定将影响到(但不限于)SELECT、LOCKINSHAREMODE、SELECT、FORUPDATE命令以及INSERT、UPDATE和DELETE命令。xml|尺度
/*--存为XML
将表/查询存储为尺度的XML文件
--*/

/*--挪用示例
--用SQL用winows身份考证的情形
execp_savexml@sql=区域材料,@fname=c:区域材料.xml

--用指定的用户
execp_savexml@sql=区域材料,@fname=c:区域材料.xml,@userid=sa
--*/
ifexists(select*fromdbo.sysobjectswhereid=object_id(N.)andOBJECTPROPERTY(id,NIsProcedure)=1)
dropprocedure.
GO

createprocp_savexml
@sqlvarchar(8000),--要保留的表/视图/SQL查询语句
@fnamevarchar(1000)=c:        mp.xml,--保留的XML文件名
@useridvarchar(50)=,--用户名,假如为nt考证体例,则为
@passwordvarchar(50)=--暗码
as
declare@errint,@srcvarchar(255),@descvarchar(255)
declare@objint,@constrvarchar(1000)
ifisnull(@userid,)=
set@constr=Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=
+db_name()+;DataSource=+@@servername
else
set@constr=Provider=SQLOLEDB.1;PersistSecurityInfo=True;
+UserID=+@userid+;Password=+isnull(@password,)
+;InitialCatalog=+db_name()+;DataSource=+@@servername

exec@err=sp_oacreateadodb.recordset,@objout
if@err0gotolberr

exec@err=sp_oamethod@obj,open,null,@sql,@constr
if@err0gotolberr

set@sql=del+@fname
execmaster..xp_cmdshell@sql,no_output
exec@err=sp_oamethod@obj,save,null,@fname,1
if@err0gotolberr

exec@err=sp_oadestroy@obj
return

lberr:
execsp_oageterrorinfo0,@srcout,@descout
selectcast(@errasvarbinary(4))as毛病号
,@srcas毛病源,@descas毛病形貌
go

因此我们的方案中要构造这种逆操作。Event_type增加一种FLASHBACK_EVENT。这类操作形式与Query_Event相同,都是简单的SQL语句,只是包含了将数据恢复的操作。

飘飘悠悠 发表于 2015-1-19 14:08:48

需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。

爱飞 发表于 2015-1-26 10:13:18

从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。

深爱那片海 发表于 2015-2-10 02:09:58

对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。

精灵巫婆 发表于 2015-2-28 15:21:39

每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。

只想知道 发表于 2015-3-10 01:03:49

groupby子句可以将查询结果分组,并返回行的汇总信息Oracle按照groupby子句中指定的表达式的值分组查询结果。

乐观 发表于 2015-3-17 04:09:55

其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。

分手快乐 发表于 2015-3-23 18:59:56

再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。
页: [1]
查看完整版本: MSSQL网页编程之将表/查询存储为尺度的XML文件