仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1951|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网站制作之在查询剖析器中,经由过程SQLDMO来失掉剧本

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-16 22:38:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
EXAMPLE存储引擎是一个不做任何事情的存根引擎。它的目的是作为MySQL源代码中的一个例子,用来演示如何开始编写一个新存储引擎。同样,它的主要兴趣是对开发者。EXAMPLE存储引擎不支持编索引。查询剖析|剧本
--用以下剧本,能够失掉恣意工具的创立时的剧本,网上仿佛也传播有,但属于本人的器材用着仍是感到舒坦.
--增添快速键后,然后在查询剖析器中按响应的快速键就可以显现工具的剧本.
SETQUOTED_IDENTIFIERON
GO
SETANSI_NULLSON
GO





ALTERproceduresp_script
@objectnamevarchar(50)
as
declare@databasenamevarchar(50)

set@databasename=DB_NAME(DB_ID())

declare@strvarchar(4000)


DECLARE@objectint
declare@objectdatabaseint
DECLARE@hrint
DECLARE@srcvarchar(255),@descvarchar(255)
DECLARE@DataBaseCountint,@Currentint,@DataBaseint

declare@tableint,@tablesint

EXEC@hr=sp_OACreateSQLDMO.SQLServer,@objectOUT
IF@hr0
BEGIN
EXECsp_OAGetErrorInfo@object,@srcOUT,@descOUT
SELECThr=convert(varbinary(4),@hr),Source=@src,Description=@desc
RETURN
END

EXEC@hr=sp_OAMethod@object,Connect,NULL,@@servername,
sa,

IF@hr0
BEGIN
EXECsp_OAGetErrorInfo@object
RETURN
END

EXEC@hr=sp_OAGetProperty@object,Databases,@objectdatabaseoutput

IF@hr0
BEGIN
EXECsp_OAGetErrorInfo@objectdatabase,@srcOUT,@descOUT
SELECThr=convert(varbinary(4),@hr),Source=@src,Description=@desc
RETURN
END



EXEC@hr=sp_OAGetProperty@objectdatabase,count,@DataBaseCountoutput
IF@hr0
BEGIN
EXECsp_OAGetErrorInfo@objectdatabase,@srcOUT,@descOUT
SELECThr=convert(varbinary(4),@hr),Source=@src,Description=@desc
RETURN
END


set@Current=1
loop1:

EXEC@hr=sp_OAMethod@objectdatabase,Item,@Databaseoutput,@databasename

IF@hr0
BEGIN
EXECsp_OAGetErrorInfo@objectdatabase
RETURN
END


EXEC@hr=sp_OAMethod@Database,GetObjectByName,@tableoutput,@objectname

IF@hr0
BEGIN
EXECsp_OAGetErrorInfo@Database
RETURN
END

Exec@hr=sp_OAMethod@table,Script,@stroutput,5
IF@hr0
BEGIN
EXECsp_OAGetErrorInfo@table
RETURN
END


print@str






GO
SETQUOTED_IDENTIFIEROFF
GO
SETANSI_NULLSON
GO


闪回的目的是要让数据库在commit之后,还能恢复到之前的某个状态,整库或指定的表。
海妖 该用户已被删除
沙发
发表于 2015-1-19 19:50:29 | 只看该作者
还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。
小魔女 该用户已被删除
板凳
发表于 2015-1-28 10:13:47 | 只看该作者
原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!
飘飘悠悠 该用户已被删除
地板
发表于 2015-2-5 20:37:02 | 只看该作者
SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。
兰色精灵 该用户已被删除
5#
发表于 2015-2-13 13:17:23 | 只看该作者
两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书
若天明 该用户已被删除
6#
发表于 2015-3-3 21:51:32 | 只看该作者
大家注意一点。如下面的例子:
深爱那片海 该用户已被删除
7#
发表于 2015-3-11 14:11:38 | 只看该作者
换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的
分手快乐 该用户已被删除
8#
发表于 2015-3-18 22:32:09 | 只看该作者
连做梦都在想页面结构是怎么样的,绝非虚言
变相怪杰 该用户已被删除
9#
发表于 2015-3-26 19:53:35 | 只看该作者
其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 19:44

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表