if exists (select 1 from sysobjects where type='P' and name ='tree_p_lujn')
DROP PROC tree_p_lujn
go
create proc tree_p_lujn(
@is_root_start_id varchar(100),
@is_table_name varchar(100),
@is_colume_id_name varchar(100),
@is_colume_parent_id_name varchar(100)
)
as
declare
@vn_pointer int,
@vn_lsmore int,
@vs_sql_temp varchar(2000)
begin
set @vs_sql_temp ="
create table #tmp(pid int not null,id int not null ,curr int not null,le varchar(255) not null)
--insert into #tmp values('-1','"+@is_root_start_id+"',-1,'.')
insert into #tmp
select 0,convert(int,t."+@is_colume_id_name+"),0,'.'+convert(varchar,t."+@is_colume_id_name+")
from "+@is_table_name+" t
where t."+@is_colume_parent_id_name+" ='"+@is_root_start_id+"'
set @vn_lsmore=@@rowcount,@vn_pointer=0
while(@vn_lsmore>0)
begin
insert into #tmp
select convert(int,t."+@is_colume_id_name+"),convert(int,t."+@is_colume_id_name+"),
@vn_pointer+1,u.le+'.'+convert(varchar,t."+@is_colume_id_name+")
from "+@is_table_name+" t,#tmp u
where convert(int,t."+@is_colume_parent_id_name+")=u.id and u.curr=@vn_pointer
set @vn_pointer=@vn_pointer+1,@vn_lsmore=@@rowcount
end
select t.* from "+@is_table_name+" t,#tmp u
where u.id=convert(int,t."+@is_colume_id_name+") order by le"
print @vs_sql_temp
exec (@vs_sql_temp)
return
end
----------测试-------------
exec tree_p_lujn '0','TBL_TEST','ID','PID'
分享到:
相关推荐
标题 "用Delphi编写 Sybase ESP (Extended store procedure)" 提示我们关注的是如何在Sybase数据库环境中使用Delphi编程语言创建扩展存储过程(ESP)。Sybase ESP是一种强大的工具,允许开发人员将业务逻辑嵌入到...
Sybase 存储过程是 Sybase 数据库管理系统中的一个重要特性,它允许开发人员将一系列 SQL 语句、控制流程语句和其他数据库操作封装到一个可重用的单元中。存储过程可以提高应用程序的性能,增强安全性,并简化复杂的...
### Sybase IQ Column Store Analytics Server 入门指南 #### 一、引言 欢迎阅读《Sybase IQ Column Store Analytics Server 入门指南》。本书旨在快速帮助读者掌握 SAP Sybase IQ 的基本操作与核心概念。这并非一...
4.打开SQL Advantage工具后,点菜单Server>Connect,在连接信息配置窗口中 其中Server列表中的Sybase服务名就是在第二步中配置的。Client host表示连接到Sybase 服务器中的客户端标志。 如果想配置网络包大小、...
CREATE DATABASE LINK sybase_link CONNECT TO user IDENTIFIED BY password USING 'sybs'; ``` 其中,`sybs`是步骤6中定义的`connect_descriptor`,`user`和`password`是访问Sybase数据库所需的用户名和密码。 ...
Sybase 数据库 BCP 问题总结 Sybase 数据库 BCP 问题总结是指在使用 Sybase 数据库的 BCP 工具时可能遇到的错误和注意事项。BCP 是 Sybase 数据库中的一个重要工具,用于导入和导出数据,但是如果不正确地使用 BCP...
Sybase OLE DB Provider是专门用于连接到Sybase数据库的驱动,它支持Sybase的 Adaptive Server Enterprise (ASE) 和其他产品。通过这个驱动,开发者可以利用ADO(ActiveX Data Objects)或其他基于OLE DB的API在.NET...
### Sybase IQ 15.3 与 PlexQ 技术简介 #### 一、概述 Sybase IQ 15.3 是一款高度优化的数据仓库和分析解决方案,它结合了PlexQ技术,旨在处理大数据量下的复杂分析任务。Sybase IQ 15.3 的发布进一步提升了该平台...
【Sybase 数据库简介】 Sybase 是一款由 Mark B. Hiffman 和 Robert Epstern 在1984年创立的公司所开发的数据库产品,自1987年起正式推出。Sybase 提供了多种操作系统环境下的版本,包括UNIX、Novell Netware 和 ...
**Sybase IQ官方文档概述** Sybase IQ是一款高效的数据仓库解决方案,专为大规模数据分析和决策支持而设计。作为Sybase公司的产品,它以其优秀的性能、可扩展性和对复杂查询的处理能力著称。本系列文档涵盖了从入门...
Sybase ASE for Linux 12.5 安装指南 本文档旨在指导用户如何在 RedHat AS 5 上安装 Sybase ASE for Linux 12.5。 installation process covers the creation of a Sybase directory, setting up the user and ...
PATH="${SYBASE}/${SYBASE_ASE}/bin:${SYBASE}/${SYBASE_OCS}:${SYBASE}/${SYBASE_ASE}/install:${PATH}" export SYBASE SYBASE_ASE SYBASE_OCS PATH # See how we were called. case "$1" in start) echo -n...
sybase 客户端1 sybase 客户端1 sybase 客户端1 sybase 客户端1 sybase 客户端1 sybase 客户端1 sybase 客户端1 sybase 客户端1 sybase 客户端1
通过调用ODBC函数,如SQLConnect和SQLExecute,可以实现与Sybase ASE数据库的连接和查询。 **6. 性能优化** 为了提高性能,ODBC驱动提供了多种优化选项,如预编译的SQL语句、批量执行、连接池等。根据应用需求,...
sybase 客户端2sybase 客户端2sybase 客户端2sybase 客户端2sybase 客户端2sybase 客户端2
su - sybase -c "/u/sybase/install/startserver -f /u/sybase/RUN_BACKUP_SERVR 1>/dev/null 2>/dev/null" 其中,SERVERNAME,RUN_BACKUP_SERVER分别为你的sybase服务器和备份服务器的名字。 七、登陆数据库后...
sybase3驱动sybase3驱动sybase3驱动sybase3驱动sybase3驱动sybase3驱动sybase3驱动
在IT领域,数据库管理系统是核心组件之一,Sybase作为一个历史悠久且功能强大的关系型数据库系统,被广泛用于企业级应用。本篇文章将详细讲解Sybase 15.7 64位驱动的安装与配置,以及如何设置Sybase数据源和在SQL ...
**Sybase ASE12.5** 是Sybase公司推出的一款高度可扩展的企业级数据库管理系统,全称为Adaptive Server Enterprise。这个版本在1990年代末期发布,它以其高效性能、高可用性和数据安全性而受到业界的认可。ASE12.5在...