首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

列出所有父节点的函数有关问题

2012-07-29 
列出所有父节点的函数问题以下是一个列出所有父节点的函数create function f_pid(@id varchar(3)) returns

列出所有父节点的函数问题
以下是一个列出所有父节点的函数

create function f_pid(@id varchar(3)) returns @t_level table(id varchar(3))
as
begin
  insert into @t_level select @id
  select @id = pid from tb where id = @id and pid is not null
  while @@ROWCOUNT > 0
  begin
  insert into @t_level select @id select @id = pid from tb where id = @id and pid is not null
  end
  return
end
go

有几个问题请教:
1)这个函数创建之后是永久存放在数据库的吗?还是临时的? 如果数据库备份出来迁移到其他地方这个函数还在吗?
2)从哪里可以管理已经创建好的自定义函数?怎样列出所有自定义函数清单?
3)这个函数是sql server 专用的吗?可以在oracle等数据库上使用吗?
4)这个sql函数,和用程序递归来查询,那个效率高?

[解决办法]

SQL code
1)这个函数创建之后是永久存放在数据库的吗?还是临时的? 如果数据库备份出来迁移到其他地方这个函数还在吗? A: 永久存在(只要你不删除它)。数据库备份出来迁移到其他地方这个函数还在2)从哪里可以管理已经创建好的自定义函数?怎样列出所有自定义函数清单? A:展开数据库--可编程性--函数.怎样列出所有自定义函数清单?A:select * from sys.objects  where type ='FN'3)这个函数是sql server 专用的吗?可以在oracle等数据库上使用吗?A:sql server 专用4)这个sql函数,和用程序递归来查询,那个效率高?A: 待测试
[解决办法]
问题1:永久,备份还原后 还在
问题2:SQL Server Management Studio 在数据库的可编程里,可以看到函数列表
问题3:这个函数 不支持 oracle,不可以在oracle 上使用
问题4: 递归效率高
[解决办法]
1。你这个是永久的。当然在
2。企业管理器。查询分析器均可。SYSOBJECTS TYPE FN
3。语法不一样的话当然不可以
4。都是递归。用函数有时候不方便

热点排行