EDIT:機能の作成が欠落していた、私が行くT-SQL要求を持っているSQL Serverオブジェクトの存在を確認して削除するにはどうすればいいですか?
について申し訳ありません:
DECLARE @IsSomething bit
SET @IsSomething = 0
IF /some tests/ SET @IsSomething = 1
EXEC('
CREATE FUNCTION IsSomething()
RETURNS bit
AS
BEGIN
RETURN ' + @IsSomething + '
END')
もちろん、私はそれを2回実行した場合、私は
There is already an object named 'IsSomething ' in the database.
を取得
どうすればいいですか?
IF EXIST @IsSomething DESTROY @IsSomething // (Pseudo bad code)
@IsSomethingを2回宣言すると、 '変数名' @IsSomething 'が既に宣言されています。変数名は、クエリバッチまたはストアドプロシージャ内で一意である必要があります。条件/応答が一例として不一致でしたか?もしそうなら、それは人々が少し混乱している質問を見つける理由を説明するかもしれません... –
これはすべて、変数名を除いて、私がやったこととまったく同じです。さらに少し先に私は "SET @IsSomething = 1"を持っています、これを質問に追加します – marcgg
@IsSomethingはデータベースオブジェクトではありません。それはT-SQL変数です。既存のオブジェクトに関するエラーが発生した場合、そのオブジェクトはCREATE [table |ビュー|インデックス| DECLAREではなく、[etc]文を使用します。 –