Oracle SQL将给定日期声明为变量

时间:2014-04-01 07:44:01

标签: sql oracle date variables declare

我正在尝试声明一个代表日期的变量, 我的代码看起来像这样:

declare
   mydate date;
begin
   select TO_DATE('01.01.2014 00:00:00','DD.MM.YYYY HH24:MI:SS') into mydate from dual;
end;

--then comes code like this, the code below works when there is no declaration:
WITH *** AS
(
),

*** AS
(
)

SELECT ***

FROM ***
GROUP BY ***

UNION ALL

SELECT ***
FROM ***

WHERE ***

上面的代码不起作用。 好吧,我不是SQL的专家,所以有任何提示吗? 我还搜索了stackoverflow,但没有找到答案。

错误日志(没有帮助):

ORA-06550: line 8, column 1:
PLS-00103: found symbol "WITH" 
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:

谢谢!

1 个答案:

答案 0 :(得分:0)

有几点:

  1. 第二个选择没有" INTO"。为什么要执行 如果不使用结果,请在PL / SQL中选择查询。

  2. "结束后;"你的PL / SQL块已经完成。如果你想 执行另一个查询不要结束;

  3. 为什么使用查询来执行像to_date这样的函数?你可以 做了:

  4.   

    mydate:= TO_DATE(' 01.01.2014',' DD.MM.YYYY');