SQL中Table型数据与用户自定义函数
2010-07-07 09:49
295 查看
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 * FROM Pubs.dbo.SalesByStore( 7131 )
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 * FROM Pubs.dbo.SalesByStore( 7131 )
相关文章推荐
- SQL中Table型数据(表变量)与用户自定义函数(downmoon)
- SQL中Table型数据与用户自定义函数(downmoon)
- SQL中Table型数据与用户自定义函数
- SQL中Table型数据与用户自定义函数
- SQL中Table型数据与用户自定义函数
- SQL中Table型数据(表变量)与用户自定义函数(downmoon)
- 从sp_executesql中返回table型数据及动态SQL语句的参数化查询
- T-SQL查询数据的分页
- 强大的DataGrid组件[3]_数据交互之Linq to SQL——Silverlight学习笔记
- sql:把多列的数据转成行的一个字段
- sql中插值法完成缺失数据的填充
- sql不使用游标遍历表数据
- 数据开发-经典sql语句
- SQL(四)查询(二)过滤数据(where子句()
- SQL合并统一数据(相同的在一行显示)
- contentProvider实现groupby查询数据比如要用实现这么一个sql语句:SELEC
- 清空某表的全部数据的SQL语句
- sql-insert一条语句执行多条数据插入
- 【SQL】SQL数据库性能测试,插入数据
- 把Excel数据生成Sql Insert语句