是否创建返回信息的oracle PL/SQL存储过程?

是否创建返回信息的oracle PL/SQL存储过程?,sql,oracle,plsql,Sql,Oracle,Plsql,嗨, 这是我试图创建的表的模型。我想创建一个过程,返回有关Sportif中所有名称的信息,如果我们在参数中输入一项运动 例如,如果我们正在搜索世卫组织的做法 游泳 更改参数的名称,使其与表中的列不同,并在SELECT语句中使用…INTO…子句: CREATE OR REPLACE PROCEDURE CHER(pout_NOM_SPORT OUT VARCHAR2, pout_NOM1 OUT VARCHAR2) AS

嗨,
这是我试图创建的表的模型。我想创建一个过程,返回有关Sportif中所有名称的信息,如果我们在参数中输入一项运动

例如,如果我们正在搜索世卫组织的做法 游泳

更改参数的名称,使其与表中的列不同,并在SELECT语句中使用
…INTO…
子句:

CREATE OR REPLACE PROCEDURE CHER(pout_NOM_SPORT OUT VARCHAR2,
                                 pout_NOM1      OUT VARCHAR2)
AS
BEGIN
  SELECT NOM_SPORT,
         NOM1
    INTO pout_NOM_SPORT,
         pout_NOM1
    FROM SPORT, 
         SPORTIF
    WHERE ID_SPORTIF = ID_SPORT AND
          NOM_SPORT ='Natation'
END CHER;

编辑 现在我们可以看到您是如何调用您的过程的,以及您得到的错误,我们可以看到问题是您没有向您的过程传递任何参数。您需要使用以下内容:

DECLARE
  strNom_sport  VARCHAR2(100);
  strNom1       VARCHAR2(100);
BEGIN
  CHER(strNom_sport, strNom1);
END;

欢迎来到SO。请拿着这本书读一读。Oracle始终是一个很好的起点。不要在系统架构中创建表。您需要在参数中添加
,而不是在过程中硬编码NOM_SPORT。@Kumar我已经有了我的表(表中有信息)我只需要做一个程序来收集这两个人的信息tables@BobJarvis-但是,您需要修复该过程,因为提取返回多行