簡単なストアド プロシージャを作成し、sp_executesql を使用して実行して、引用符エラーと sql インジェクションにも対処しましたが、パラメーターに一重引用符を渡すと、それでも表示されますUnclosed quotation mark after the character string ''.
alter procedure dbo.quote_test
(
@quoteid int
)
as
begin
declare @sqlstring as nvarchar(max)
declare @paramdef as nvarchar(100)
set @sqlstring = 'select * from quote where quote_id = @quoteid';
set @paramdef = N'@quoteid int';
exec sp_executesql @sqlstring,@paramdef, @quoteid
end
exec dbo.quote_test 10'