0

IF単一の単純なステートメントをコメントアウトすると、適切にモデル化されるストアドプロシージャがあります。

IF LEN(@myVariable) > 0
    BEGIN
        SET @myVariable = SUBSTRING(@myVariable, 1, LEN(@myVariable)-1)
    END

この行をコメントアウトしないと、次のエラーが発生します。

次のストアド プロシージャの戻り値の型を検出できませんでした。[プロパティ] ウィンドウで、ストアド プロシージャごとに戻り値の型を設定します。dbo.my_stored_procedure

このステートメントにより、返された型の自動生成が失敗するのはなぜですか?

このコード行をコメント アウトすると、期待どおりの戻り値の型と、そのすべてのプロパティ (DBML で自動的にモデル化される) が得られます。

不足している設定はありますか?

前もって感謝します...

4

1 に答える 1

0

正しい方向に私を送ってくれてありがとうGert。ストアド プロシージャは、ステートメントを変更した後、問題なく正しくモデル化されました。

IF LEN(@myVariable) > 0
    BEGIN
        SET @myVariable = SUBSTRING(@myVariable, 1, LEN(@myVariable)-1)
    END

に:

IF LEN(@myVariable) > 0
    BEGIN
        SET @myVariable = LEFT(@myVariable, NULLIF(LEN(@myVariable)-1, -1))
    END
于 2013-08-27T15:54:49.327 に答える