lsstarboy的学习日记lsstarboy.blog.chinaunix.net

海纳百川有容乃大,壁立千仞无欲则刚。

  • 博客访问: 2845872
  • 博文数量: 659
  • 博客积分: 15410
  • 博客等级: 上将
  • 技术积分: 6913
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-16 08:11
  • 认证徽章:
个人简介

独学而无友,则孤陋而寡闻!

文章分类

全部博文(659)

文章存档

2017年(7)

2016年(43)

2015年(25)

2014年(15)

2013年(41)

2012年(62)

2011年(125)

2010年(157)

2009年(94)

2008年(45)

2007年(45)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题
SQL Server小记 2017-01-05 21:10:15

分类: SQLServer

写了一个函数,耗了大半天,由衷感叹微软的东东!!!


  1. ALTER function [dbo].[test] ( @aid varchar( 80 ))
  2. returns VARCHAR(200)
  3. as
  4. begin
  5.   declare
  6.     @top_ag VARCHAR(80),
  7.     @aname VARCHAR(80),
  8.         @t_root VARCHAR(80),
  9.     @root VARCHAR(200);
  10.     set @root = '';
  11.     set @top_ag = 't01';

  12.     select @t_root=parent_name from agent_info where login_name = @aid AND parent_name !=@top_ag;
  13.     while @@rowcount <> 0
  14.     BEGIN
  15.             --set @root = @root + '\' + @t_root;
  16.          set @root= '/' + @t_root + @root;
  17.          set @aname = @t_root;
  18.          select @t_root=parent_name from agent_info where login_name = @aname AND parent_name !=@top_ag;
  19.     END
  20.        set @root = @root + '/' + @aid;
  21.     --set @root=@aid;
  22.     return @root;
  23. end
1、如果@root不初始化,则后面所有的+都是空,都为null,并且没有任何提示;
2、调用时,这种“标值函数”,必须当sum等使用,不能用在from 后面,表函数必须用在from后面;
3、调用时,如果不加dbo.test(),则会报错,必须 加dbo,并且 dbo上面还不能写[]号。
4、函数中如果有insert,那么就死定了。


阅读(203) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册