我正在尝试声明一个代表日期的变量, 我的代码看起来像这样:
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:
谢谢!
答案 0 :(得分:0)
有几点:
第二个选择没有" INTO"。为什么要执行 如果不使用结果,请在PL / SQL中选择查询。
"结束后;"你的PL / SQL块已经完成。如果你想 执行另一个查询不要结束;
为什么使用查询来执行像to_date这样的函数?你可以 做了:
mydate:= TO_DATE(' 01.01.2014',' DD.MM.YYYY');