【问题标题】:how to declare a date (with time) variable in pl/sql如何在 pl/sql 中声明日期(带时间)变量
【发布时间】:2018-03-07 22:16:28
【问题描述】:

我想在 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;

有人可以帮忙吗?我做错了什么?

【问题讨论】:

    标签: date plsql oracle-sqldeveloper plsqldeveloper


    【解决方案1】:

    如果您能解释“不起作用”是什么意思会很有帮助 - 即您收到的任何错误消息和/或意外结果。

    但是,您的程序有几个明显的问题:

    1. 您在执行块中有声明部分 - 这对您想要做的事情不起作用。 PL/SQL 程序依次由声明部分、执行部分和异常部分组成。

    2. 您正尝试在 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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-18
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 2021-07-03
      • 2020-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多