2016-09-25 14 views
1

は、引数のためにできますが、私はSQL Serverのストアドプロシージャでそれを複製する必要があり、私はMS AccessのSQL ServerへのMS Accessに選択..同等

で、次の クエリ
select id, value into newtable 
from oldtable 

を持っていると言う それは次のようになりますか:

Delete newtable if exists 
Create newtable 
Copy values 

または別の方法がありますか?テーブルが存在しない場合は

+0

'SELECT * INTOは...' SQL Serverの互換構文です。 – Parfait

答えて

0

、あなたはどうなる:

select id, value 
into newtable 
from oldtable; 

テーブルが存在しない場合:

drop table newtable; 

select id, value 
into newtable 
from oldtable; 
+0

select..intoビヘイビアを複製するための正確な手順を示しましたか?私はシンタックスについてあまり心配していません(でも、ありがとう) – Eminem

+1

@エミネム。 。 。 'select into 'の構文は、両方のデータベースで同じです。コードを変更する必要はありません。 –

0

すでにSQLサーバーに古いテーブルを移行した場合、使用プロシージャの次のスクリプト。

IF EXISTS (SELECT 1 
      FROM INFORMATION_SCHEMA.TABLES 
      WHERE TABLE_SCHEMA = 'dbo' 
      AND TABLE_NAME = 'NewTable') 
    BEGIN 
     DROP TABLE NewTable 
    END 

    SELECT ID,VALUE INTO NewTable FROM OldTable. 

EXISTS句は、データベースに既に存在する場合は、NewTableをチェックして削除します。 SQL Serverにテーブル存在チェックを書き込むさまざまな方法がありますが、そのいずれにも従うことができます。

IF OBJECT_ID (N'NewTable', N'U') IS NOT NULL 
    DROP TABLE NewTable 

OR

IF EXISTS(SELECT 1 FROM sys.Objects WHERE Object_id = OBJECT_ID(N'dbo.NewTable') AND Type = N'U') 
    BEGIN 
     DROP TABLE NewTable 
    END 
関連する問題