实时搜索: oracle 存储过程如何调用

oracle 存储过程如何调用

303条评论 1973人喜欢 2968次阅读 863人点赞
我有一个存储过程,设置了jobs,每天都执行,但是部门提出数据不对,我就重新执行了一遍存储过程就好了。什么也没改。
我怀疑是存储过程没执行,怎么看存储过程是否执行过??? , create or replace procedure AddPHq
IS
aa integer;
BEGIN
aa:=0;
IF aa=0 then
aa:=1;
end if;
end;
请问以上语句那里错了,执行就报 [Err] ORA-24344: success with compilation error 谢谢 , 大致就...

oracle怎样查看正在执行的存储过程: 1.确定正在运行的过程名
select name,locks,pins
from v$db_object_cache
where locks > 0 and pins > 0 and type='PROCEDURE';
NAME LOCKS PINS
P_ETL_CRM_DESK 1 1

2.查询v$open_cursor 视图
select sid,sql_text
from v$open_cursor
where UPPER(sql_text) like '%P_ETL_CRM_DESK%'
SID SQL_TEXT
143 begin -- Call the procedure p_etl_crm_desk(v_dtdate => :

3.也可以用v$access确定
select * from v$access where object='P_ETL_CRM_DESK';
SID OWNER OBJECT TYPE
143 KDCC P_ETL_CRM_DESK PROCEDURE

4.或者dba_ddl_locks
select session_id sid, owner, name, type,mode_held held, mode_requested request
from dba_ddl_locks
where name = 'P_ETL_CRM_DESK';
SID OWNER NAME TYPE HELD REQUEST
143 KDCC P_ETL_CRM_DESK Table/Procedure/Type Null None

oracle查看存储过程 jobs 是否被执行过??: 首先你要检查一下该jobs是否已Broken,通过select *
from dba_jobs语句查看Next_Date是否为4000/1/1,Broken是否为Y,然后看FAILURES的次数是否大于0,如果jobs为Broken状态那肯定不会执行,
Oracle中可以查看执行的时间Total_Time,你可以留心如果Total_Time一直未变化的话那么Jobs也就未执行。
希望能帮到你。

oracle 存储过程执行 [Err] ORA-24344: success with compilation error: PROCEDURE QWW.ADDPHQ 编译错误
错误:提示:值被赋到 'aa' 但从未用于 'AddPHq'
行:6
文本:aa := 1;

语法没问题,但是有编译错误
再一个,你这个过程写的没什么意义

oracle 执行存储过程 无法中断 但是是循环执行 怎么办: 使用游标的时候一定要控制跳出循环的条件,
每个循环结束记得fetch下一跳数据,不然就会无限循环。
你的功能是插入数据,在做INSERT这段,用BEGIN END单独做成一个BLOCK吧,
写个EXCEPTION, WHEN OTHERS THEN EXIT;
我觉得基本就这几点会出现问题吧,你再看看吧。

oracle如何做到只允许通过存储过程执行DML: 你是怕有人在后台修改数据么?一个数据库只配给指定的几个账号权限,其他都查看权限,并加审计历史,如果有人修改记录他的账号和修改时间

hibernate如何调用oracle中自己定义的函数: 1、在Oracle sequence首先创建sequence
create sequence seq_id
minvalue 1
start with 1
increment by 1
cache 20;?
2.在你的hbm.xml中的配置
<id column="ID0000" name="id" type="integer">?
<generator class="sequence">?
<param name="sequence">seq_id< SPAN>param>?
<SPAN>generator>?
id>?
这样再插入数据的时候,Hibernate会自动生成如下语句:
hibernate: select seq_id.nextval from dual
hibernate: insert into YXJK.T_YXJK_WHRYTXL (XM0000, ZW0000, LXDH00, SJHM00, DZYJ00,
IP0000, ID0000) values (?, ?, ?, ?, ?, ?, ?)
自动生成下一个序列值,然后将对象插入表中。在使用的时候需要注意,Hibernate对于sequence的主键的要求是一定要是shor,long,或者integer。
?例子2:
在Oracle中建立sequence,名称为pk:
create sequence pk
start with 1
increment by 1
maxvalue 2000
nocycle
cache 30;
在映射文件中修改:

<class name="com.kay.pojo.Student" table="STUDENT" schema="KAY">
<id name="id" type="java.lang.Long">
<column name="ID" precision="22" scale="0" />
<generator class="sequence">
<param name="sequence">pk</param>//pk为sequence名称
</generator>
</id>
<property name="name" type="java.lang.String">
<column name="NAME" length="50" />
</property>
</class>

测试代码:
@Test
?public void testAdd() {

Student stu = new Student();
stu.setName("Bill");
boolean flag = dao.add(stu);
assertEquals(true, flag);
?}

怎么去调用一个oracle存储过程通过知道中间表的数据插入其他表的数据: 描述不太明确。

执行 oracle 存储过程 00900: PROCEDURE resetexchange is

select * from mb_other_paper_exchange;

END P_UPDATELOCKCMPINFO;

  • 34周是几个月

    ASCII码可以表示的字符个数是多少?: 128个字符。...

    374条评论 5554人喜欢 3346次阅读 716人点赞
  • ps 素描在哪

    "·"符号怎么打?: 为您介绍两种方法:1.在小键盘开启的状态下,按住Alt键不放,再连续输入小键盘数字43365,放开Alt键就可以打出来 〆(适合任意一种输入法或游戏中)2.按搜狗快捷键Shift+Ctrl+Z键,打开快捷输入,选‘中...

    797条评论 2812人喜欢 4551次阅读 882人点赞
  • 2007版excel工具在哪

    我有600多只鹅要卖8~9斤160多天,我是辽源东辽县白?: 什么情况?????? ...

    635条评论 2349人喜欢 4613次阅读 780人点赞
  • nba选秀上台几个

    C语言怎么取余?: %就是取余数运算,也就是模运算(mod)。...

    925条评论 3529人喜欢 6499次阅读 217人点赞
  • 五笔的虫字怎样打

    这个电话号码怎么打?: 在哪里看到这个号码的?这个一般国外或者是外贸公司的产品才会这么写号码的,。+86,是代表我们中国。021是上海的区号。。后面的号码是公司电话,,#821是公司里的分部电话,分机,比如是人事部的,或者财务科的,或者总办...

    977条评论 1218人喜欢 3446次阅读 422人点赞
  • dnf怎么释放魔能

    女生,身高160,体重115斤,胖吗: 属于丰满型的,其实并不是说吃到90多斤就算是苗条,最佳的身材160 100斤,这是最好的身材,超过100斤的算是丰满型的。但是是115斤,是很丰满型的,太瘦了也不好的,最真正的自己就好,没必要太在乎别人的看法 ...

    518条评论 4260人喜欢 5438次阅读 201人点赞