仓酷云

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

[学习教程] sp_executesql先容和利用

[复制链接]
小魔女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:19:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
BDB源自BerkeleyDB,事务型数据库的另一种选择,支持COMMIT和ROLLBACK等其他事务特性sp_executesql先容和利用
sp_executesql
实行能够屡次重用或静态天生的Transact-SQL语句或批处置。Transact-SQL语句或批处置能够包括嵌进参数。
语法
sp_executesql[@stmt=]stmt
[
{,[@params=]N@parameter_namedata_type[,...n]}
{,[@param1=]value1[,...n]}
]
参数
[@stmt=]stmt
包括Transact-SQL语句或批处置的Unicode字符串,stmt必需是能够隐式转换为ntext的Unicode常量或变量。不同意利用更庞大的Unicode表达式(比方利用+运算符串连两个字符串)。不同意利用字符常量。假如指定常量,则必需利用N作为前缀。比方,Unicode常量Nsp_who是无效的,可是字符常量sp_who则有效。字符串的巨细仅受可用数据库服务器内存限定。
stmt能够包括与变量名情势不异的参数,比方:
NSELECT*FROMEmployeesWHEREEmployeeID=@IDParameter
stmt中包括的每一个参数在@params参数界说列表和参数值列表中均必需有对应项。
[@params=]N@parameter_namedata_type[,...n]
字符串,个中包括已嵌进到stmt中的一切参数的界说。该字符串必需是能够隐式转换为ntext的Unicode常量或变量。每一个参数界说均由参数名和数据范例构成。n是标明附加参数界说的占位符。stmt中指定的每一个参数都必需在@params中界说。假如stmt中的Transact-SQL语句或批处置不包括参数,则不必要@params。该参数的默许值为NULL。
[@param1=]value1
参数字符串中界说的第一个参数的值。该值能够是常量或变量。必需为stmt中包括的每一个参数供应参数值。假如stmt中包括的Transact-SQL语句或批处置没有参数,则不必要值。
n
附加参数的值的占位符。这些值只能是常量或变量,而不克不及是更庞大的表达式,比方函数或利用运算符天生的表达式。
前往代码值
0(乐成)或1(失利)
了局集
从天生SQL字符串的一切SQL语句前往了局集。
正文
在批处置、称号感化域和数据库高低文方面,sp_executesql与EXECUTE的举动不异。sp_executesqlstmt参数中的Transact-SQL语句或批处置在实行sp_executesql语句时才编译。然后编译stmt中的内容并作为实行企图运转(自力于名为sp_executesql的批处置的实行企图)。sp_executesql批处置不克不及援用挪用sp_executesql的批处置中声明的变量。sp_executesql批处置中的当地游标和变量对换用sp_executesql的批处置是不成见的。对数据库高低文所作的变动只在sp_executesql语句停止前无效。
假如只变动了语句中的参数值,则sp_executesql可用来取代存储历程屡次实行Transact-SQL语句。由于Transact-SQL语句自己坚持稳定仅参数值变更,以是Microsoft
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-1-18 12:54:30 | 只看该作者
是否碎片会引发效率问题?这都是需要进一步探讨的工具。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
冷月葬花魂 该用户已被删除
板凳
发表于 2015-1-25 18:24:01 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
精灵巫婆 该用户已被删除
地板
发表于 2015-2-3 13:11:27 | 只看该作者
如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。
变相怪杰 该用户已被删除
5#
发表于 2015-2-9 03:51:08 | 只看该作者
分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。
第二个灵魂 该用户已被删除
6#
发表于 2015-2-26 20:52:59 | 只看该作者
是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
灵魂腐蚀 该用户已被删除
7#
发表于 2015-3-8 17:41:56 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
分手快乐 该用户已被删除
8#
发表于 2015-3-16 09:44:49 | 只看该作者
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
再见西城 该用户已被删除
9#
发表于 2015-3-22 22:10:15 | 只看该作者
Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-9 02:01

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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