请大家帮忙 我写了函数,想在SQL 中获得一行一列的值,请问怎么获得呢? 30yanjf818]

发布时间:2017-3-31 2:31:41 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"请大家帮忙 我写了函数,想在SQL 中获得一行一列的值,请问怎么获得呢? 30yanjf818]",主要涉及到请大家帮忙 我写了函数,想在SQL 中获得一行一列的值,请问怎么获得呢? 30yanjf818]方面的内容,对于请大家帮忙 我写了函数,想在SQL 中获得一行一列的值,请问怎么获得呢? 30yanjf818]感兴趣的同学可以参考一下。

CREATE function SSpornamed( @name varchar) returns nvarchar(500) as begin Declare @Break_Record_name nvarchar(500) set @Break_Record_name = '' Declare @count int Declare @xname varchar Declare @end int set @end=0 select @count =count(*) from SportBItem where SBItemID in ( @name) if(@count>0) select @xname=SBItemName  from SportBItem where SBItemID  in ( @name)     while @end<@count    begin       set  @[email protected][email protected]        set @[email protected]+1     end return @Break_Record_name end   我怎么能获得 select 查询出的一行一列的值呢?谢谢

游标遍历。

CREATE function SSpornamed( @name varchar)  returns nvarchar(500)  as  begin  Declare @Break_Record_name nvarchar(500)  set @Break_Record_name  ='' select @Break_Record_name  = @Break_Record_name  + SBItemName from SportBItem where SBItemID in ( @name)  return @Break_Record_name  end  go

为什么要  SBItemID  in ( @name)  @name是多个ID逗号隔开吗,如果这样,用函数是不行的

--没有环境测试,你看看下面那样行不行 CREATE function SSpornamed( @name varchar)  returns table(a varchar(500)  as  begin  create table #t(a nvarchar(500)) Declare @Break_Record_name nvarchar(500)  set @Break_Record_name = ''  Declare @count int  Declare @xname varchar(500)  Declare @end int  set @end=0  select @count =count(*) from SportBItem where SBItemID in ( @name)  if(@count>0)  select @xname=SBItemName  from SportBItem where SBItemID  in ( @name)      while @end <@count    begin        set  @[email protected][email protected]        insert #t select @Break_Record_name       set @[email protected]+1      end  return    drop table #t end 

是用逗号隔开的, 多个数值,那请问用什么方法呢? 谢谢

2 楼的方法 是可以现在 对应的内容 ,但是不管传什么参数 查询的结果都是一样的   我查询 是这样写的 select dbo.SSpornamed(OutSideSSitemID) from OutSideTrain 如果我在2楼的 函数里面把传入的变量写死了 就符合我想要的效果 ,能够根据编号查询出编号对应的 内容 例如: (60,67,68) 查询出 (张三李四王五) 但是我根据 select dbo.SSpornamed(OutSideSSitemID) from OutSideTrain  查询就不对了 请问应该怎么写才对!

上一篇:关于远程SQL查询nolock的疑惑 20zznj1123]
下一篇:为什么 我传给函数的变量得到的永远是这个 20yanjf818]

相关文章

相关评论

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

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

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

好贷网好贷款