Oracle 过程保存 SYSDATE

Oracle procedure saving SYSDATE

作为更大过程的一部分,我正在尝试编写一些代码,将 SYSDATE 保存到一个变量中,但我 运行 遇到了问题。我将其缩小为以下内容。谁能帮帮我。

CREATE OR REPLACE PROCEDURE XXX
AS
  l_date_string VARCHAR2(50);
BEGIN

select into l_date_string '['||TO_CHAR (SYSDATE, 'MMDDYYYY-HH24:MI:SS')||']' from dual;
 
END;
/

我认为这可能是您的问题所在。

select '['||TO_CHAR (SYSDATE, 'MMDDYYYY-HH24:MI:SS')||']' into l_date_string  from dual;

注意 into 的变化。

PL\SQL中你可以赋值:

BEGIN

...

  l_date_string := '[' || TO_CHAR (SYSDATE, 'MMDDYYYY-HH24:MI:SS') || ']'; 

...

END;

如果你坚持sql你所要做的就是在select:

之后添加into
BEGIN

...

  -- standard select .. from .. with additional "into"  
  select '[' || TO_CHAR (SYSDATE, 'MMDDYYYY-HH24:MI:SS') || ']'
    into l_date_string 
    from dual;

...

END;