SQL中Table型数据与用户自定义函数(downmoon)
SQL Server 2000 新增了Table型数据:Table型数据不能用来定义列的类型,只能用作T-SQL变量或者作为自定义函数的返回值,下例是一个简单的table 型数据的例子:

Declare   @TableVar   Table
(Cola  int   Primary   Key ,Colb  char ( 3 ))
Insert   Into   @TableVar   Values  ( 1 ,  ' abc ' )
Insert   Into   @TableVar   Values  ( 2 ,  ' def ' )
Select   *   From   @TableVar

以上语句定义了一个名为TableVar,有两列的table 型变量像通常的表一样table 型数据也有insert select 等操作。在SQL Server 2000 中table 型数据与用户自定义函数是密不可分的,SQL Server 2000支持两种类型的函数:内置函数和用户定义函数。内置函数只允许T-SQL 语句调用而不能更改使用。用户定义函数可以根据需要定义自己所需的函数。用户定义函数可以带参数,也可以不带参数,但只能返回单值。正是由于这个原因SQL Server 2000 增加了table 型数据 ,其值可以是整型字符型或数值型。下例是一个简单的用户定义函数说明了用户定义函数的基本结构:

Create   Function  CubicVolume
( @CubeLength   decimal ( 4 , 1 ), @CubeWidth   decimal ( 4 , 1 ), @CubeHeight   decimal ( 4 , 1 ) )
Returns   decimal ( 12 , 3 )
As
Begin
Return  ( @CubeLength   *   @CubeWidth   *   @CubeHeight )
End
-- SELECT  AppDta.dbo.CubicVolume (10,8,6)

在上例中用CREATE FUNCTION 创建了一个函数CubicVolume 来计算立方体的体积,变量CubeLength CubeWidth CubeHeight 为输入参数,返回值为数值型。BEGIN 表明函数体的开始,END 表明函数体的结束。通过下例 我们就会清楚用户定义函数与table 型数据是如何有机结合的:

Use  pubs

Create   Function  SalesByStore( @storeid   varchar ( 30 ))
Returns   Table
As
Return  ( Select  title, qty  From  sales s, titles t
Where  s.stor_id  =   @storeid   and  t.title_id  =  s.title_id)

--  select * from sales
SELECT   Pubs.dbo.SalesByStore( 7131 )

邀月注:本文版权由邀月 和CSDN共同所有,转载请注明出处。
助人等于自助!   3w@live.cn

  

  


SQL中Table型数据(表变量)与用户自定义函数(downmoon)相关推荐

  1. [导入]SQL中的临时表和表变量

    我们经常使用临时表和表变量,那现在我们就对临时表和表变量进行一下讨论. 临时表 局部临时表 全局临时表 表变量 临时表 临 时表存储在TempDB数据库中,所有的使用此SQL Server 实例的用户 ...

  2. 如何使用 SQL CREATE TABLE 创建新表

    文章目录 一.创建表 1.1 表创建基础 1.2 使用 NULL 值 1.3 指定默认值 二.更新表 三.删除表 四.重命名表 五.小结 本文介绍如何使用 SQL CREATE TABLE 创建新表, ...

  3. SQL Server中的内存优化表变量

    This article will cover the usage details and performance advantages of the memory-optimized table v ...

  4. SqlServer 中的临时表与表变量

    我们在数据库中使用表的时候,经常会遇到两种使用表的方法,分别就是使用临时表及表变量.在实际使用的时候,我们如何灵活的在存储过程中运用它们,虽然它们实现的功能基本上是一样的,可如何在一个存储过程中有时候 ...

  5. [网摘]动态SQL中set与select对变量赋值的影响

    在动态SQL中,存在着多种对字符变量赋值的方法.其中set和select使用的朋友最多.对于像我一样的小鸟来说,可能只是会用这两个方法而已,并没有真正理解这两个方法的真正内涵.我个人的理解是这样的:s ...

  6. 在内存中创建临时表和表变量

    在Disk-Base数据库中,由于临时表和表变量的数据存储在tempdb中,如果系统频繁地创建和更新临时表和表变量,大量的IO操作集中在tempdb中,tempdb很可能成为系统性能的瓶颈.在SQL ...

  7. SQL中 left join 左表合并去重实用技巧

     作者:ZhaoYingChao88 zyc88.blog.csdn.net/article/details/83002882 建表: CREATE TABLE `table1` (`id` int( ...

  8. 博图如何读取mysql数据_博途使用小结:从SQL中读取数据并给变量赋值

    1.建立内部变量TON_Report,VF01_Runtime,JC01_Runtime,VF05_Runtime,数据类型为Real,长度为2 2.建立查询按钮,点击查询按钮时读取SQL中的数据并赋 ...

  9. dates.format_在SQL中使用DATES及其不同的内置函数NOW(),FORMAT()

    dates.format Basically, when we are working with dates, we need to be sure that the format of the da ...

最新文章

  1. go微服务框架go-micro深度学习(一) 整体架构介绍
  2. Linux 编程中的API函数和系统调用的关系【转】
  3. 爬取虎牙之一:(王者荣耀主播信息普通爬取)
  4. Struts2 datetimepicker 日期月份乱码解决
  5. 检查一列数据的重复项 vba_提取重复值,但字典不是重点。
  6. EverNote第三方API接口测试
  7. 图解TCPIP-传输层 TCP报文
  8. python中文显示不出来_Python查询数据库,中文的结果显示不出来
  9. Npm更新移除包的规则
  10. Linux下从零搭建WordPress
  11. 【p2p】【EdgeVPNio (evio)】简介: IP-over-P2P (IPOP)
  12. 快手视频批量下载,一个脚本就够了,手把手教你批量下载快手高清视频。
  13. 多元统计分析最短距离法_多元统计分析方法
  14. 集店管家(App名称)技术服务支持
  15. web前端开发师前景,96道前端面试题
  16. 全国计算机四六级报名时间,2018年6月四六级考试报名即将截止,请抓紧时间报名!...
  17. 苏州外包php,【苏州IT外包经验】Ubuntu 17.10系统下配置PHP+Apache+Mysql
  18. 安卓市场的“安全评估报告”攻略
  19. 安卓马赛克view_去马赛克软件app下载
  20. JSP中访问本地图片

热门文章

  1. 苏东坡诗词名句40句
  2. k8s免费在线集群工具
  3. 信通院魏亮:产业数字化让传统赛道产生新赛道
  4. linux 【完结篇】第六章 shell编程及自动化运维--三剑客
  5. vue中keep-alive缓存的使用
  6. Java 15 正式发布, 14 个新特性,刷新你的认知!!
  7. LED阵列的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  8. 发那科机器人没有码垛指令_FANUC 机器人码垛编程详细讲解,要收藏哦~
  9. 13 种用于网站设计和开发的 React 图库
  10. 【工作复盘】复盘我的2020,展望2021