您当前的位置: 首页 > 数据库教程 > MSSQL教程 > SQL 2008 T-SQL支持表变量参数

SQL 2008 T-SQL支持表变量参数

作者:不详 来源:网络 发布时间: 2010-06-30 13:23 点击:
最近装了VS2010尝鲜。在Win7下速度明显快了很多。顺便装了Microsoftsqlserver2008R2,在看SQL2008对T-SQL语法的增强的时候注意到了一个表变量作为参数传递的新语法觉得很不错。 首先建立一张测试表: CREATETABLE[dbo].[us]( [id][int]IDENTITY(1,1)NOTNULL, [name][va

SQL 2008 T-SQL支持表变量参数

  最近装了VS2010尝鲜。在Win7下速度明显快了很多。顺便装了Microsoftsqlserver2008R2,在看SQL2008对T-SQL语法的增强的时候注意到了一个表变量作为参数传递的新语法觉得很不错。
  首先建立一张测试表:
  CREATETABLE[dbo].[us](
  [id][int]IDENTITY(1,1)NOTNULL,
  [name][varchar](50)NULL,
  [pass][varchar](50)NULL,
  CONSTRAINT[PK_us]PRIMARYKEYCLUSTERED
  (
  [id]ASC
  )WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
  )ON[PRIMARY]
  定义一个自定义表类型:
  CREATETYPE[dbo].[UsTable]ASTABLE(
  [id][int]IDENTITY(1,1)NOTNULL,
  [NAME][varchar](50)NULL
  )
  然后我们写一个存储过程来传递这个类型,这里我们模拟用户批量添加默认密码为123
  CREATEPROC[dbo].[addus]
  @tab[UsTable]READONLY
  AS
  BEGIN
  INSERTINTOus(name,pass)SELECTname,'123'FROM@tab
  END
  测试一下:
  –-定义一个自定义表类型的变量
  DECLARE@usUsTable
  --插入模拟数据
  INSERTINTO@us(name)VALUES('dc')
  INSERTINTO@us(name)VALUES('ada')
  INSERTINTO@us(name)VALUES('dacey')
  --执行存储过程
  EXECdbo.addus@tab=@us
  查询us表看下是否都插入进去了:
  1dc123
  2ada123
  3dacey123

分享到:
本文"SQL 2008 T-SQL支持表变量参数"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4