ストアド・プロシージャを新規作成するときは[データベース]
(2022-02-02 11:17:53) by shinoda


SQL Server のストアド・プロシージャは、SQL Server Management Studio で修正することはあったんだけど、新規に作ったことはなかった。
(メンテナンスし辛いので(DB内のすべてのストアド・プロシージャに対するワード検索とか、いちいち SQL 書かないといけないし)、できるだけ使いたくない(笑))

修正のときは、ソースを直して「実行」するだけだったので、(今回は、もともと存在するストアドの内容をコピーして、色々修正を加えた上で新規登録する)同じように最後に「実行」すると、

メッセージ 208、レベル 16、状態 6、プロシージャ p_data_create、行 64 [バッチ開始行 7]
オブジェクト名 'p_data_create' が無効です。

というエラーが出る。

これは、

ALTER PROCEDURE [dbo].[p_data_create]

になっていたため。
ALTER は 「変更する/改める」という意味だから、変更対象のストアドが見つからないってエラーが出てた。

新規作成時は

CREATE PROCEDURE [dbo].[p_data_create]

になってないとね。DB や TABLE を作るときと一緒だから。

ソースコピーしてきて、とりあえずプロシージャ名だけ一括変更して登録しようとしたのが敗因だった(^^; ちゃんとソースは読みましょう(笑)

登録後は CREATE を ALTER に変更しておく。

コメント投稿
次の記事へ >
< 前の記事へ
TOPへ戻る

Powered by
MT4i 3.0.8