为什么我的oracle存储过程编译报错呢?
时间:2011-09-20
来源:互联网
create or replace procedure PTR_add_check (
mid varchar2 (50)
,UserID varchar2 (50)
,code varchar2 (50)
,Barcode varchar2 (50)
,Msg out varchar2 (100)) as
Qty number,
name varchar2 (50),
Package varchar2 (50)
begin
select name,Package into name,Package from "SYSTEM"."pt_wh_goods" where Barcode=Barcode
if SQL%rowcount =0
begin
Msg := '条码(' + ltrim(rtrim(Barcode)) + ')不存在!'
DBMS_OUTPUT.put_line(Msg);
end
select qty:=isnull(order_qty,0) from "SYSTEM"."pt_wh_add_items" where order_code=code and barcode=barcode
begin
if SQL%rowcount =0 then
qty:=0
Msg :=name+'('+Package+')' + ' 已下补货数量:' + cast(qty as varchar2(20))
DBMS_OUTPUT.put_line(Msg);
end
end;
作者: tiandi_030 发布时间: 2011-09-20
表结构呢? 调用参数呢?
业务逻辑也不说明一下?
作者: coolkisses 发布时间: 2011-09-20
作者: tiandi_030 发布时间: 2011-09-20
行号= 3 列号= 18 错误文本= PLS-00103: 出现符号 "("在需要下列之一时: := . ) , @ % default character 符号 ":=" 被替换为 "(" 后继续。
行号= 4 列号= 18 错误文本= PLS-00103: 出现符号 "("在需要下列之一时: := . ) , @ % default character 符号 ":=" 被替换为 "(" 后继续。
行号= 5 列号= 19 错误文本= PLS-00103: 出现符号 "("在需要下列之一时: := . ) , @ % default character 符号 ":=" 被替换为 "(" 后继续。
行号= 6 列号= 21 错误文本= PLS-00103: 出现符号 "("在需要下列之一时: := . ) , @ % default character 符号 ":=" 被替换为 "(" 后继续。
行号= 9 列号= 13 错误文本= PLS-00103: 出现符号 ","在需要下列之一时: := . ( @ % ; not null range default character
作者: tiandi_030 发布时间: 2011-09-20
作者: wzp1986 发布时间: 2011-09-20
这行报:
行号= 9 列号= 13 错误文本= PLS-00103: 出现符号 ","在需要下列之一时: := . ( @ % ; not null range default character
这里出现了什么问题呢
作者: tiandi_030 发布时间: 2011-09-20
Qty number,
name varchar2 (50),
Package varchar2 (50)
-->
Qty number;
name varchar2 (50);
Package varchar2 (50);
并且其他行,行结束符也是分号啊。
作者: yixilan 发布时间: 2011-09-20
name varchar2 (50);
Package varchar2 (50);
begin
Package varchar2 (50);
这里报
行号= 11 列号= 20 错误文本= PLS-00103: 出现符号 "("在需要下列之一时: is authid as
作者: tiandi_030 发布时间: 2011-09-20
作者: tiandi_030 发布时间: 2011-09-20
mid VARCHAR2,
UserID VARCHAR2,
code VARCHAR2,
Barcode VARCHAR2,
Msg out VARCHAR2) AS
Qty NUMBER;
v_name VARCHAR2(50);
v_package VARCHAR2(50);
BEGIN
SELECT name,Package INTO v_name,v_package FROM "SYSTEM"."pt_wh_goods" WHERE Barcode=Barcode;
IF SQL%rowcount = 0 THEN
Msg := '条码(' + ltrim(rtrim(Barcode)) + ')不存在!';
DBMS_OUTPUT.put_line(Msg);
END IF;
SELECT isnull(order_qty,0) INTO Qty FROM "SYSTEM"."pt_wh_add_items" WHERE order_code=code AND barcode=barcode;
IF SQL%rowcount = 0 THEN
qty := 0;
Msg := name+'('+Package+')' + ' 已下补货数量:' + qty;
DBMS_OUTPUT.put_line(Msg);
END IF;
end;
SQL语句自己去调吧 我没有表!
作者: cocolmalu 发布时间: 2011-09-20
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28