我正在构建一个查询以通过向用户输入的数据附加一些附加信息来对数据库运行,如下所示:
SELECT * FROM vBranch WHERE (((BranchIsActive = 'Yes' AND BranchIsValid =
'Yes') AND BranchIsInternational = 'Yes' AND 1=2) AND
vBranch.BranchSecurityGroup=1).
这部分:
SELECT * FROM vBranch WHERE ((
由我附加,
这部分:
(BranchIsActive = 'Yes' AND BranchIsValid = 'Yes') AND BranchIsInternational
= 'Yes'
是用户输入的值
这部分:
AND 1=2) AND vBranch.BranchSecurityGroup=1)
也是由我附加的。
我的疑问是用户是否可以编写任何不包括我在用户输入数据之前和之后附加的字符串的查询,并且只执行用户针对数据库输入的数据?可能吗?需要注意的一点是,除了“select”语句之外,我也限制了很少的 DML 和 DDL 语句,因为我正在构建一个“select”语句来对数据库执行。