1。Oracle中:
select org_id
from organizations
start with org_id= :org_id
connect by prior org_id=supervision_org_id
order by supervision_org_id
2。Sql Functiong:
FunctionNo SubFunctionNo SubFunctionType
01. systemadmin Privilege 0
01. systemadmin subsysadmin 1(表示树枝)
subsysadmin subsys1 0(表示leaf)
subsysadmin subsys2 0
subsysadmin User 1
User UserOne 0
請教實現此層次結構輸出的函數(在oracle中可以使用connect by實現此功能)
3。sql语句实现:
举例:
declare @a table (TC_Id int,TC_PID int,TC_Name varchar(200))
insert @a values(1,0,'中国')
insert @a values(2,0,'美国')
insert @a values(3,0,'加拿大')
insert @a values(4,1,'北京')
insert @a values(5,1,'上海')
insert @a values(6,1,'江苏')
insert @a values(7,6,'苏州')
insert @a values(8,7,'常熟')
insert @a values(9,6,'南京')
insert @a values(10,6,'无锡')
insert @a values(11,2,'纽约')
insert @a values(12,2,'旧金山')
declare @tmp1 table (TC_Id int,TC_PID int,TC_Name varchar(200),lev int)
insert @tmp1 select *,1 from @a where tc_ID=1
while exists(select 1 from @a a,@tmp1 b where a.tc_pid=b.tc_ID and a.tc_ID not in (select tc_ID from @tmp1))
insert @tmp1 select a.*,1 from @a a,@tmp1 b where a.tc_pid=b.tc_ID and a.tc_ID not in (select tc_ID from @tmp1)
select * from @tmp1
select max(tjr_dj) from userinfo
select * from userinfo where tjr_dj = 7
select * from userinfo where tjr_id = 81
declare @tmp1 table (user_id int, tjr_id int, tjr_dj int, user_name varchar(64))
insert @tmp1 select user_id, tjr_id, tjr_dj, user_name from userinfo where user_id = 81
while exists(select 1 from userinfo a, @tmp1 b where a.tjr_id = b.user_id and a.user_id not in (select user_id from @tmp1))
insert @tmp1 select a.user_id, a.tjr_id, a.tjr_dj, a.user_name from userinfo a, @tmp1 b where a.tjr_id = b.user_id and a.user_id not in (select user_id from @tmp1)
select * from @tmp1 order by tjr_id
分享到:
相关推荐
### 实现 Oracle 连接 SQL Server 的方法与步骤 在 IT 领域,数据库间的交互对于实现数据共享和业务协同至关重要。Oracle 和 SQL Server 分别作为市场上两款主流的数据库管理系统,它们之间的连接需求十分常见。...
- `LEVEL`在Oracle的`CONNECT BY`查询中用于表示层级,SQL Server中无直接对应。 了解这些对照关系对于在SQL Server和Oracle之间迁移数据或编写跨平台的SQL脚本至关重要。同时,开发者也需要根据实际需求和数据库...
在本场景中,我们探讨的是如何在Oracle 19C RAC环境中通过Oracle数据库网关(Gateway)连接到SQL Server 2012数据库。Oracle Gateway使得不同数据库系统间的数据交互成为可能,实现异构数据库间的透明访问。 首先,...
这些子句在SqlServer中不支持,但是可以使用其他方式实现相同的结果。 二、函数和过程 Oracle和SqlServer都支持函数和过程,但是它们之间存在一些差异。 Oracle支持PL/SQL函数和过程,而SqlServer支持Transact-...
为了实现Oracle数据库与SQLServer数据库之间的数据交换,可以通过多种方式实现连接,其中一种较为简便的方法是利用Oracle提供的ODBC(Open Database Connectivity)机制来建立DBLink。这种方式相较于使用透明网关...
在进行Oracle到SQL Server的迁移过程中,需要特别关注上述几个方面。尽管这两种数据库系统在许多方面具有相似性,但也存在显著差异。了解这些差异并采取适当的转换策略对于确保迁移成功至关重要。通过遵循上述指导...
本文档详细介绍了如何在Oracle 10g或11g环境中使用DBLink来访问SQL Server数据库的方法。这种方法对于那些习惯于使用Oracle进行数据库操作的开发人员来说尤其有用,因为它提供了一种在不同类型的数据库之间无缝切换...
完成上述配置后,下一步是在Oracle数据库中创建数据库链接(DATABASE LINK),以实现从Oracle数据库直接访问SQL Server数据库的功能。 1. **创建公共数据库链接**:使用以下SQL命令创建公共数据库链接ET2000: ```...
- Oracle 的 `START WITH U CONNECT BY` 用于创建层次查询,SQL Server 可以通过递归公共表表达式(CTE)或存储过程实现类似功能。 - Oracle 支持 `INTERSECT` 和 `MINUS` 集合运算符,而 SQL Server 用 `EXISTS` 和...
- **SELECT语句**:尽管基本语法相似,但Oracle支持特定的优化提示和集合运算符如START WITH和CONNECT BY,以及INTERSECT和MINUS,这些在Sql Server中需要通过其他方式实现,比如使用EXISTS和NOT EXISTS子句。...
- 在SQL SERVER中,递归查询通常使用`WITH`子句创建公共表表达式(CTE),结合`UNION ALL`和`JOIN`来实现。如示例所示,`cte_root`或`cte_child`定义递归起点,`connect by ID=prior ParentID`表示递归路径。 - ...
最后,测试数据库连接是否成功,可以通过查询SQL Server中的表来验证: ```sql SQL> DESC football_team@from_sql; ``` 这将显示SQL Server数据库`football_team`表的结构。 值得注意的是,通过透明网关访问远程SQL...
HS_FDS_CONNECT_INFO="SERVER=SQLSERVER_HOSTNAME;DATABASE=pubs" HS_DB_NAME=pubs ``` - 如果 SQL Server 实例带有反斜杠 `\` 或端口号,则需按照特殊格式配置,例如: - 反斜杠实例:`192.168.1.1\\ng` - 带...
4. **执行 OPENQUERY**:最后,在 SQL Server 中使用 `OPENQUERY` 函数查询 Oracle10g 中的数据,并通过 `utl_raw.cast_to_varchar2` 函数将 RAW 格式的中文数据转换回 VARCHAR2 格式,以确保数据能够被正确读取。...
Oracle 10g 透明网关设置用于与 SQL SERVER 2000 数据库的集成,使得用户可以在 Oracle 环境中直接访问 SQL SERVER 的数据,无需了解底层的网络和数据库细节。以下是对该设置过程的详细说明: 首先,确保在安装 ...
1. **创建DBLink语句**:使用如下的SQL语句创建DBLink,例如`create public database link rmlis6 connect to LZHIS identified by LZHIS using '...'`,其中'...'包含了SQL Server的连接信息。 2. **验证连接**:...
4. **数据迁移**:将SQL Server中的数据迁移至Oracle数据库,可能需要额外的脚本或工具来处理数据类型差异。 ### 后期整合与测试 - **数据一致性检查**:验证迁移后数据的完整性和一致性。 - **功能测试**:确保...
在 SELECT 语句方面,虽然基本结构相似,但 Oracle 的特定功能如 `START WITH` 和 `CONNECT BY` 用于构建层次查询,在 SQL Server 中可以通过递归查询或存储过程实现。此外,Oracle 的 `INTERSECT` 和 `MINUS` 集合...