我有一个存储过程,它将索引放在DB中的特定表上。此SP在从数据库控制台执行时运行良好,不会出现错误。
当我使用JDBC使用可调用语句执行SP时,它会给出一个SQL异常,并表示不能删除索引。
当在数据库上检查时,索引也会被删除。
CREATE PROCEDURE sp_drop_idx as
BEGIN
DROP INDEX sp_close_1.XPKusr1
DROP INDEX sp_close_1.ilxuser22
DROP INDEX sp_close_1.indx_billid1
DROP INDEX sp_close_1.cycle_ind
END
GO这个SP在另一个SP中调用,让我们使用普通JDBC调用从java代码调用outerSP。
cb = conn.prepareCall("{call outerSP}");
s = cb.executeQuery();
while(rs.next()){
num = (Integer)rs.getInt(1);
}发布于 2014-08-08 07:04:15
这是SP中的一个简单的变化:
对于我们使用的每一个索引,如果条件-
IF EXISTS(select * from sysindexes where id = object_id('sp_close_1') and name ='XPKusr1')
DROP INDEX sp_close_1.XPKusr1https://stackoverflow.com/questions/25196938
复制相似问题