【发布时间】:2016-10-12 10:27:04
【问题描述】:
我正在尝试执行以下查询:
String query = "SELECT * FROM EMP WHERE UCASE(LAST_NAME) ";
query += "LIKE '" + lastName.toUpperCase() + "%'";
在使用 servlet 访问数据库的示例中 但我收到错误消息:
Excepcion java.sql.SQLSyntaxErrorException: ORA-00904: "UCASE": invalid identifier
另一方面,当我使用 UPPER sql 函数时,该示例有效,但结果未以大写形式显示 LASTNAME 列的值。我不明白会发生什么。
【问题讨论】:
-
如果
lastName是'; DROP DATABASE ...;--怎么办? -
数据库将被删除,但前提是使用该应用程序的用户有权这样做。 @lad2025 暗示您应该在 sql 触发中使用之前清理您的输入。
标签: java oracle oracle11gr2