【发布时间】:2009-12-16 16:13:03
【问题描述】:
我想用 jdbc 调用这个存储过程:
sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
JDBC 认为 ?是参数的占位符。事实上,SP 使用它来输入表名。如何调用存储过程?我试过这个:
CallableStatement call = jdbcConnection.prepareCall("call sp_msforeachtable(?)");
call.setString(1, "\"ALTER TABLE ? NOCHECK CONSTRAINT all\"");
call.executeUpdate();
我在“@P0”附近遇到语法错误。我猜'@P0'是?。我怎么称呼这个SP?我正在使用 SQL Server 2008 顺便说一句。
【问题讨论】:
标签: sql-server-2008 stored-procedures jdbc escaping