当前位置:首页 » 存储配置 » oracle存储过程错误

oracle存储过程错误

发布时间: 2022-08-10 18:45:53

① 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_FOUND)
例子:
BEGIN
SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx;
EXCEPTION
WHEN NO_DATA_FOUND THEN
xxxx;
END;
...

3.IF 判断
IF V_TEST=1 THEN
BEGIN
do something
END;
END IF;

4.while 循环
WHILE V_TEST=1 LOOP
BEGIN
XXXX
END;
END LOOP;

5.变量赋值
V_TEST := 123;

6.用for in 使用cursor
...
IS
CURSOR cur IS SELECT * FROM xxx;
BEGIN
FOR cur_result in cur LOOP
BEGIN
V_SUM :=cur_result.列名1+cur_result.列名2
END;
END LOOP;
END;

7.带参数的cursor
CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;
OPEN C_USER(变量值);
LOOP
FETCH C_USER INTO V_NAME;
EXIT FETCH C_USER%NOTFOUND;
do something
END LOOP;
CLOSE C_USER;

8.用pl/sql developer debug
连接数据库后建立一个Test WINDOW
在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试

② oracle存储过程语法错误

create or replace procere cx_tskc1_proc
is
begin
select 类别号,图书编号,图书名称,库存数 from 图书明细表;
end cx_tskc1_proc;
/
这样写试一下,看看是否好用。

③ Oracle 定义存储过程不能执行怎么办

无效状态有两种可能:

1、一种是你的存储过程编辑没有成功,创建了,但里面有语法错误。

④ oracle存储过程错误,怎么改

觉得这段代码是Oracle和SQL Server的混合体。你究竟使用的是哪个数据库? 要在哪个数据中创建存储过程?
nvarchar2既不是Oracle也不是SQL Server中有的类型;
Oracle中每个语句之后要有分号,存储过程中的update语句后面没有;
getdate()是SQL Server中获取时间的函数,Oracle中没有;
最后已经有end PROC_JSGC_AFTERZBFILEBEIAN;了,那么前面的单独的end;语句就重复了;

⑤ oracle执行存储过程出错

如果SYS.FEIYONG是个表什么的,就要看你当前用户是否有访问这个对象的权限,如果是个调用的存储过程,看看这个存储过程是不是能运行正确。

⑥ oracle 存储过程 错误

end 就不需要了,与begin对应的是END P_zh_TABFPQX_11;

⑦ oracle 调用存储过程出错

call lineloss.curspkg.sp_pagination

其中 curspkg.sp_pagination 分别是包名,和过程名,

那么 lineloss 是用户名 了。

你创建 包 的用户 是什么呢? lineloss 吗 ?

你当前登录用户是 ??? 有 lineloss.curspkg.sp_pagination 的执行权限吗 ?

⑧ 请问ORACLE创建存储过程执行报如下错误是什么原因导致的

你的存储过程应该是编译报错,虽然创建了但是编译有错误。
改了下你的程序:
create or replace procere edpsc2exe7(V_col in number,
V_play out varchar2)
IS
begin
case V_col
when 1 then
V_play := 'a';
when 2 then
V_play := 'b';
else
V_play := 'c';
end case;
dbms_output.put_line(V_play);
end ;

⑨ ORACLE 存储过程执行时报错

1、execute 后面应是SQL字符串,如:

begin
executeimmediate'select*fromal';
end;

2、改为以下形式就可以:

begin
print('helloworld');
end;
热点内容
python浮点数取整 发布:2024-05-08 07:15:07 浏览:137
二手汽车解压程序 发布:2024-05-08 07:14:13 浏览:513
android和php最佳实践 发布:2024-05-08 07:10:07 浏览:852
安卓手机屏幕变了颜色怎么回事 发布:2024-05-08 07:09:56 浏览:450
安卓手机怎么拍人物和场景 发布:2024-05-08 06:55:39 浏览:281
phpurl中文乱码 发布:2024-05-08 06:25:34 浏览:53
社保账户及密码忘了怎么办 发布:2024-05-08 06:25:32 浏览:750
个人热点的密码怎么改 发布:2024-05-08 06:19:13 浏览:639
传递加密 发布:2024-05-08 06:19:02 浏览:682
c语言是啥意思啊 发布:2024-05-08 06:01:09 浏览:696