关键词:SQL Server 2008
传递表值参数功能的局限性 在传递表值变量到程序中时必须使用 READONLY从句。表格变量里的数据不能做修改——除了修改你可以把数据用于任何其他的操作。另外,你也不能把表格变量用做OUTPUT参数——只能用做input参数。 使用自己的新表格变量类型 首先,要声明一个变量类型SalesHistoryTableType,不需要再一次定义表格结构,因为在创建这个表格类型的时候已经定义过了。 DECLARE @DataTable AS SalesHistoryTableType The following script adds 1,000 records into my @DataTable table variable: DECLARE @i SMALLINT SET @i = 1 WHILE (@i <=1000) BEGIN INSERT INTO @DataTable(Product, SaleDate, SalePrice) VALUES ('Computer', DATEADD(mm, @i, '3/11/1919'), DATEPART(ms, GETDATE()) + (@i + 57)) INSERT INTO @DataTable(Product, SaleDate, SalePrice) VALUES('BigScreen', DATEADD(mm, @i, '3/11/1927'), DATEPART(ms, GETDATE()) + (@i + 13)) INSERT INTO @DataTable(Product, SaleDate, SalePrice) VALUES('PoolTable', DATEADD(mm, @i, '3/11/1908'), DATEPART(ms, GETDATE()) + (@i + 29)) SET @i = @i + 1 END 只要把数据加载到表格变量里,就可以把结构传递到存储过程中。 注意:当表格变量作为参数传递后,表格会在存储在tempdb系统数据库里,而不是传递整个数据集在内存里。因为这样保证高效处理大批量数据。所有服务器方的表格变量参数传递都是通过使用reference调用tempdb中的表格。 EXECUTE usp_InsertBigScreenProducts @TableVariable = @DataTable 想要查询程序是否和预想效果一样,可以执行以下查询来看记录是否已经插入到 SalesHistory表格中: SELECT * FROM SalesHistory 总结: 虽然SQL Server 2008的参数传递功能的使用还有一些小小的局限性,比如不能修改参数中的数据和把变量用于output,但是它大大提高了程序性能,它可以减少server往返旅程数、利用表格限制并扩展编程在数据库引擎中的功能。 转载自:http://www.msnshow.cn/Article/200711/19091_2.htm 前一篇:SQL Server 2008:传递表值参数 (1) tag:SQL Server 2008 下一篇:数据仓库:甲骨文 VS 微软 tag:数据仓库,甲骨文,oracle,微软,SQL Server 2005,SQL Server 2008,OLAP,商业智能,BI 相关文章:
你究竟对SQL Server 2005了解多少? | tag:SQL Server 2005,SQL Server 2008,商务智能BI,分析服务(Analysis Services) | SQL Server 2008和T-SQL新功能 | tag:SQL Server 2008 | SQL Server中的新数据类型:HierarchyId | tag:SQL Server,HierarchyId | SQL Server 2008中的数据类型 | tag:SQL Server 2008,数据类型 | 微软预先展示"Server 2008"五大版本 | tag: | 解析SQL Server 2008 数据仓库 | tag:SQL Server 2008,数据仓库,商业智能,SSIS | SQL Server 2008对T-SQL语言的增强(1) | tag:SQL Server 2008,T-SQL | SQL Server 2008对T-SQL语言的增强(2) | tag:SQL Server 2008,T-SQL | SQL Server 2008对T-SQL语言的增强(3) | tag:SQL Server 2008,T-SQL | SQL Server 2008 Reporting Service架构 | tag:SQL Server 2008,Reporting Service | Visual Studio 2008中的SQL数据库发布 | tag:Visual Studio 2008,数据库,Visual Studio 2008 | 带你轻松接触SQL Server 2008-- Katmai | tag:SQL Server 2008,Katmai,商业智能 | SQL Server 2008四项新特性概述 | tag:SQL Server 2008,集成服务,分析服务,SSAS,报表服务 | 解读SQL Server 2008的新语句MERGE | tag:SQL Server 2008,MERGE | 解析SQL Server 2008在线事务处理功能 | tag:SQL Server 2008,在线事务处理,OLTP | 解析SQL Server 2008商业智能 | tag:SQL Server 2008,商业智能,报表解决方案,OLAP, | SQL Server 2008精妙之处 | tag:SQL Server 2008,仪表盘 | 理解SQL Server 2005 Reporting Service | tag:SQL Server 2005,Reporting Service,报表 | ADOMDConnection对象 | tag:ADOMD.Net,ADOMDConnection,Analysis Services | 关于OLAP | tag:OLAP,Analysis Services,Cube,OWC | |