0

このタイプの MySQL スタイルのクエリを Oracle で実行する方法の例を誰か教えてもらえますか?

SET @counter = 0;

SELECT (@counter+1) AS rowCount, t.username FROM USER AS t

DECLARE または DEFINE などを示すさまざまな例を見てきました

DECLARE
counter SMALLINT := 0;

SELECT (counter+1) AS rowCount, t.username FROM USER AS t

しかし、どれも機能していないようです。「コマンドの1行目から始まるエラー」などのエラーが発生し続けます(あまり役に立ちません!)。

よろしく

KS

4

1 に答える 1

2

DECLAREは無名 PL/SQL ブロックの開始点であり、ブロック内の aとSELECTの間にある必要があります。しかし、何かを選択する必要もあります。BEGINEND

選択した行全体の連続した行数を確認したいだけの場合は、rownum疑似列を使用できます。

SELECT rownum AS rowCount, t.username FROM USER t

(どちらも使用できません。列のエイリアスにAS tのみ使用できます...)AS

substrこのアプローチは最終目標に役立ち、を と連結できます。rownum

SELECT rownum AS rowCount, t.username,
    substr(t.username, 1, 5) || rownum as newname
FROM USER t

ただし、予約語をテーブル名として使用しないでください。

于 2013-05-13T10:57:36.270 に答える