u010152179 2014-12-15 09:57 采纳率: 0%
浏览 3030

把oracle start with 转为 sql server with语句,创建视图不成功

oracle start with语句
create or replace view VV_Select as
select "CORPCODE","CORPDESC","USERCODE","USERDESC"
from
(
select bc.corpcode,bc.corpdesc, aa.usercode,aa.userdesc from base_corp bc,base_user aa where bc.corpcode in (select distinct(corpcode)
from base_corp t
start with t.corpcode in
(select c.corpcode
from RIGHT_RIGHTUSER A, BASE_CORP c
WHERE A.DATACODE = c.CORPCODE
AND A.CLASSFICATIONID = '1'
AND A.USERCODE = aa.usercode)
CONNECT BY PRIOR t.corpid = t.parentid)
) a
group by a.corpcode, a.corpdesc, a.usercode, a.userdesc;

SQL SERVER with 语句
create view VV_Select as
select CORPCODE,CORPDESC,USERCODE,USERDESC
from
(
SELECT BC.CORPCODE, BC.CORPDESC, AA.USERCODE, AA.USERDESC
FROM MLS_BASE_CORP BC, MLS_BASE_USER AA
WHERE BC.CORPCODE IN
(WITH STEPCTE(CORPCODE) AS
(SELECT DISTINCT (CORPCODE)
FROM MLS_BASE_CORP T
WHERE T.CORPCODE IN
(SELECT C.CORPCODE
FROM MLS_RIGHT_RIGHTUSER A,
MLS_BASE_CORP C,
MLS_BASE_USER UU
WHERE A.DATACODE = C.CORPCODE
AND A.CLASSFICATIONID = '1'
AND A.USERCODE = UU.USERCODE)
UNION ALL
SELECT A.CORPCODE
FROM MLS_BASE_CORP A
INNER JOIN STEPCTE CTE
ON CTE.CORPCODE = A.CORPCODE)
SELECT CORPCODE FROM STEPCTE
)
) a group by a.corpcode, a.corpdesc, a.usercode, a.userdesc;
创建的时候报错
[Err] 42000 - [SQL Server]关键字 'WITH' 附近有语法错误。
42000 - [SQL Server]关键字 'with' 附近有语法错误。如果此语句是公用表表达式、xmlnamespaces 子句或者更改跟踪上下文子句,那么前一个语句必须以分号结尾。
42000 - [SQL Server]')' 附近有语法错误。

  • 写回答

3条回答 默认 最新

  • FoolRabbit 2014-12-16 03:09
    关注
     create view VV_Select as
    select CORPCODE,CORPDESC,USERCODE,USERDESC
    from
    (
    SELECT BC.CORPCODE, BC.CORPDESC, AA.USERCODE, AA.USERDESC
    FROM MLS_BASE_CORP BC, MLS_BASE_USER AA
    WHERE BC.CORPCODE IN (SELECT DISTINCT CORPCODE
                            FROM MLS_BASE_CORP T
                                WHERE T.CORPCODE IN (SELECT C.CORPCODE 
                                                        FROM MLS_RIGHT_RIGHTUSER A,
                                                        MLS_BASE_CORP C,
                                                        MLS_BASE_USER UU
                                                        WHERE A.DATACODE = C.CORPCODE
                                                        AND A.CLASSFICATIONID = '1'
                                                        AND A.USERCODE = UU.USERCODE)
                            UNION ALL
                        SELECT A.CORPCODE
                            FROM MLS_BASE_CORP A
                                INNER JOIN STEPCTE CTE ON CTE.CORPCODE = A.CORPCODE)
    ) a group by a.corpcode, a.corpdesc, a.usercode, a.userdesc;
    
    评论

报告相同问题?

悬赏问题

  • ¥20 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号