0

1 つのパラメーター @Value VARCHAR(8000) を受け取るストアド プロシージャがあります。email_id 値で保存されたこれを実行しようとすると、上記のエラーが発生します。コードは次のようなものです。

PROCEDURE [dbo].[check] @Value VARCHAR(8000)
AS
BEGIN
...
END

実行コマンドは次のとおりです。

EXEC [dbo].[check] @Value = 'abc@abc.com';

値が一重引用符で囲まれているにもかかわらず、MS SQL が値のドットをマルチパートとして読み取る場合、問題は明らかです。もちろん、別の 2 つの一重引用符 (例: '''abc@abc.com''') で値を囲み、ストアド プロシージャ内の余分な引用符を削除することもできますが、同じことを達成するためのより良い方法はありますか?

4

0 に答える 0