当前位置:首页 » 编程软件 » 无法编译存储过程

无法编译存储过程

发布时间: 2022-05-12 06:41:33

A. pl/sql 中建个一个存储过程,编译不过去,问题在哪

create table abc,这个表abc,什么都没有指定,至少要指定ABC表的一个字段,还有字段的类型。
另外,这个存储过程只能执行一次,因为执行一次之后,abc表被创建了,再执行的时候,就会创建重复的名字了。所以在执行之前,你最好先判断库中有没有abc表,如果有,先执行drop table abc。再创建。

B. 如何在Oracle中重编译所有无效的存储过程

:在SQL_PLUS中:spool ExecCompProc.sql select 'alter procere ' ||object_name||' compile;' From all_objects where status = 'INVALID' and object_type = 'PROCEDURE'; spool off @ExecCompProc.Sql;整理成一个存储过程:Create Or Replace Procere Zl_Compile_Invalid_Procere AsStrsql Varchar2(200);BeginFor x In (Select Object_Name From All_Objects Where Status = 'INVALID' And Object_Type = 'PROCEDURE') LoopStrsql := 'Alter Procere ' || x.Object_Name || ' Compile';Begin Execute Immediate Strsql; Exception--When Others Then Null; When OTHERS Then dbms_output.put_line(Sqlerrm); End;End Loop;End;最后执行:exec Zl_Compile_Invalid_Procere;如果要看到无法重编译的过程的出错信息,需要执行前设置set serverout on。

C. 数据库存储过程编译出错

可用第三方工具检查错误。

如以下存储过程:

D. 存储过程编译出错表或视图(与存储过程在同一用户下)不存在,急等!!!

首先,
存储过程
在a,你得把用的b用户的表给a用户查询权限,然后在过程里面用b的表是在表名前面加个b用户名在点一下,后面就可以用b的表了

E. oracle存储过程编译不通过,求各位大虾帮我看下

FOR i IN 1...1000 LOOP 语法错误 是两个点!
,INSERT ID,NAME,age,email,sex,birthday,create_time INTO person VALUES(
这一段的insert 这个一行也是有错误

--1-birthday DATE 与birthdaty:=DATE'1992-05-01'; 不是同一个变量

--以下是更过后的,可以参考下 希望对你有帮助1

create or replace procere insert_person(
NUM IN INT
)
AS
ID INT;
NAME VARCHAR2(10);
age NUMBER;
email VARCHAR2(10);
sex NUMBER;
birthday DATE;
create_time TIMESTAMP;
BEGIN
ID:=NUM;
NAME:='张三';
age:=25;
email:='shangsan';
birthday:=to_date('1992-05-01','yyyy-mm-dd');
create_time:=SYSTIMESTAMP;
FOR i IN 1..1000 LOOP
sex:=1;
IF(i<500)THEN
sex:=0;
END IF;
INSERT INTO person( ID,NAME,age,email,sex,birthday,create_time) VALUES(

NUM+i,
NAME||i,
age,
email||i||'@163.com',
sex,
birthday,
create_time
);
END LOOP;
COMMIT;
dbms_output.put_line('执行结束');
END;

F. Oracle 定义存储过程 不能执行,处于无效状态。

无效状态有两种可能,一种是你的存储过程编辑没有成功,创建了,但里面有语法错误。
还有一种是存储过程使用的表有结构上的改变,需要重新编译一下。
你重新编译一下,如果不成功,就是有语法问题,你需要修改存储过程。

G. oracle 存储过程无法编译,删除,一旦执行该操作PLSQL就会出现未响应

存在无效对象,用plsql菜单中的工具先“编译无效对象”

H. plsql编译存储过程卡死

1、查看一下Oracle数据库中的正在运行的进程是否正在运行该程序,如果有的话把进程停止
2、全部关闭重开或者换一个PLSQL试一下,看看是不是PLSQL本身导致的问题
3、如果都不好用先尝试重启一下PLSQL所在的服务器(如果可以重启的话)
先试试上述方法

I. ORACLE 存储过程被锁,编译不了,怎么解锁

可用SYS登录,然后查询如下语句:
查找存储过程OPERATIONDATA_IMP被哪些session锁住而无法编译
select * FROM dba_ddl_locks where name =upper('OPERATIONDATA_IMP');
从而得到session_id,然后通过
select t.sid,t.serial# from v$session t
where t.sid=&session_id;
得到sid和serial#
最后用alter system kill session 'sid,serial#'; kill 相关session即可。

J. ORACLE 存储过程无法编译,编译就卡死

你怎么查的锁?v$locked_object?dba_ddl_locks查了没,可能是ddl的锁,如果不能编译,一编译就死,也可能是ddl的锁导致的,以前碰到过。如果能找到锁,那就简单了。
不过还碰到过一种特别扯淡的情况,关掉自己的连接,然后换一台电脑从新来过,就OK了,这种情况也碰到过。

热点内容
app什么情况下找不到服务器 发布:2025-05-12 15:46:25 浏览:714
php跳过if 发布:2025-05-12 15:34:29 浏览:467
不定时算法 发布:2025-05-12 15:30:16 浏览:131
c语言延时1ms程序 发布:2025-05-12 15:01:30 浏览:166
动物园灵长类动物配置什么植物 发布:2025-05-12 14:49:59 浏览:735
wifi密码设置什么好 发布:2025-05-12 14:49:17 浏览:148
三位数乘两位数速算法 发布:2025-05-12 13:05:48 浏览:397
暴风影音缓存在哪里 发布:2025-05-12 12:42:03 浏览:542
access数据库exe 发布:2025-05-12 12:39:04 浏览:630
五开的配置是什么 发布:2025-05-12 12:36:37 浏览:365