sql语句妙用,各种sql语句的详细用法与讲解.docVIP

sql语句妙用,各种sql语句的详细用法与讲解.doc

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学习SQL应知道的动态SQL语句基本语法 1 、普通SQL语句可以用Exec执行? ? eg: Select * from tableName ? Exec(select * from tableName) ? Exec sp_executesql Nselect * from tableName -- 请注意字符串前一定要加N ? ? 2、字段名,表名,数据库名之类作为变量时,必须用动态SQL? ? eg: ? declare @fname varchar(20) ? set @fname = FiledName ? Select @fname from tableName -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。 ? Exec(select + @fname + from tableName) -- 请注意 加号前后的 单引号的边上加空格 ? ? 当然将字符串改成变量的形式也可 ? declare @fname varchar(20) ? set @fname = FiledName --设置字段名 ? ? declare @s varchar(1000) ? set @s = select + @fname + from tableName ? Exec(@s) -- 成功 ? exec sp_executesql @s -- 此句会报错 ? ? ? declare @s Nvarchar(1000) -- 注意此处改为nvarchar(1000) ? set @s = select + @fname + from tableName ? Exec(@s) -- 成功 ? exec sp_executesql @s -- 此句正确 ? ? 3、输出参数? ? declare @num int, ? @sqls nvarchar(4000) ? set @sqls=select count(*) from tableName ? exec(@sqls) ? --如何将exec执行结果放入变量中? ? ? declare @num int, ? @sqls nvarchar(4000) ? set @sqls=select @a=count(*) from tableName ? exec sp_executesql @sqls,N@a int output,@num output ? select @num ? ? 此外,如果想要在SQL语句 字符串中使用 单引号 可以 使用 SQL Server数据库中经常用到的identity列 发布时间:2008.03.24 04:59???? 来源:赛迪网????作者:Alice 【赛迪网-IT技术报道】SQL Server中,经常会用到Identity标识列,这种自增长的字段操作起来的确是比较方便。但它有时还会带来一些麻烦。 示例一 :当表中被删除了某些数据的时候,自增长列的编号就不再是一个连线的数列。这种时候我们可以用以下方案来解决。 SET IDENTITY_INSERT [TABLE] [ON|OFF] 允许将显式值插入表的标识列中,当设置为ON时,这时可能在INSERT操作时手工指定插入到标识列中的编号,同时必须在操作完成后,将IDENTITY_INSERT还原成OFF,否则下次插入的时候必须指定编号,那不然就无法完成INSERT操作。 示例二:当表中的记录被全部删除,但此时标识列的值越来越大的时候,如果不加以重置,它还会无休止的增长。这个时候我们就要用到: DBCC CHECKIDENT(TABLE, [RESEED|NORESEED], [1]) 将把指定表的种子值强制重设为1。然而,你可能不想将种子重设为1,在这种情况下,你可以用你想用的种子值替代第三个参数。有时候你可能想知道当前的种子,而不是想重设种子,这时你就要用到NORESEED,而不用再去顾忌第三个参数。 “一网打尽”通用SQL数据库的查询语句 (1) 发布时间:2008.01.04 04:40???? 来源:赛迪网????作者:20933 通用SQL数据库的查询语句: (注释:本文中Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。) 一、 简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 SELECT nickname,email FROM testtable WHERE name= 张三 (一) 选择

文档评论(0)

max + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档