【SQL Server】ストアード プロシージャを作る時と変える時

VS Express for Desktop 2013 のデータベースエクスプローラーやSQL Server エクスプローラーでは
ストアードプロシージャをダブルクリックするとストアードプロシージャのエディタには、中身だけ表示されるので、中身だけ書けばよい。
SQL Server エクスプローラーでストアードプロシージャの【スクリプト化】【CREATE】や【ALTER】でクエリウインドウにコードを吐き出させると
簡単なストアードプロシージャの作成や変更のコードが出る。
データベースエクスプローラーで、ストアードプロシージャのコード画面の【実行】を押し【スクリプトの作成】させてみてと、
まだ作成していない場合は

CREATE PROCEDURE [dbo].[Procedure]

作成済みなら

ALTER  PROCEDURE [dbo].[作ったプロシージャ名]

の違いしかない。
何も変更してない時に無駄に【実行】ボタンを押すと、「何もしない」スクリプトを実行するのは良いけど、「スクリプト」の方を押せば、『ALTER PROCEDUREのスクリプトだと思い、そのままALTER PROCEDUREのスクリプトであったファイルを上書きしてしまう』とかなり痛い仕組みになっている。
しかし、古いSQL Server 200XのManagerに至っては、
ストアードプロシージャを右クリックし「スクリプトの変更」で吐き出されるコードは、【スクリプト化】と同じ様に見えるし、 CREATE もALTER 以外に違いはなさそうに見える。
しかし、保存しておいたALTER PROCEDUREのスクリプトを読み込み、CREATEに変えると、アチコチにエラーの下線が出る。
仕方がないので、他のCREATEで保存したものに BEGINからENDまでを差し替えることになる。
作った奴の悪意を感じるけど、
右も左も【こっそりストアードプロシージャが書き換える奴】ばかりだったのなら・・・
苦労がしのばれると云うものだ。
ちゃんと動作する製品を作り上げることが一番大事であることは確かだ
しかし、何かにつけて、インストールから設定・運用まで、ヘマしやすいSQL Serverは、『素人お断り』と云う点では立派な『プロ仕様』の製品であることは間違いない。




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA