Oracle 我试图在Pl/Sql中创建一个过程,我得到了这个错误
-图片 我正在计算当前的产品库存。 我有产品接收表,我可以在其中计算库存。Oracle 我试图在Pl/Sql中创建一个过程,我得到了这个错误,oracle,plsql,Oracle,Plsql,-图片 我正在计算当前的产品库存。 我有产品接收表,我可以在其中计算库存。 和sales vanzari表。将代码作为图像发布通常是个坏主意 无论如何:有不少反对意见: 不要将过程或表格、列…括起来。。。名称用双引号引起来 命名参数,使其名称不同于列名,例如:编号不是cod_pds,而是编号为par_cod_pds 在声明部分声明变量,该部分介于is和begin之间。不要使用var关键字。给它们命名是个好主意,这样名称就可以反映出这些是局部变量的事实,比如l_stoc_pds number 不要
和sales vanzari表。将代码作为图像发布通常是个坏主意 无论如何:有不少反对意见: 不要将过程或表格、列…括起来。。。名称用双引号引起来 命名参数,使其名称不同于列名,例如:编号不是cod_pds,而是编号为par_cod_pds 在声明部分声明变量,该部分介于is和begin之间。不要使用var关键字。给它们命名是个好主意,这样名称就可以反映出这些是局部变量的事实,比如l_stoc_pds number 不要在PL/SQL过程中使用exec,尤其不要运行select语句。exec在SQL*Plus中用于运行PL/SQL过程,例如exec calculstoclazi 不要选择前面带有冒号的变量,只需命名变量即可 这两个select语句完全相同;我不知道你那样做意味着什么。此外,您在cod_pds之前使用了stoc_pds,这是一个变量名,所以这是完全错误的;如果列名前面要加上某些内容,则为表名或其别名 因此,看起来像是有效的代码是这样的;显然,结果将是0。正如我告诉你的,这两个选择是完全相同的
create or replace procedure calculstoclazi
(par_cod_pds in number,
par_rezultat out number
)
is
l_stocs_pds number;
l_total_vanzare number;
begin
select sum(cantitate)
into l_stoc_pds
from receptie_marfa
where cod_pds = par_cod_pds;
select sum(cantitate)
into l_total_vanzare
from receptie_marfa
where cod_pds = par_cod_pds;
par_rezultat := l_stoc_pds - l_total_vanzare;
end;
将代码作为图像发布通常是个坏主意 无论如何:有不少反对意见: 不要将过程或表格、列…括起来。。。名称用双引号引起来 命名参数,使其名称不同于列名,例如:编号不是cod_pds,而是编号为par_cod_pds 在声明部分声明变量,该部分介于is和begin之间。不要使用var关键字。给它们命名是个好主意,这样名称就可以反映出这些是局部变量的事实,比如l_stoc_pds number 不要在PL/SQL过程中使用exec,尤其不要运行select语句。exec在SQL*Plus中用于运行PL/SQL过程,例如exec calculstoclazi 不要选择前面带有冒号的变量,只需命名变量即可 这两个select语句完全相同;我不知道你那样做意味着什么。此外,您在cod_pds之前使用了stoc_pds,这是一个变量名,所以这是完全错误的;如果列名前面要加上某些内容,则为表名或其别名 因此,看起来像是有效的代码是这样的;显然,结果将是0。正如我告诉你的,这两个选择是完全相同的
create or replace procedure calculstoclazi
(par_cod_pds in number,
par_rezultat out number
)
is
l_stocs_pds number;
l_total_vanzare number;
begin
select sum(cantitate)
into l_stoc_pds
from receptie_marfa
where cod_pds = par_cod_pds;
select sum(cantitate)
into l_total_vanzare
from receptie_marfa
where cod_pds = par_cod_pds;
par_rezultat := l_stoc_pds - l_total_vanzare;
end;
请相应地阅读并更新您的问题。您将pl/sql与sqlplus混淆。请相应地阅读并更新您的问题。您将pl/sql与sqlplus混淆。