从Java我们可以做类似的事情:
stmt.execute("SELECT * FROM users");
但对于存储过程,例如:
stmt.execute("{CALL createUser(?,?,?,?)}");
我们为什么需要{
和}
时,这是不正常的SQL要求?
JDBC源自ODBC.实际上,第一个jdbc驱动程序是jdbc到odbc桥.所以使用ODBC语法是有意义的.大括号本身表示函数调用,存储过程基本上是用户定义的函数,因此它们用大括号包装.
大括号是存储过程的转义语法。当 JDBC 驱动程序遇到 时{call createUser(?,?,?,?)}
,它会将这种转义语法转换为数据库使用的本机 SQL 来调用存储过程。
归档时间: |
|
查看次数: |
1450 次 |
最近记录: |