需要直接在生产机拉取很复杂的数据,又不想传请求怎么办?
如果一个SQL语句能搞定的话,可以看如下三个办法:
1.【SQVI】,非常靠谱;
1.使用程序ZSQLEXPLORER,首先你得把这个程序传到生产机;
2.使用DB02的SQL command,当然你得权限足够。
DB02的SQL是Oracle的SQL,所以写法有很大不同,具体可以看下面这个例子。
SELECT C.MANDT,C.SMVART,C.CONDGROUP,C.CONDTYPE,C.FLOWTYPE,C.SSOLHAB,C.ANTACRTYPE,C.TRAACRTYPE,
ACESLN1000002.SOUR1_FROM,ACESLN1000002.SOUR1_TO,
ACESLN1000002.SOUR2_FROM,ACESLN1000002.SOUR2_TO,
ACESLN1000002.SOUR3_FROM,ACESLN1000002.SOUR3_TO,
ACESLN1000002.VALID_FROM,ACESLN1000002.TARGET1,ACESLN1000002.TARGET2
FROM
(
SELECT B.MANDT,B.SMVART,B.CONDGROUP,B.CONDTYPE,B.FLOWTYPE,
TIVCDFLOWTYPE.SSOLHAB,TIVCDFLOWTYPE.ANTACRTYPE,TIVCDFLOWTYPE.TRAACRTYPE
FROM
(
SELECT A.MANDT,A.SMVART,A.CONDGROUP,A.CONDTYPE,
TIVCDCONDTYPE.FLOWTYPE
FROM
(
SELECT
TIVCNCCTADD.MANDT,TIVCNCCTADD.SMVART,TIVCNCCTADD.CONDGROUP,
TIVCDCONDREL.CONDTYPE
FROM TIVCNCCTADD,TIVCDCONDREL
WHERE TIVCNCCTADD.MANDT = TIVCDCONDREL.MANDT(+)
AND TIVCNCCTADD.CONDGROUP = TIVCDCONDREL.CONDGROUP(+)
) A,TIVCDCONDTYPE
WHERE A.MANDT= TIVCDCONDTYPE.MANDT(+)
AND A.CONDTYPE = TIVCDCONDTYPE.CONDTYPE(+)
) B,TIVCDFLOWTYPE
WHERE B.MANDT = TIVCDFLOWTYPE.MANDT(+)
AND B.FLOWTYPE = TIVCDFLOWTYPE.FLOWTYPE(+)
) C,ACESLN1000002
WHERE C.MANDT = ACESLN1000002.MANDT(+)
AND C.ANTACRTYPE = ACESLN1000002.SOUR3_FROM(+)