Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle存储过程_Oracle_Stored Procedures_Express - Fatal编程技术网

Oracle存储过程

Oracle存储过程,oracle,stored-procedures,express,Oracle,Stored Procedures,Express,谁能告诉我下面的语法有什么问题吗?我只是想在存储过程中运行一个简单的SELECT语句 CREATE OR REPLACE PROCEDURE PVSSRDB.GETBATTERYSTATUSFORALLLOGGERS ( p_Logger OUT e.comment_, p_tStamp OUT h.ts, p_Val OUT h.value_number ) AS BEGIN select e.comment_, max(h.ts), avg(h

谁能告诉我下面的语法有什么问题吗?我只是想在存储过程中运行一个简单的SELECT语句

CREATE OR REPLACE PROCEDURE PVSSRDB.GETBATTERYSTATUSFORALLLOGGERS
(
  p_Logger OUT e.comment_,
  p_tStamp OUT h.ts,
  p_Val    OUT h.value_number
)
AS
BEGIN
  select 
    e.comment_,
    max(h.ts),
    avg(h.value_number)
INTO
  p_Logger,
  p_tStamp,
  p_Val
FROM 
  PVSSRDB.ELEMENTS e inner join PVSSRDB.DB15MINHISTORY_00100009 h on h.element_id =e.element_id
WHERE 
  e.element_name like 'System1:H%.BatteryCondition'
GROUP BY
  e.comment_
ORDER by 2 asc
END GETBATTERYSTATUSFORALLLOGGERS;
我不断收到相同的3个错误,说明:

  • 错误(9,3):PL/SQL:SQL语句被忽略
  • 错误(23,18):PL/SQL:ORA_00933:SQL命令未正确结束

  • 错误(24,34):PLS-00103:在预期以下情况之一时遇到符号“文件结束”:(如果循环mod null pragma raise return select update with with您在2 asc下单后缺少分号

    您还需要正确声明
    OUT
    参数

    CREATE OR REPLACE 
    PROCEDURE PVSSRDB.GETBATTERYSTATUSFORALLLOGGERS (
       p_Logger OUT PVSSRDB.ELEMENTS.comment_%TYPE,
       p_tStamp OUT PVSSRDB.DB15MINHISTORY_00100009.ts%TYPE,
       p_Val    OUT PVSSRDB.DB15MINHISTORY_00100009.value_number%TYPE
    ) 
    AS 
    BEGIN
       select e.comment_,
              max(h.ts),
              avg(h.value_number) 
         INTO p_Logger,
              p_tStamp,
              p_Val 
         FROM PVSSRDB.ELEMENTS e 
        inner join PVSSRDB.DB15MINHISTORY_00100009 h on (h.element_id =e.element_id)
        WHERE e.element_name like 'System1:H%.BatteryCondition' 
        GROUP BY   e.comment_ 
        ORDER by 2 asc; 
    END GETBATTERYSTATUSFORALLLOGGERS;