gpt4 book ai didi

c# - 将变量值和输出从 PL/SQL 代码块返回到 C#

转载 作者:行者123 更新时间:2023-12-05 03:14:40 25 4
gpt4 key购买 nike

我有一个代码块,我正在为变量赋值以跟踪 block 执行时发生的情况。

begin 
declare
stage number := 0;
begin
stage := 1;
INSERT INTO Country ( code, name) VALUES (1 , 'xxxx');
stage := 2;
INSERT INTO City ( code, name) VALUES (1 , 'yyyy');
DBMS_OUTPUT.PUT_LINE('DONE:');
COMMIT;

EXCEPTION -- exception handlers begin
WHEN OTHERS THEN -- handles all other errors
DBMS_OUTPUT.PUT_LINE('Error occured, rollback...');
DBMS_OUTPUT.get_LINE(:1, :2);
stage := -1;
ROLLBACK;
end;
end;

我想问你如何使用 C# 获取阶段值和 DBMS_OUTPUT.PUT_LINE() 中的值。我知道这已经得到解答,但不幸的是我找不到它。

最佳答案

using (OracleCommand cmd = cnn.CreateCommand())
{
OracleParameter status = new OracleParameter(":1", OracleType.VarChar, 32000);
p_line.Direction = ParameterDirection.Output;

OracleParameter line = new OracleParameter(":2", OracleType.Double);
p_status.Direction = ParameterDirection.Output;

OracleParameter stage= new OracleParameter("stage", OracleType.Int16);
p_country_name.Direction = ParameterDirection.Output;

cmd.CommandText = script;
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add(status);
cmd.Parameters.Add(line );
cmd.Parameters.Add(stage);
cmd.ExecuteNonQuery();

string status = status.Value.ToString();
string line = line.Value.ToString();
string stage= stage.Value.ToString();
}

关于c# - 将变量值和输出从 PL/SQL 代码块返回到 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23779309/

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