0
このSQL ServerコードをOracleコードに変換できません。私はSQLの専門家ではない、誰もこのOracleの互換性にこのコードを変換することができます。SQL ServerからOracleへの変換
Declare @lvl as int
Declare @rows as int
DECLARE @foo as Table(
KV_MANAGERNR int,
KV_PERSONNR varchar(10),
ord int,
lvl int)
INSERT @foo (KV_MANAGERNR, KV_PERSONNR, ord, lvl)
select KV_MANAGERNR, KV_PERSONNR, row_number() over(order by KV_PERSONNR), 0
from PERSONSMANAGER where KV_MANAGERNR='127723'
set @[email protected]@ROWCOUNT
set @lvl=0
--Do recursion
WHILE @rows > 0
BEGIN
set @lvl = @lvl + 1
INSERT @foo (KV_MANAGERNR, KV_PERSONNR, ord, lvl)
SELECT DISTINCT b.KV_MANAGERNR, b.KV_PERSONNR, row_number() over(order
by b.KV_PERSONNR), @lvl
FROM PERSONSMANAGER b
inner join @foo f on b.KV_MANAGERNR = f.KV_PERSONNR
--might be multiple paths to this recursion so eliminate duplicates
left join @foo dup on dup.KV_PERSONNR = b.KV_PERSONNR
WHERE f.lvl = @lvl-1 and dup.KV_PERSONNR is null
set @[email protected]@ROWCOUNT
END
SELECT DISTINCT KV_PERSONNR from @foo order by KV_PERSONNR
あなたはどのようなエラー(複数可)を得るのですか? – SchmitzIT
これらの変数を宣言するときに、1行目と2行目の構文エラーが発生しました。多くのエラー –
Oracleで変数を宣言する方法を試してみましたか?それは、それがSQL Serverとは異なる構文を使用していることを見つけるために1 Googleの検索が必要です。私の提案は、エラーを1で解決することです。あなたは次のエラーに遭遇する可能性が高いです。あなたがそれに悩まされるならば、あなたはいつも特定の要求で新しい質問を投稿することができます。今すぐあなたのコードを誰かに翻訳させたいと思っているかのように見えます。 SOはそのためのものではありません。具体的な問題についてお手伝いしたいと思っていますが、あなたの側から何らかの努力をすることを合理的に期待しています。 – SchmitzIT