Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在C#中调用存储的Oracle过程

在C#中调用存储的Oracle过程
EN

Stack Overflow用户
提问于 2017-09-27 22:44:20
回答 1查看 1.2K关注 0票数 1

所以我想在C#中调用一个存储过程(Oracle),但是我不知道确切的语法,另外,我也不知道它是否需要参数,因为这个过程接受参数并自动分配它,所以我应该传递给它什么参数?

下面是存储过程

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
create or replace procedure p_delete_tt_duration_10min is
new_status varchar2(50);
status     varchar2(20);
p_tkt      varchar2(50);

cursor prt_cursor is

 SELECT a.id,
        a.ticketno,
        to_number(a.outagedurationmin),
        a.fault_occur_time,
        a.auto_clear_time
   FROM pmp_bpm_troubleticket a
  WHERE a.fault_id IS NOT NULL
    AND a.fault_occur_time IS NOT NULL
       --and a.generatedby = 'Automatic'
    AND ((a.tt_type IN ('Cell/Sector Down',
                        '3G Cell Down Alarm',
                        '4G Cell Down Alarm') AND
        to_number(a.outagedurationmin) < 18) OR
        (a.tt_type IN ('Site Down',
                        'NodeB Down Alarm',
                        'ENodeB Down Alarm',
                        'TRX/Equipment Faulty',
                        'Processing Problem',
                        'GPRS Down',
                        'Media disconnect',
                        'Hardware Fault',
                        'Link Down') and
        to_number(a.outagedurationmin) < 10))
    AND a.fault_occur_time >= '2017-04-01 00:00:00' order by to_number(a.outagedurationmin) desc;


begin
for prt_temp in prt_cursor loop
  p_tkt := prt_temp.id;
   delete from wf_assignment t
    where t.assignment_id in
       (select id from wf_dai_ban_task a where a.primary_key = p_tkt);
commit;
delete from wf_dai_ban_task a where a.primary_key = p_tkt;
commit;
delete from wf_yi_ban_task a where a.primary_key = p_tkt;
commit;
delete from pmp_bpm_task_expand_info a where a.primary_key = p_tkt;
commit;
delete from PMP_BPM_CC_LIST a where a.primarykey = p_tkt;
commit;
delete FROM PMP_BPM_TROUBLETICKET_PROCESS D
 WHERE D.ACTIVITYID IN (SELECT W.ID
                          FROM PMP_BPM_TROUBLETICKET_ACTIVITY W
                         WHERE W.PRIMARYKEY = p_tkt);
commit;
delete from PMP_BPM_TROUBLETICKET_ACTIVITY a
 where a.primarykey = p_tkt;
commit;
delete from PMP_BPM_TROUBLETICKET a where a.id = p_tkt;
commit;

end loop;
 end;

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-27 22:59:17

您检查过任何文档吗,这是非常基本的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
string constr = "User Id=scott;Password=tiger;Data Source=oracle";
OracleConnection con = new OracleConnection(constr);
con.Open();

OracleCommand cmd = new OracleCommand("BEGIN p_delete_tt_duration_10min; END;", con);
// Auto-commit changes
cmd.ExecuteNonQuery();

// Clean up
cmd.Dispose();
con.Dispose();

你也可以写

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
OracleCommand cmd = new OracleCommand("p_delete_tt_duration_10min", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46462593

复制
相关文章
c# 调用Oracle带有游标的存储过程
我们在写Oracle存储过程时经常会需要返回数据,像这种方式一般都输出游标的方式。我们今天就来做个用C#程序调用Oracle带有游标输出的存储过程并展示出数据。
Vaccae
2019/07/25
2.2K0
在.NET中调用存储过程
因为做项目要用到数据库,因此存储过程是必不可少的,看了一点如何在.NET中调用存储过程的资料,颇有点心得,觉得这个东西是当用到数据库的时候必须要会的一项技术。下面是它的定义:
SAP梦心
2022/05/07
2.2K0
[亲测可用]hibernate调用Oracle存储过程|Spring Data JPA调用Oracle存储过程方法
一、前言 我们知道在plsql里可以通过下面方式执行存储过程, begin P_ACCOUNT(202004270000) ; end; --或者 call P_ACCOUNT(2020042
小小鱼儿小小林
2020/06/24
2.4K0
java怎样调用oracle存储函数_oracle如何调用存储过程
之前给大家介绍了java代码调用存储过程,下面要给大家介绍的就是java当中调用oracle存储过程,一起来看看吧。
全栈程序员站长
2022/11/19
2.7K0
java怎样调用oracle存储函数_oracle如何调用存储过程
java调用Oracle分页存储过程
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/120338.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/18
7810
JDBC实现调用Oracle存储过程
1.关于JDBC (1)什么是JDBC? JDBC的全称是Java Database Connectivity。主要有三个功能: a.建立与数据库的连接和访问任意表格数据源。 b.发送一个SQL声明。 c.处理结果。
星哥玩云
2022/08/16
1.2K0
mybatis中调用存储过程_java如何调用存储过程
CREATE PROCEDURE insert_user(OUT u_id INTEGER,IN u_name VARCHAR(20),IN u_sex VARCHAR(20),IN u_age INTEGER) BEGIN INSERT INTO t_user (name,sex,age) VALUES (u_name,u_sex,u_age); SET u_id=LAST_INSERT_ID(); END
全栈程序员站长
2022/08/03
4.1K0
mybatis中调用存储过程_java如何调用存储过程
oracle存储过程递归调用_函数的间接递归调用
注意:递归存储过程一般会用到 output 或 return,两者返回值类型上有一定的区别,output 基本上没有限制,但 return 返回的一般是 int 类型。
全栈程序员站长
2022/11/09
1.4K0
oracle存储过程递归调用_函数的间接递归调用
JAVA调用Oracle存储过程和函数
连接数据库的工具类: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBCUtils { private static String driver = "oracle.jdbc.OracleDriver"; private
HUC思梦
2020/09/03
1.6K0
C#调用SQL中的存储过程中有output参数,存储过程执行过程中返回信息
C#调用SQL中的存储过程中有output参数,类型是字符型的时候一定要指定参数的长度。不然获取到的结果总是只有第一字符。本人就是由于这个原因,折腾了很久。在此记录一下,供大家以后参考! 例如: CREATE PROCEDURE sp_AccountRole_Create @CategoryID int, @RoleName nvarchar(10), @Description nvarchar(50), @RoleID int output AS DECLARE @Count int -- 查找是否有相同
欢醉
2018/01/22
3.2K0
Spring StoredProcedure调用ORACLE存储过程或函数
当前session处在活动状态,如果此时ORACLE的package在另外一个session中被重新编译,那么当前session再执行其中的procedure就会报包失效,异常STACK见下。
全栈程序员站长
2022/09/18
1.2K0
sql怎么调用存储过程_oracle sql分页查询
数据库用的是Oracle,Mybatis自动封装的分页,sql语句在PLSQL中执行没有问题,放在代码里面运行的时候就报错:未明确定义列。
全栈程序员站长
2022/11/10
1.2K0
快速学习Oracle-Java 程序调用存储过程
可以在虚拟机中 xp 的 oracle 安装目录下找到 jar 包 :ojdbc14.jar
cwl_java
2019/12/19
6020
【oracle】存储过程
存储过程创建语法: create or replace procedure 存储过程名(param1 in type,param2 out type) as 变量1 类型(值范围); --vs_msg VARCHAR2(4000); 变量2 类型(值范围); Begin Select count(*) into 变量1 from 表A where列名=param1; If (判断条件) then Select 列名 into 变量2 from 表A where列名=para
赵腰静
2018/03/09
1.1K0
Oracle存储过程
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
颍川
2019/11/21
8800
Oracle存储过程
Oracle存储过程 oracle 存储过程的基本语法 1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN NUMBER, 参数2 IN NUMBER ) IS 变量1 INTEGER :=0; 变量2 DATE; BEGIN END 存储过程名字 2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_
Java帮帮
2018/03/15
2.7K0
Oracle存储过程
Oracle 递归sql,mybatis的递归查询,与存储过程调用
引用文献:https://www.cnblogs.com/Soprano/p/10659127.html
斯文的程序
2019/11/07
1K0
在SAP中使用JS调用存储过程
这个调用过程可以使用两种方式进行,一种是直接调用,另一种是使用Odata的方式。使用Odata的方式要涉及到自定义出口的方式,因为Odata中预留了自定义出口来处理数据的增删改操作,因此不需要使用Odata基础框架中默认的操作方式。
matinal
2020/11/27
1.5K0
在SAP中使用JS调用存储过程
C#中使用Oracle存储过程返回结果集
Oracle中可以使用游标(Cursor)对数据集进行操作,但在存储过程输出参数中直接使用Cursor错误,此时的Cursor应该是一个定义游标的关键字并非类型,所以先要定义一个包,在包中声明全局的自定义游标类型,如:
张果
2022/05/09
1.1K0
点击加载更多

相似问题

在c#中调用oracle存储过程

10

在C#中调用Oracle存储过程

20

在Oracle中调用存储过程

36

从C#调用Oracle中的存储过程

10

从C#调用Oracle存储过程?

7128
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文