- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
探讨自定义SQL语句的应用
探讨自定义SQL语句的应用 摘要:在大数据肆虐的今天,数据正在迅速膨胀并变大,已经渗透到每一个行业和业务职能领域,成为重要的生产因素,它决定着企业的未来发展,虽然很多企业可能并没有意识到数据爆炸性增长带来问题的隐患,但是随着时间的推移,人们将越来越多的意识到数据对企业的重要性
关键词:探讨;自定义;SQL语句;应用
信息化越好的企业,对数据会越来越重视,如何从数据库中检索数据,最常见的方法莫过于使用简单的DELETE、INSERT、SELECT、UPDATE等标准SQL语句,要不就是技术尖端的存储过程,但这两种方法很有局限性。事实上介于标准SQL语句和存储过程之间的自定义SQL语句更灵活,更方便
一、使用标准SQL语句
标准的SQL语句使用方法很简单,如:SelectCommand=“SELECT * FROM [manger] where ID1” SelectCommandType=“Text”,由于标准的SQL语句是默认值,所以一般把SelectCommandType=“Text”省略
二、使用存储过程
尽管存储过程功能强大,但使用却很简单,比如:
SelectCommand=“xytotal” SelectCommandType=“StoredProcedure”
PropertyName=“SelectedValue” Type=“String” /
其中xytotal是存储过程名,nf是参数
三、使用自定义SQL语句
1.使用CAST函数构造数据类型
在工资查询时,可选择起止年月,但数据库没有年、月数据类型,只有日期类型,一般用每月的1日表示该月,因此要用年、月和“-1”日进行构造,即cast(@年+’-’+@月+’-1’ as datetime),由此构成Where条件。如:SelectCommand=“SELECT [应发合计],[代扣合计],[实发金额],……,[月份] FROM [simplelist] WHERE 月份= cast(@起年+’-’+@起月+’-1’ as datetime)and 月份’全部’)SELECT [姓名],[就业单位],[联系电话],…… FROM [out] WHERE([班级] = @班级)else SELECT [姓名],[就业单位],[联系电话],…… FROM [out] WHERE(substring(毕业时间,1,4)= @毕业时间)AND([学院] = @学院)”
这种情形多数开发人员一般采用存储过程,并且表面上更简单,但本质是相同的,不过表达有所不同,因此各有各的用途
4.构造UPDATE语句
不同情形更新的字段不同,照说可以用存储过程来完成,但一般情况下,UPDATE字段都好几个字段,甚至几十个字段,那么使用存储过程几乎不可能了,这时不得不用if else进行构造,这就是几乎没有UPDATE的存储过程原因。如UpdateCommand=“if(@就业去向=‘自由职业’)UPDATE [out] SET ……,[自由工作所在地] = @自由工作所在地,[自由职业内容] = @自由职业内容,[自由职业本人声明] = @自由职业本人声明 WHERE [ID] = @ID else if(@就业去向=‘升学’)UPDATE [out] SET ……,[升学名称] = @升学名称 WHERE [ID] = @ID else if(@就业去向=‘参军入伍’)UPDATE [out] SET ……,[部队名称] = @部队名称 WHERE [ID] = @ID”
严格地说,所有的存储过程都可以用SQL语句完成,反过来,所有的SQL语句也都可以用存储过程(视图)来表示,那么究竟什么时候用存储过程?什么时候用SQL语句?一般来说,简单的查询用SQL语句,复杂且参数少的查询用存储过程,参数多、较复杂的查询只能由自定义SQL语句完成,或者说越简单就用SQL语句,越复杂就用存储过程,介于两者之间就用自定义SQL语句,它们之间没有绝对的界限
参考文献:
[1]姚永一,SQL Server数据库实用教程,北京:电子工业出版社,2010.
[2]高云,SQL Server 2008数据库技术实用教程,北京:清华大学出版社,2011
[3]何玉洁,数据库原理与应用(第二版),北京:机械工业出版社,2011
[4]壮志剑,数据库原理与SQL Server,北京:高等教育出版社,2008
1
文档评论(0)