在执行以下存储过程时,不报错,但是生成的存储过程图标有一个红叉,请问是哪里有问题?

作者&投稿:舌健 (若有异议请与网页底部的电邮联系)
orcale存储过程创建后,图标上有红色叉号。但是不报错,可以执行成功并调用。怎么解决?~

1、创建存储过程

  create or replace procedure test(var_name_1 in type,var_name_2 out type) as

  --声明变量(变量名 变量类型)

  begin

  --存储过程的执行体

  end test;

存储过程或其他对象如函数、触发器红叉有几种可能:
1、程序本身存在编译错误,即编译未通过,此时需查看具体错误以改正。
2、程序长时间未调用后失效需重新编译(无需手动编译)。属正常现象。
3、主程序中调用的其他程序做过改动和编译,主程序未即时编译。属正常现象,重新编译即可!

本人是用PLSQL开发 2年,希望对你有帮助!

有一个红叉, 估计是创建了, 但是编译不通过。

修改了这几个地方。

1、while p_day <= p_out_date loop 后面那个 begin 删除掉了。
2、 datetime 修改成 date

因为我这里没有表, 所以 就没有测试那句 insert 语句, 有没有问题了。

SQL> create or replace procedure epm_proc_participant_to_detail
2 (p_user_id number,
3 p_status number,
4 p_in_date date,
5 p_out_date date,
6 p_source_kind number)
7 is
8 p_day date;
9 p_i number;
10 begin
11 p_day:=p_in_date;
12 p_i:=0;
13 while p_day <= p_out_date loop
14 p_day:=p_day+1;
15 p_i:=p_i+1;
16 end loop;
17 end epm_proc_participant_to_detail;
18 /
过程已创建。


在执行以下存储过程时,不报错,但是生成的存储过程图标有一个红叉...
1、while p_day <= p_out_date loop 后面那个 begin 删除掉了。2、 datetime 修改成 date 因为我这里没有表, 所以 就没有测试那句 insert 语句, 有没有问题了。SQL> create or replace procedure epm_proc_participant_to_detail 2 (p_user_id number,3 p_status number,4 ...

执行下面的存储过程总是报'<' 附近有语法错误。
你可以直接用sp_executesql的参数化方法执行,请查阅sqlserver帮助文档 或拼接时记得多拼接单引号 set @sql='insert into '+@tableName+'(Description) values('''+@description+''')'

执行一个简单的存储过程的时候报这个错误,请问大家是什么原因呢?第二张...
存储过程是要进行预编译的,它先会检查语法、再检查语义,如果出现错误了,就会提示你,有错,让你进行改正。 当语法和语义都正确时,存储过程开始执行,但是在执行过程中可能出现一些错误,比如数据溢出啊,截断字符串啊,该存储过程会继续执行,并执行结束。正确的语句会被执行,而错误的语句是不会执行...

plsql中如何执行存储过程?
如下图所示,然后进入下一步。4、然后,完成上述步骤后,编写存储过程时,需要单击左上角的执行按钮或快捷键F8,然后可以在编译后调试程序。找到需要调试的存储过程,右键单击“test”,进入调试界面,如下图所示,然后进入下一步。5、随后,完成上述步骤后,单击左上角的调试按钮,如下图所示,然后进入...

call 如何执行以下的存储过程?求指导,谢谢了。
exec 名称 (参数)

mysql怎么执行一个存储过程
DECLARE dflag INT(11); \/\/这里可以定义你需要的仅在存储过程里使用的变量 SET dflag = 0;\/\/初始化 select * from table where time between startDate and endDate ;\/\/你的sql语句,可以一句可以多句 END $\/\/存储过程从$ 结束 delimiter ;当上面的选中运行后没问题,可以选中下面的call xx ...

怎样使用oracle自动执行存储过程?
下面是使用DBMS_SCHEDULER实现每天自动执行存储过程的基本步骤:创建存储过程:首先需要创建一个需要定时执行的存储过程。创建作业:使用DBMS_SCHEDULER创建一个作业,指定需要执行的存储过程和执行时间。例如,可以创建一个每天固定时间执行的作业。BEGINDBMS_SCHEDULER.CREATE_JOB ( job_name => 'MY_JOB...

执行存储过程的命令为
my_stored_procedure。2、MySQL:使用CALL命令来执行存储过程,例如:CALLmy_stored_procedure()。3、Oracle:使用EXECUTE命令来执行存储过程,例如:EXECUTEmy_stored_procedure。4、PostgreSQL:使用SELECT命令来执行存储过程,例如:SELECTmy_stored_procedure()。在执行存储过程的命令中,需要注意存储过程...

存储过程中执行sql语句时如何转义双引号?
双引号不用转,如果里面有单引号,那就在前面再加一个单引号 如:select replace('"dfdf''df"','"','')用全角的演示一下 select replace( ‘“abc ’’ de ”’,‘“”’,‘’)

sql server 存储过程
在执行存储过程时,我们常遇到执行超时的情况。如果是因为要处理的数据过多,修改流程复杂等原因的话,如以用以下方法解决:在存储过程的处理工作中加上事务管理:SET TRANSACTION ISOLATION LEVEL REPEATABLE READ --->要这行 BEGIN TRAN \/* 这里是程序处理代码段*\/commit transaction QuitWithRollback: IF (@@TRANCOUNT...

海宁市13626161946: 在执行以下存储过程时,不报错,但是生成的存储过程图标有一个红叉,请问是哪里有问题? -
籍沈蛋氨: 你说呢...

海宁市13626161946: Oracle 存储过程不能执行 但是不报错 -
籍沈蛋氨: 无效状态有两种可能,一种是你的存储过程编辑没有成功,创建了,但里面有语法错误. 还有一种是存储过程使用的表有结构上的改变,需要重新编译一下. 你重新编译一下,如果不成功,就是有语法问题,你需要修改存储过程.

海宁市13626161946: 后台执行存储过程没有报错,但是前台时报如图错误 -
籍沈蛋氨: 这个错误应该不是前台执行存储过程时报出来的错,而是你程序别的地方报出来的错.这个错常见于下拉框(combobox)赋值取值的问题.

海宁市13626161946: 我用下面的方式执行oracle包中的存储过程,存储过程是有错误的但它并不报错,这是问什么? -
籍沈蛋氨: procedure DEAL_REWARD_USER( p_1 in Varchar2, p_2 in varchar2, p_3 in varchar2 x_1 out varchar2) Is BEGIN x_1 := 'Y';--表示执行成功 EXCEPTION WHEN OTHERS THEN x_1 := 'N';--表示执行失败--此处也可以直接raise exception;程序就会终止了 END; 这样在你用命令在后台跑的时候就可以得到x_1,通过判断x_1的值,就知道程序的运行情况.如果还有不明白,可以继续追问.

海宁市13626161946: 有什么有什么情况执行存储过程插入数据结果没有插入但是也没有报错
籍沈蛋氨: 处理过程使用了事务,插入失败,事务回滚

海宁市13626161946: oracle存储过程测试没有报错为啥没有数据插入 -
籍沈蛋氨: 我看你存储过程执行完了没有commit,先在end p_focs_to_history之前加个commit; 如果还是没有数据的话,就要一步步调试,看看insert into 后面的select语句是不是没有数据.

海宁市13626161946: sql存储过程问题语法没错执行却没有预期的结果 -
籍沈蛋氨: ...那个变量@form9hgname 的类型varchar给它赋个长度..如varchar(10)

海宁市13626161946: Oracle C#调用存储过程,调用时程序不报错 存储过程也未执行 -
籍沈蛋氨: CREATE OR REPLACE PROCEDURE update_news(n_content in clob, n_title in varchar2, n_id in varchar2) as begin --此处是你的sql语句update A_news set news_title=n_title,news_content=n_content where news_id=n_id; commit; ...

海宁市13626161946: 在plsql中调用存储过程没问题,在java里面调用不报错,返回的参数也是成功,数据没插到表中 -
籍沈蛋氨: 你确认一下过程中是否满足条件,有可能是过程成功,但逻辑不满足,空执行或在过程有捕捉异常处理

海宁市13626161946: 一个sqlserver存储过程,创建时没报错,执行时有错误 -
籍沈蛋氨: create proc cp_query @mantype varchar(20),@name varchar(50),@type varchar(10),@num int output as BEGIN DECLARE @s NVARCHAR(2000) SET @s='select @num=count(*) from tb_mail where '''+ @mantype+'''='''+@name+''' and type='+@...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网