谁研究过2008的表值参数 100Haiwer]

发布时间:2017-3-30 6:57:38 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"谁研究过2008的表值参数 100Haiwer]",主要涉及到谁研究过2008的表值参数 100Haiwer]方面的内容,对于谁研究过2008的表值参数 100Haiwer]感兴趣的同学可以参考一下。

表值参数听起来不错,不过我用了遇到点问题,如下: --建立一个表值参数类型 CREATE TYPE LocationTableType AS TABLE      ( LocationName VARCHAR(50)     , CostRate INT ) GO --使用表值参数的存储过程 create proc pr_test(@p LocationTableType readonly) as begin declare @name varchar(50) declare @Rate int select @name=ISNULL(@Name+',','')+LocationName, @Rate=isnull(@Rate,0)+CostRate from @p select @name as name ,@rate as rate end GO --调用 declare @t LocationTableType insert @t select 'a',1 union all select 'b',2 union all select 'c',3 exec pr_test @t GO --结果 name                                                      rate -------------------------------------------------- ----------- a,b,c                                                        6 (1 行受影响) --使用表值参数的标量函数 create function fn_test(@p LocationTableType readonly) returns VARCHAR(50) as begin declare @name varchar(50) select @name=ISNULL(@Name+',','')+LocationName from @p return @Name end GO --调用 declare @t LocationTableType insert @t select 'a',1 union all select 'b',2 union all select 'c',3 select dbo.fn_test1(@t) GO --结果 -------------------------------------------------- a,b,c (1 行受影响) --使用表值参数的表值函数 create function fn_test1(@p LocationTableType readonly) returns @r table (name varchar(50),Rate int) as begin declare @name varchar(50) declare @Rate int select @name=ISNULL(@Name+',','')+LocationName, @Rate=isnull(@Rate,0)+CostRate from @p insert @r values(@name,@rate) return end GO create function fn_test2(@p LocationTableType readonly) returns table  as return select * from @p GO 表值函数怎么调用,我怎么都调用不了,但是函数是可以正常产生的

过节,或许人少,耐心等待

查帮助呗

查不到,.....

不懂 关注

declare @t LocationTableType insert @t select 'a',1 union all select 'b',2 union all select 'c',3 select * from fn_test1(@t) select * from fn_test2(@t) /** a,b,c 6 a 1 b 2 c 3 **/

是可以正常调用的,不知道楼主遇到什么问题。

消息 137,级别 16,状态 1,第 3 行 必须声明标量变量 "@t"。

引用 7 楼 Haiwer 的回复:消息 137,级别 16,状态 1,第 3 行  必须声明标量变量 "@t"。  楼主是不是弄错了,我给的代码是可以在我的2008下运行的。

OK了, 这个库是从2000的备份恢复的,兼容级别是80,改成100就可以了 但是奇怪,类型和函数创建都没问题

上一篇:谁知道下面这些都是Visual Studio 2008的什么版本? 20exploit0day]
下一篇:求句sql写法关于查时间区间是否重叠的. 20xv84]

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款