Oracle PL/SQL插入带有过程的日期

Oracle PL/SQL插入带有过程的日期,oracle,date,plsql,insert,Oracle,Date,Plsql,Insert,我想通过将日期作为('19-JUN-1997')参数传递给过程,在日期表中插入日期。有人能给我举个例子吗?似乎我试图通过将变量放入中来插入日期(my_var)是做错了什么 如果您知道日期的格式(例如,dd-mon-yyyy),那么最安全的做法是将insert语句如下所示: INSERT INTO Dates (date1) VALUES (TO_DATE(v_date, 'DD-MON-YYYY'); 为了使示例正常工作,字符串日期格式必须为数据库中的默认日期格式。您可以使用以下方法获取数据

我想通过将日期作为
('19-JUN-1997')
参数传递给过程,在日期表中插入日期。有人能给我举个例子吗?似乎我试图通过将变量放入
中来插入日期(my_var)
是做错了什么



如果您知道日期的格式(例如,dd-mon-yyyy),那么最安全的做法是将insert语句如下所示:

INSERT INTO Dates (date1)
VALUES (TO_DATE(v_date, 'DD-MON-YYYY');
为了使示例正常工作,字符串日期格式必须为数据库中的默认日期格式。您可以使用以下方法获取数据库默认格式的值:

SELECT value
FROM   nls_session_parameters
WHERE  parameter = 'NLS_DATE_FORMAT'

但是,如果更改了默认格式并且您依赖它,则代码将中断。它还告诉代码读者您期望的日期格式。

您能否提供
日期表的描述?顺便说一下,看起来您正在将字符参数传递到一个需要日期数据类型的过程中。
INSERT INTO Dates (date1)
VALUES (TO_DATE(v_date, 'DD-MON-YYYY');
SELECT value
FROM   nls_session_parameters
WHERE  parameter = 'NLS_DATE_FORMAT'