• 締切済み

SQLServer2005で、DropとCreateを同時に含むスクリプトを簡略に作成する方法

SQLServer2005のオブジェクト・エクスプローラ上で、スクリプトを得たいストアドの上で右クリック→「名前を付けてストアドプロシージャをスクリプト化」を選択すると、さらにCreate,Alter,Dropなどに分かれて選択するようになってしまい、最初にDrop してからCreateするような、便利な1本のスクリプトが生成できません。 どこか別に、設定しておくべき箇所があるのでしょうか。あるいは別に、他の良い方法があるのでしょうか。

みんなの回答

回答No.2

1.まずDROPをクエリエディタで開きます。 2.次にCREATEでクリップボードを選択します。 3.そして1で開いたスクリプトにペーストします。 ステップ数は多いですが、これでも実現可能です。 シノニムなど、ALTERが選択できない場合にやっている方法です。

kistune
質問者

補足

回答ありがとうございます。

noname#140971
noname#140971
回答No.1

SQL Server 2000 ですが・・・。 CREATE PROCEDURE dbo.[ストアドプロシージャ3] AS DROP TABLE Table1 CREATE TABLE Table1(id_name VARCHAR(32) NOT NULL) このような文を ADO で実行します。 [イミディエイト] ? CNNExecute("CREATE PROCEDURE dbo.[ストアドプロシージャ3] AS DROP TABLE Table1 CREATE TABLE Table1(id_name VARCHAR(32) NOT NULL)") True VB6.0、Excel、Access のどこからでも実行可能です。 なお、エンタープライズマネージャで確認すると GO は付加されて作成されています。 一応、ちゃんと機能しているようです。 手っ取り早く[ストアドプロシージ]を作るには、簡単な実行関数を作るのも手です。 With cnn   .Errors.Clear   .BeginTrans   .Execute strSQL   .CommitTrans End With cnn.Execute strSQL の1行が作成します。 SQL Server 2005 でもOKと思うのですが・・・。 駄目な時は、ゴミ回答として無視されて下さい。

kistune
質問者

お礼

うーん、2000と2005では違うようなのですね。

関連するQ&A