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''') で値を囲み、ストアド プロシージャ内の余分な引用符を削除することもできますが、同じことを達成するためのより良い方法はありますか?