我想参数化我的存储过程的输入以防止 sql 注入。问题是我的数据库没有应用程序(它只是用于学校)并且由于没有像 C# 等这样的客户端语言,我必须用 sql 本身来做。我做了这个
ALTER procedure [dbo].[drop_tt]
@ss varchar(40)
as
EXEC sp_executesql N'SELECT *
FROM tt
whERE ss = @Ss', N'@ss varchar(40)', @ss
但是当我执行这个语句时,tt表被删除了:( exec drop_tt 'www';drop table tt--'
有人可以帮忙吗?