Table of ContentsPreviousNext

Ispirer             Ispirer


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

Oracle %TYPE を Microsoft SQL Serverへ変換

Oracle の%TYPE 属性はテーブルの定義変更にコードを対応させることができます。%TYPE 属性は変数やデータベースカラムのデータ型を提供します。カラムのデータ型が変更された場合でも、変数は実行時に正しい型を使用します。これによりデータの独立性と保守コストの削減が実現できます。

Microsoft SQL Server には Oracle の%TYPE と同等の機能はありません。

SQLWays は Oracle の%TYPE 属性付きで定義された変数を、Microsoft SQL Server ではテーブルのカラムまたは変数と同じデータ型を持つ変数宣言に変換します。

変換の例

TABLE 25. table_name.column_name%TYPE の使用
Oracle
Microsoft SQL Server
CREATE PROCEDURE  ORA_SP_TYPE IS 
v_name  ora.ora_rt.Name%TYPE; 
BEGIN 
   SELECT Name 
      INTO v_name 
      FROM ora_rt 
      WHERE ID = 1; 
END; 
CREATE PROCEDURE ORA.ORA_SP_TYPE  AS 
BEGIN 
   DECLARE @v_name VARCHAR(10) 
   select @v_name = Name FROM ora_rt WHERE ID = 1 
END 
  

注記: テーブル ora_rt には次のカラムが存在します: VARCHAR2(10)Name

TABLE 26. variable%TYPE の使用
Oracle
Microsoft SQL Server
CREATE procedure ora_sp_type1 
  IS 
v_name1  varchar(10); 
v_name  v_name1%TYPE; 
BEGIN 
   SELECT Name 
      INTO v_name 
      FROM ora_rt 
      WHERE ID = 1; 
END; 
CREATE procedure ORA.ORA_SP_TYPE1 
   AS 
BEGIN 
   DECLARE @v_name1  VARCHAR(10) 
   DECLARE @v_name VARCHAR(10) 
   select @v_name = Name FROM ora_rt WHERE ID = 1 
END 
  


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.