首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从Java代码中删除表上的索引(Sybase)

无法从Java代码中删除表上的索引(Sybase)
EN

Stack Overflow用户
提问于 2014-08-08 06:02:32
回答 1查看 362关注 0票数 0

我有一个存储过程,它将索引放在DB中的特定表上。此SP在从数据库控制台执行时运行良好,不会出现错误。

当我使用JDBC使用可调用语句执行SP时,它会给出一个SQL异常,并表示不能删除索引。

当在数据库上检查时,索引也会被删除。

代码语言:javascript
复制
    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

代码语言:javascript
复制
    cb = conn.prepareCall("{call outerSP}");
    s = cb.executeQuery();
    while(rs.next()){
        num = (Integer)rs.getInt(1);
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-08 07:04:15

这是SP中的一个简单的变化:

对于我们使用的每一个索引,如果条件-

代码语言:javascript
复制
IF EXISTS(select * from sysindexes where id = object_id('sp_close_1') and name ='XPKusr1')
        DROP INDEX sp_close_1.XPKusr1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25196938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档