`

DB Oracle SqlServer 兼容问题(随项目持续更新3)

阅读更多

Oracle SqlServer  同时支持,挺费劲的,问题(日期与临时表兼容,Tree 型数据所有父节点,子节点处理

1.    select
        count(*)
    from
        (select
            *
        from
            transaction_history
        union
        select
            *
        from
            transaction
    )  --无别名(Oracle)
where
    to_char(createdate,'yyyy-MM-dd')<='2012-01-06'
    and  to_char(createdate,'yyyy-MM-dd')>='2011-12-27' 
    and stockcode='000016'

但是SqlServer 不行,必须对临时表别名

select
        count(*)
    from
        (select
            *
        from
            transaction_history
        union
        select
            *
        from
            transaction
    )  _temp--有别名(SqlServer)
where
  convert(varchar(10), createdate, 20) <='2012-01-06'
    and  convert(varchar(10), createdate, 20) >='2011-12-27' 
    and stockcode='000016'

2.SQL 获取所有父节点

Sql_server fn:


CREATE FUNCTION f_getAllParent(@SID varchar(200))
RETURNS @t_Level TABLE(SID varchar(200),name varchar(100),Level int)
AS
BEGIN
    declare @name varchar(100) 
    DECLARE @Level int
    SET @Level=1
    select @name=name from SYS_UNIT where sid=@sid
    INSERT @t_Level SELECT @SID,@name,@Level
    WHILE @@ROWCOUNT>0
    BEGIN
        SET @Level=@Level+1
        INSERT @t_Level
    SELECT a.parentsid,a.name,@Level
    FROM SYS_UNIT a,@t_Level b
    WHERE a.sid=b.sid
     AND b.Level=@Level-1
    END
    RETURN
END
GO

测试代码:

select a.sid  from SYS_UNIT a , f_getAllParent('dc=com') b where a.sid = b.sid order by b.Level

 

Oracle suppoet key word:

 SELECT SID FROM SYS_UNIT

 CONNECT BY PRIOR parentsid=sid  --(prior 后跟的是父节点,则以 START WITH SID='dc=com'
指定的特定子节点作为当前子节点往上遍历所有父节点)
 START WITH SID='dc=com'

 

3.获取所有子节点:

Sql_server fn:

create function f_GetAllChild(@sid varchar(200))
returns @re table(sid varchar(200),name varchar(100),level int) 
as 
begin
  declare @name varchar(100) 
  declare @level int 
  set @level=1 
  select @name=name from SYS_UNIT where sid=@sid
  insert @re select @sid,@name,@level 
  while @@rowcount>0 
  begin 
  set @level=@level+1 
  insert @re select a.sid,a.name,@level 
  from SYS_UNIT a,@re b 
  where a.parentsid=b.sid and b.level=@level-1 
  end 
  return 
end
go

select a.sid,b.level  from SYS_UNIT a , f_GetAllChildRole('dc=com') b where a.sid = b.sid order by b.Level

 

Oracle suppoet key word:

 

 SELECT SID FROM SYS_UNIT

 CONNECT BY PRIOR sid=parentsid  --(prior 后跟的是子节点,则以 START WITH SID='dc=com'
指定的特定子节点作为当前根节点往下遍历所有子节点)
 START WITH SID='dc=com'

 

Oracle注意区分Prior 后遍历的方向

 

 

 

0
0
分享到:
评论

相关推荐

    oled(ODBC兼容的数据库包括Access, MS-SQL Server, Oracle, Informix等. )

    有许多种办法可以连上一个数据库. 你可以用System DSN, DSN-less连接或是本地的OLEDB provider. OLEDB? 这是什么什么玩艺儿? 也许你们中的许多人...ODBC兼容的数据库包括Access, MS-SQL Server, Oracle, Informix等.

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...

    Win7 64环境下Oracle10g 64位版本安装教程

    刚接触Oracle不久,安装部署链接Oracle的时候,出现很多问题,单从这点上来说,SQL Server真是太友好了。 1、如果之前安装过Oracle软件,建议完全卸载(究竟有没有必要_不知道_我是这么做的)  2、清理过旧版本的...

    数据库原理(第5版)

    尽管书中大多数主题都向后兼容Microsoft SQL Server 2005 Express版本,但均专门使用SQL Server 2008和Office 2010。 ● 本书中的更新还表现为使用MySQL Workbench作为MySQL 5.1的唯一数据库开发工具。本书第4版使用...

    AspNetPager7.0分页控件源码 内附使用文档

    如为GridView、DataList以及Repeater等数据绑定控件实现分页、呈现自定义的分页数据以及制作图片浏览程序等,因为AspNetPager控件和数据是独立的,因此要分页的数据可以来自任何数据源,如SQL Server、Oracle、...

    基于J2EE框架的个人博客系统项目毕业设计论...

    3.2.1. Web应用程序开发环境—SQLserver数据库 SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的。SQL Server 2000是Microsoft公司于...

    asp.net知识库

    在Framework1.0下同时连接SqlServer和Oracle的一些体会 XML XPath XPath最通俗的教程(ZZ) XPath中相对路径和绝对路径 XPath 简单语法 Asp.Net(C#)利用XPath解析XML文档示例 XSL .Net框架下的XSLT转换技术简介 一个...

    vscode-sqltools:VSCode的数据库管理

    v0.21.9之前支持的驱动程序: 司机维护者卡桑德拉 IBM DB2 Oracle数据库 这些驱动程序正在迁移以与v0.22或更高版本兼容。 如果需要其中之一,则需要安装v0.21.9。知道驱动程序问题无法与“未安装驱动程

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    3.2.1. Web应用程序开发环境—SQLserver数据库 SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的。SQL Server 2000是Microsoft公司于...

    X3BLOG AJAX国产大型开源多用户博客系统 1.1.0.beta1源码版

    言之一ASP.NET(C#) 2.0编写,支持多种数据库,包括SQLSERVER2000\SQLSERVER2005\ORACLE\MYSQL\DB2等,默认使用 SQLSERVER2000。 X3-BLOG 遵从 GENERAL PUBLIC LICENSE(GPL) 开源协议,这意味着可以修改程序的一...

    X3BLOG AJAX国产大型开源多用户博客系统 1.1.0.beta1编译版

    言之一ASP.NET(C#) 2.0编写,支持多种数据库,包括SQLSERVER2000\SQLSERVER2005\ORACLE\MYSQL\DB2等,默认使用 SQLSERVER2000。 X3-BLOG 遵从 GENERAL PUBLIC LICENSE(GPL) 开源协议,这意味着可以修改程序的一...

    高级Java应用安全框架OACC.zip

    目前支持下列数据库:IBM DB2 10.5Microsoft SQL Server 12.0 (2014)Oracle 11g R2PostgreSQL 9.3HSQLDB 2.3MySQL 5.6 / MariaDB 10.0SQLite 3.8OACC 兼容 JDK 1.7 (Java™ 7) 及以上版本。 标签:安全相关...

    PHP5 完整官方 中文教程

    MS SQL Server (PDO) — Microsoft SQL Server and Sybase Functions (PDO_DBLIB) Msession — Mohawk Software Session Handler Functions mSQL — mSQL Functions Multibyte String — Multibyte String Functions...

    PHP5中文参考手册

    MS SQL Server (PDO) — Microsoft SQL Server and Sybase Functions (PDO_DBLIB) Msession — Mohawk Software Session Handler Functions mSQL — mSQL Functions Multibyte String — Multibyte String Functions...

    AspNetPagerv7.4.1分页控件及Demo源码2012919

    如为GridView、DataList以及Repeater等数据绑定控件实现分页、呈现自定义的分页数据以及制作图片浏览程序等,因为AspNetPager控件和数据是独立的,因此要分页的数据可以来自任何数据源,如SQL Server、Oracle、...

    Linux环境数据库管理员指南

    第3章 在 Linux上安装并运行 Oracle 40 3.1 引言 40 3.2 概念 41 3.2.1 系统全局区域 41 3.2.2 程序全局区域 42 3.2.3 表空间 42 3.2.4 数据文件 42 3.2.5 区 42 3.2.6 段 42 3.2.7 控制文件 42 3.2.8 重做日志 42 ...

    PHP函数参考手册大全

    Microsoft SQL Server and Sybase Functions (PDO_DBLIB) LXXV. Microsoft SQL Server Functions LXXVI. Mimetype Functions LXXVII. Ming functions for Flash LXXVIII. Miscellaneous Functions LXXIX. ...

    中文版PHP使用手册

    Microsoft SQL Server and Sybase Functions (PDO_DBLIB) LXXV. Microsoft SQL Server Functions LXXVI. Mimetype Functions LXXVII. Ming functions for Flash LXXVIII. Miscellaneous Functions LXXIX. ...

    经典收藏最全php5.0查询手册

    Microsoft SQL Server and Sybase Functions (PDO_DBLIB) LXXV. Microsoft SQL Server Functions LXXVI. Mimetype Functions LXXVII. Ming functions for Flash LXXVIII. Miscellaneous Functions LXXIX. ...

Global site tag (gtag.js) - Google Analytics