- 締切済み
SQLServer2005で、DropとCreateを同時に含むスクリプトを簡略に作成する方法
SQLServer2005のオブジェクト・エクスプローラ上で、スクリプトを得たいストアドの上で右クリック→「名前を付けてストアドプロシージャをスクリプト化」を選択すると、さらにCreate,Alter,Dropなどに分かれて選択するようになってしまい、最初にDrop してからCreateするような、便利な1本のスクリプトが生成できません。 どこか別に、設定しておくべき箇所があるのでしょうか。あるいは別に、他の良い方法があるのでしょうか。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- osakan_budi
- ベストアンサー率92% (13/14)
1.まずDROPをクエリエディタで開きます。 2.次にCREATEでクリップボードを選択します。 3.そして1で開いたスクリプトにペーストします。 ステップ数は多いですが、これでも実現可能です。 シノニムなど、ALTERが選択できない場合にやっている方法です。
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と思うのですが・・・。 駄目な時は、ゴミ回答として無視されて下さい。
お礼
うーん、2000と2005では違うようなのですね。
補足
回答ありがとうございます。