我想在pl / sql中使用日期(DD / MM / YYYY HH:MI:SS)变量。我正在使用以下代码,但它不起作用:
BEGIN
declare dateMig date ;
dateMig := to_date('19/05/2017 05:05:00', 'DD/MM/YYYY HH:MI:SS');
exec P_MY_PROC(100,'CHECK',dateMig);
END;
有人可以帮忙吗?我做错了什么?
答案 0 :(得分:3)
如果你可以解释你的意思,那将会很有帮助。"没有工作" - 即您获得的任何错误消息和/或意外结果。
但是,您的手术有一些明显的问题:
您在执行区内有声明部分 - 这不适用于您想要做的事情。 PL / SQL程序按顺序包含声明部分,执行部分和例外部分。
您尝试在PL / SQL程序中使用exec
调用过程。那不能用作exec
(或者,它的全名,execute
)是一个SQL * Plus命令而不是PL / SQL命令,它允许你运行来自命令行的过程,而不必将其嵌套在开始/结束块中。在PL / SQL中,您不需要使用exec。
因此,您的代码应该类似于:
declare
datemig date;
begin
datemig := to_date('19/05/2017 05:05:00', 'dd/mm/yyyy hh24:mi:ss');
p_my_proc(100, 'CHECK', datemig);
end;