首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Update Table和out refcursor记录存储过程Oracle

Update Table和out refcursor记录存储过程Oracle
EN

Stack Overflow用户
提问于 2018-01-19 23:16:13
回答 1查看 71关注 0票数 0

我已经在Oracle包中创建了一个过程。当我从TOAD执行这个包时,我可以在输出中看到更新后的记录。但是,当通过控制台应用程序调用时,相同的过程返回0条记录。我也不知道原因。

也许我在某个地方犯了一个新手错误,但请让我知道我在这里做错了什么。

代码语言:javascript
复制
PROCEDURE TestProc( Cur_Result out sys_refcursor)
As 
begin

Update Table1 where condition-1; 
Commit;
Update Table1 where condition-2; 
Commit;

open Cur_Result for
select * from Table1;

END TestProc;

使用.NET代码从控制台应用程序调用过程-从TOAD -从模式浏览器执行包。

控制台App -像下面这样调用过程-

代码语言:javascript
复制
Using conn As New OracleConnection(ConfigurationManager.ConnectionStrings("CS").ConnectionString)
            conn.Open()
            cmd = New OracleCommand(SchemaName & "." & "TestProc", conn)
            cmd.Parameters.Add("CUR_RESULT", OracleType.Cursor).Direction = ParameterDirection.Output
            cmd.CommandType = CommandType.StoredProcedure
            da = New OracleDataAdapter(cmd)
            ds = New DataSet
            da.Fill(ds)
            ''''Do something with DataSetRecords
            conn.Close()
        End Using
EN

回答 1

Stack Overflow用户

发布于 2018-01-20 00:38:27

问题不在我提到的两个代码中,问题出在其他地方。我正在使用一个Test脚本在表中插入记录,但是我没有在脚本的末尾添加Commit。

我最近从SQL Server切换到Oracle。事务处理是oracle和SQL SERVER之间最大的区别。我真是个笨蛋不管怎样,谢谢你们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48344198

复制
相关文章

相似问题

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