动态SQL语句基本语法.docx

  1. 1、本文档共82页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

学习SQL应知道的动态SQL语句基本语法

1、普通SQL语句可以用Exec执行

eg:Select*fromtableNameExec(select*fromtableName)

Execsp_executesqlNselect*fromtableName--请注意字符串前一定要加N

2、字段名,表名,数据库名之类作为变量时,必须用动态SQL

eg:

declare@fnamevarchar(20)set@fname=FiledName

Select@fnamefromtableName--错误,不会提示错误,但结果为固定值FiledName,并非所要。

Exec(select+@fname+fromtableName)--请注意加号前后的单引号的边上加空格

当然将字符串改成变量的形式也可

declare@fnamevarchar(20)

set@fname=FiledName--设置字段名

declare@svarchar(1000)

set@s=select+@fname+fromtableName

Exec(@s)--成功

execsp_executesql@s--此句会报错

declare@sNvarchar(1000)--注意此处改为nvarchar(1000)set@s=select+@fname+fromtableName

Exec(@s)--成功

execsp_executesql@s--此句正确

3、输出参数

declare@numint,@sqlsnvarchar(4000)

set@sqls=selectcount(*)fromtableNameexec(@sqls)

--如何将exec执行结果放入变量中?

declare@numint,@sqlsnvarchar(4000)

set@sqls=select@a=count(*)fromtableName

execsp_executesql@sqls,N@aintoutput,@numoutputselect@num

此外,如果想要在SQL语句字符串中使用单引号可以使用

SQLServer数据库中经常用到的identity列

发布时间:2008.03.2404:59 来源:赛迪网 作者:Alice

【赛迪网-IT技术报道】SQLServer中,经常会用到Identity标识列,这种自增长的字段操作起来的确是比较方便。但它有时还会带来一些麻烦。

示例一:当表中被删除了某些数据的时候,自增长列的编号就不再是一个连线的数列。这种时候我们可以用以下方案来解决。

SETIDENTITY_INSERT[TABLE][ON|OFF]

SETIDENTITY_INSERT[TABLE][ON|OFF]

允许将显式值插入表的标识列中,当设置为ON时,这时可能在INSERT操作时手工指定插入到标识列中的编号,同时必须在操作完成后,将IDENTITY_INSERT还原成OFF,否则下次插入的时候必须指定编号,那不然就无法完成INSERT操作。

示例二:当表中的记录被全部删除,但此时标识列的值越来越大的时候,如果不加以重置,它还会无休止的增长。这个时候我们就要用到:

DBCCCHECKIDENT(TABLE,[RESEED|NORESEED],[1])

DBCCCHECKIDENT(TABLE,[RESEED|NORESEED],[1])

将把指定表的种子值强制重设为1。然而,你可能不想将种子重设为1,在这种情况下,你可以用你想用的种子值替代第三个参数。有时候你可能想知道当前的种子,而不是想重设种子,这时你就要用到NORESEED,而不用再去顾忌第三个参数。

“一网打尽”通用SQL数据库的查询语句(1)

发布时间:2008.01.0404:40 来源:赛迪网 作者:20933

通用SQL数据库的查询语句:

(注释:本文中Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。)一、简单查询

简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。

例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。

SELECT

SELECT

nickname,email

FROM

testtable

WHERE

n

文档评论(0)

hao187 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档