mysql ansi nulls_把sqlserver的函数移植到mysql的问题

我的sqlserver的自定义函数是实现一个属性结构,现在要把它移植到mysql里面,各位大侠帮我改一下,谢了。。下面的是我sqlserver的函数:请改成可以再mysql里面运行的。==============...

我的sqlserver的自定义函数是实现一个属性结构,现在要把它移植到mysql里面,各位大侠帮我改一下,谢了。。

下面的是我sqlserver的函数:请改成可以再mysql里面运行的。

================================================

SET QUOTED_IDENTIFIER OFF

GO

SET ANSI_NULLS OFF

GO

ALTER FUNCTION GetSubtreeInfo ( @org_id int,@flag bit)

RETURNS @treeinfo TABLE

(

level int,

orgid int,

orgpid int,

name nvarchar(50)

)

AS

BEGIN

DECLARE @temptable TABLE(

level int,

orgid int,

orgpid int,

orgidString varchar(8000),

name nvarchar(50)

)

DECLARE @level AS int

SELECT @level=1

/*

@flag 如果为1则代表查询全部组织架构

@flag 如果为0则按照传入的@org_id值来查询全部组织架构

*/

IF @flag=1

BEGIN

SET @org_id = (SELECT MIN(orgid)+1 FROM org)

END

INSERT @temptable

SELECT @level,orgid, orgpid,cast(orgid as varchar),

[name] AS name

FROM org

WHERE orgid=@org_id

WHILE @@ROWCOUNT >0

BEGIN

SET @level = @level+1

INSERT INTO @temptable

SELECT @level,O.orgid,O.orgpid,t.orgidString+','+cast(O.orgid as varchar),O.name AS name

FROM org AS O JOIN @temptable AS T

ON O.orgpid = T.orgid AND T.level = @level-1

END

INSERT INTO @treeinfo

SELECT [level] AS level,orgid,orgpid,[name] AS name FROM @temptable ORDER BY orgidString

RETURN

END

GO

SET QUOTED_IDENTIFIER OFF

GO

SET ANSI_NULLS ON

GO

========================================================

这个sqlserver的函数是返回一个临时表,但我知道mysql的函数没办法返回一个表,所以在mysql里面只能用存储过程实现,各位大侠帮帮忙吧

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值