Я хочу написать приведенный ниже SQL запрос (используется на sql сервере) в Oracle SQL разработчику:
DECLARE @myVAR int; SET @myVAR = 11; WITH myCTE AS (SELECT * FROM abc WHERE HostCount = @myVAR) SELECT * FROM myCTE
Для вашего случая:
DECLARE и INT ключевые слова могут быть заменены на VAR и NUMBER соответственно
DECLARE
INT
VAR
NUMBER
Переменная myVAR квалифицируется как : вместо @, вместо знака равенства (=) используется оператор присваивания (:=) и вложен между BEGIN и END ключевыми словами.
myVAR
:
@
=
:=
BEGIN
END
Операторы в командной строке должны заканчиваться ;, а затем /.
;
/
Код:
SQL> VAR myVAR NUMBER; SQL> BEGIN :myVAR := 11; END; 2 / PL/SQL procedure successfully completed myVAR --------- 11 SQL> WITH myCTE 2 AS (SELECT * FROM abc WHERE HostCount = :myVAR) 3 SELECT * FROM myCTE; 4 / ID COL1 HOSTCOUNT ---- ------ ---------- .. ... 11 .. ... 11 myVAR --------- 11