gpt4 book ai didi

java - 通过远程删除存储过程

转载 作者:行者123 更新时间:2023-11-30 11:42:18 26 4
gpt4 key购买 nike

我正在使用 JUnit 通过远程创建和测试存储过程,我的用户名是 test,这是我的代码,

String sql = "create procedure test.firstProc3 AS select GETDATE()";
cursor.execute(sql);
cursor.executeQuery("firstProc3");

并删除程序:

String dropSQL = "DROP PROCEDURE test.firstProc3";
cursor.execute(dropSQL);

由于 Drop Procedure 不起作用,我无法第二次运行相同的 SP(新 session )我的错误是:

数据库中已经有一个名为“firstProc3”的对象。

当我在服务器端提供 sp_help 时,表中包含值的行

firstProc3 测试存储过程

但是当我给查询分析器中的 DROP PROCEDURE test.firstProc3,该行正在从表中删除。

尝试通过 Junit 执行相同的操作可能会出现什么问题?

是否需要设置权限?

PS - 用户测试启用了 db_ddladmin。

最佳答案

我设法通过使用以下方法最终解决了这个问题:

declare @object_id int
select @object_id = object_id('test.firstProc5')
EXEC sp_MSdrop_object @object_id
GO

这也是从表中删除数据。我能够多次成功运行测试用例!

感谢您的帮助:)

我提到的链接在这里,希望它能帮助别人:

http://www.mssqlcity.com/Articles/Undoc/SQL2000UndocSP.htm

关于java - 通过远程删除存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11774856/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com