Table of ContentsPreviousNext

Ispirer             Ispirer


Ispirer SQLWays データベース移行ソフトウェア

代入ステートメントを Microsoft SQL Server から Oracleへ変換

SQL Server のSELECT | SET @local_variable 代入ステートメントでは、変数への値設定にサブクエリを指定する事ができます。しかし Oracle の代入演算子 (:=) ではサブクエリを指定することはできません。

a) 式はスカラサブクエリ以外の任意の式

この場合、SQLWays は SELECT および SET 句を Oracle の代入演算子 (:=) に変換します。

TABLE 30. 式はスカラサブクエリ以外の任意の式
Microsoft SQL Server
Oracle
SELECT @A=5+7 
v_A:=5+7; 
SET @B='String' 
v_B:='String'; 

b) 式はスカラサブクエリ

もしSQL Server の式がスカラサブクエリである場合、SQLWays は SELECT および SET 句を SQLクエリの結果を変数に代入できる Oracle のSELECT INTO ステートメントに変換します。

TABLE 31. 式はスカラサブクエリ
Microsoft SQL Server
Oracle
SELECT @D = (SELECT col1 FROM tab1) 
SELECT col1 INTO v_D FROM tab1; 
SELECT @C = (SELECT col2 FROM tab2) 
SELECT col2 INTO v_C FROM tab2; 

c) 複数の代入句を含むSELECT | SET

SQL Server のSELECT @local_variable 代入ステートメントには複数の代入を行う事ができますが、 Oracle では一つしか行うことはできません。もしSQL Server のSELECT に複数の代入が含まれる場合、SQLWays はそれらを Oracle の複数の代入演算に変換します。

TABLE 32. 複数の代入句を含むSELECT | SET
Microsoft SQL Server
Oracle
SELECT @E = (SELECT col3 FROM tab3), 
@G = 9.8 
SELECT col3 INTO v_E FROM tab3;
v_G:=9.8; 
SELECT @F= (SELECT col4 FROM tab4), 
@H= (SELECT col5 FROM tab5)	 
SELECT col4 INTO v_F FROM tab4;
SELECT col5 INTO v_H FROM tab5;  
SELECT @K = `Test string',
@L = 10 
v_K:= `Test string';
v_L:=10; 


Table of ContentsPreviousNext
Ispirer             Ispirer
Copyright © 1999-2015 Ispirer Systems Ltd. Ispirer and SQLWays are trademarks of Ispirer Systems Ltd. All other product names may be trademarks of the respective companies. All rights reserved.