2016-07-04 11 views
2

オブジェクトが存在するかどうかを確認し、それに基づいて作成または変更するSQLスクリプトを作成しています。SQLスクリプトを生成してテーブル/ストアドプロシージャを作成または変更する

if not exists (select * from sysobjects where name='MyTableName' and xtype='U') 
    create table MyTableName(
     Id int not null, 
     Name varchar(150) not null 
    ) 
Else 
    --Alter 

これは、150を超えるテーブルを持つより大きなデータベースでこれを行う必要があります。

テーブルとストアドプロシージャに対してこれを自動的に生成する方法はありますか?

+1

わかりません。毎回同じテーブルを作成しますか?同じフィールドを既存のテーブルに毎回追加するか? – Shaharyar

+0

@Shaharyar:基本的には初めて作成するか、別のサーバーで実行します。そうでなければ変更する。主にスクリプトがストアドプロシージャのために頻繁に変更されるので、 – mrTester

+0

@mrTester、あなたが変わったテーブルのための簡単な解決策を得ることを期待しているなら、あなたは困っています。 SPの場合、実際には面白いことはありません。 –

答えて

0

あなたの質問には既にanserが含まれています。いいえ、実行できません。あなたは、テーブルのメタデータをスプールすることができます。環境内にオブジェクトが存在する場合、arleadyが言いましたように、これはそうではありません - どのように関数/スクリプト/プロシージャはどの列などどのテーブルのために作成されなければならないのですか?もしテーブルがすでに存在していたら、何を変えなければならないのですか?

関連する問題