日期:2014-05-18  浏览次数:20546 次

SQL server 函数如何编写?
tabel   1
    {
      id     int;
      bxgs_id   int;
      unin_id   int;
    }
table2
  {
      id   int;
      name   varchar(20);
    }

  table1   中记录有这样一条
        id     bxgs_id     unin_id
        1           3             6
  table2
        id           name
        3           “你好”
        6           “再见”
    其中   table1中的3   要根据table2中的id,转化成对应的name
              table1中的6   要根据table2中的id,转化成对应的name
 
  最后查询table1时应显示;
    select   id,   fun_getname(bxgs_id),fun_getname(unin_id)   from   table1  
                    1             “你好”                         “再见”
其中   fun_getname函数在sql   server   中如何编写?

------解决方案--------------------
create function fun_getname(@cid varchar(20))
returns varchar(30)
as
begin
select @cid=name from table2 where id=@cid
return @cid
go
------解决方案--------------------
create function fun_getname(@cid varchar(20))
returns varchar(30)
as
begin
select @cid=name from table2 where id=@cid
return @cid
go

------解决方案--------------------
写少了个end 自己加上哈
------解决方案--------------------
好,给加上!
create function fun_getname(@cid int)
returns varchar(30)
as
begin
declare @name varchar(30)
select @name=name from table2 where id=@cid
return @name
end
go
declare @bxgs_id int
declare @unin_id int
set @bxgs_id = 3
set @unin_id = 6
select id,dbo.fun_getname(@bxgs_id) name1,dbo.fun_getname(@unin_id) name2
from table1
where id=1
返回:
id name1 name2
----------- ------------------------------ ------------------------------
1 你好 再见

(所影响的行数为 1 行)