编写一个Oracle过程

时间:2018-06-23 13:23:19

标签: oracle stored-procedures plsql

我必须创建一个oracle过程以显示带有元组索引的人员(牧师)列表。

现在,我写了这段代码(我还没有实现索引)

create or replace procedure parlamentarieslist as
    begin

    select
        ssn,
        name, 
        surname,


    from  
        parlimentaries p, 
        mandate m 
    where 
        p.ssn = m.parlamentaries AND m.legislature= (select
        max(legislature) "m" 
        from mandate);
end parlamentarieslist;

但是,oracle给我这些错误

 Error(5,3): PL/SQL: SQL Statement ignored
 Error(12,3): PL/SQL: ORA-00936: missing expression

为什么?

1 个答案:

答案 0 :(得分:0)

正如我之前在评论部分中提到的,问题是由于

  • 缺少的 INTO 子句
  • 最上方选择列表中姓氏列后的
  • 现有错字(逗号)。

通常,过程用于返回一列或单行,并且 SELECT 语句的结果可能通过 INTO 子句返回到输出参数。但是,如果要返回人员列表(多行),则以下样式可能更合适:

 `[size=$matches[1]] $matches[2][/size]`

在此处使用显式ANSI JOIN样式的SQL,而不是老式的逗号分隔的JOIN样式。